Posts for Dromiceius


Experienced Forum User
Joined: 10/3/2005
Posts: 1332
DaTeL237 wrote:
Here's some commercials of a dutch insurance company.... they *always* have awesome ads on telly! There's loads more btw.. just youtube-search for "Achmea Centraal Beheer" or see that user's playlist ("even Apeldoorn bellen" means "time to call Apeldoorn" which is the city the company is located)
Nice. Though I wonder how much deliberate destruction of your own property they actually ensure. o_O Apropos of nothing: Squirrels + cats = aww.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
antd wrote:
Ok, thanks. I PM'd him. Couldn't we modify this Java thing to somehow look at the attack value in PCSX address space. Then it could just stop brute forcing once it sees an attack of over 50? at this point in time, any attack over 50 would be critical. It takes less than 15 frames to see if an attack is critical or not. So it would be quite fast.
I'm sure it's possible, but there doesn't seem to be any such library in Java itself. I know for certain that AutoHotkey can both send input to an emulator, and call any Windows function (such as memory reading) so that's another option. By the way, how well does FF7 sync when you're TASing? If it desyncs even occasionally, that could be a problem.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
antd wrote:
was apo's post directed to me?!
I... think so. I just assumed he was intending you to use the code he posted. Roughly, you'd copy the pastebin he linked into a text file, save it as something like "c:\stuff\bot.java", and then press winkey+r to open the Run box, and compile it by entering "javac c:\stuff\bot.java" You'd could then run the bot by entering "java bot" and a GUI would appear. It would apparently automate the input and frame-advancing part of the manipulation for you, but wouldn't be able to tell if something good or bad happened from a particular set of inputs. Still, not a bad trick, if it works. I could be wrong about any of that, though; I know little about Java.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
antd wrote:
It dies way before then :D This is my best attempt. It's from my previous run though. Looks easy... http://www.youtube.com/watch?v=k1SM2NUraWQ Oh, the only thing worth mentioning to do with the strat is Barret needs to pull off a critical limit break.
LMAO. Was not expecting that. :p If Apo's Java thingy doesn't work out, I'll see if I can get PCSX working next week.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
Warp wrote:
Wouldn't it be better and handier to distribute program shortcuts and files hierarchically inside folders and subfolders? If you need a program once of twice a week (or even once a day), it's IMO not such a big burden to navigate to the folder where it's located.
IMO, it's a serious nuisance. You might need a given app once a week, but how many different apps do you need on a given day? You have to navigate to all of them individually. I used the hierarchical approach for a long time, but gradually became dissatisfied, and convinced that there were better ways to do it. My solutions- which evolved into just using a CLI and hotkeys- never included putting icons on my desktop, but I can easily see how that would be a good combination of simplicity and effectiveness for most users who don't really care so much about this sort of thing. I preferred a sidebar over the desktop. Just drop a folder of shortcuts onto an edge of the screen and set it to "list" view. It's like a hybrid desktop/start menu.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
Administrapo.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
Apo123 wrote:
I could probably write something very simple in Java that you could use to brute-force. You'd have to record the results manually (OCR libraries are unreliable, and I don't know of any way to read the internal memory of another program).
You mean OCR as in optical character recognition? I think I'd rather use AutoHotkey for that... but even then, I assume the hit sparks would occasionally occlude the damage numbers on striking an enemy and muck up everything, so maybe not. FYI, [url=http://memoryhacking.com[/url]Memory Hacking Software[/url] can also do memory search on any running process (in userland, at least.) It also has a bunch of other hacking tools and a scripting language with some Win32 API wrappers, some of which are able to send simulated input. For whatever reason, I could never get that working when I tried it with FCEU a couple years ago, but it definitely seems within the realm of possibility. But yeah, I think hacking teh src should be fine, assuming I can cross-compile.
antd wrote:
There's no real strategy, just critical hits and making GS hit the right person with the right attack. The latter part is no problem.
Huh. So do you attack even if the tail is up?
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
I liked the glitches. They were all pretty interesting. There are some parts where you use the same combo over and over, but other than that the fighting was pretty good, too.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
Less is definitely more in this case. Yes vote again.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
ShinyDoofy wrote:
Cpadolf wrote:
At this point I really do think the movie should be rejected just because it was made by nineko. I also think it would make him happier.
Yeah, to prove his point that everybody hates him. By the way, why isn't this rejected anymore? Did this get lost in the transition?
I wasn't aware of this having been rejected, but I assume that's not what you meant...
mmbossman wrote:
Imagine that, uncanceled and last edited by nineko. Rediculous.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
antd wrote:
http://www.youtube.com/watch?v=aU20qM6TSt0 Before Guard Scorpion I am up to the guard scorpion fight. I cannot continue until someone makes something that makes critical-hits easier :P It will not be good if I do this manually. There are far too many possibilities to try out. It's virtually impossible for me to do the optimal strat here
I'm not sure how ZeXr0 fared with his efforts. We talked a bit on Friday, but the site's been down most of the time since then. If that doesn't work out, I should still be able to get around a few bugs in PCSX and hopefully cross-compile you an exe that has a TAS the battle for me (TM) button hacked in. Though, I'm not sure how that's going to work. My first impulse is to make the dumbest bot possible. It would probably work in all battles, but that's probably a bad idea if there are already ideal strategies (i.e., sets of battle commands that could be hard-coded into the bot) that just need a lot of luck manipulation. So... what's the strat?
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
OmnipotentEntity wrote:
There needs to be a way to TAS this.
I had an idea to use L.Spiro script (the scripting language of Memory Hacking Software) to copy/paste process memory, with the aim of simulating rerecording in a PC game. It wouldn't be easy, since you have a running kernel to deal with, which would be constantly messing with system resources, and which can't be tampered with. I think the best option would be DLL injection. One could hypothetically reverse-engineer the game to get an understanding of its memory structures, and then write savestate/movie recording support+hotkeys, and then treat the game itself as though it were a TASing emulator. There's also a version of GDB that can be scripted using Python. I don't yet fathom how useful that could be, especially if it were extended to suit the purposes of TASing. I do know that vanilla GDB can breakpoint (frame-advance) and modify memory and CPU registers (save state), so if you were to script that in Python, you would conceivably be able to do both on the fly, and thus create passable tool-assistance.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
pirate_sephiroth wrote:
Yeah, M1 is the only option for arcade games... it's old and outdated, but it's pretty good. But winamp has all these plugins AND global hotkeys as well.
Winamp is probably better for most users. I stopped using it for a bunch of reasons, mainly that the installer tried to sneak AOL spam onto my computer. The lists work great, BTW. Thanks.
Post subject: Re: Curious facts: The ban
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
It's kind of surprising it took so long for him to get banned, but I guess not many people paid attention to his anti-semitic rantings on IRC.
Kirkq wrote:
I must say I wasn't really impressed with the entertainment of his run, but his technical skill was quite good if his goal was to get people irritated. 3/7.5
Indeed. That kind of technical level only comes with extensive tool-assistance.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
Solon wrote:
mmbossman wrote:
He was a good entertainer, but it's nice to know another pedophile is off the street.
Was he ever convicted of anything?
Nope.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
Ah. You're right. I just assumed from the makefile that Linux support was kaput, since it assumes win32. I'm up to linker errors now. Doesn't look like this will take too long. I see... There's a separate makefile for Linux. Built it, but it's not finding any plugins yet. I'll have to fix that later and then try botting.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
ZeXr0 wrote:
Which IDE or compiler should I use for this ? I'd prefer tools on Windows 7, but I can use Ubuntu if it's only available on Ubuntu (I really prefer Windows 7, the setup is better for programming).
Ach, I wish it compiled under Linux, or I'd have done this myself. Much thanks for making the attempt, ZeXr0. The project builds under the GNU toolchain rather than MSVC. You'll need to install MinGW. Judging from the Makefile, it's expecting GCC in the 3.X.X range, which I believe comes with the installer. The installer should also provide you with an x-terminal. Hopefully, running make in the term will build cleanly.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
My old playlist. It's about 150kb. I just kinda added everything I had one day, and gradually deleted things I didn't like. Might as well post it, why not.
If you have something from other systems, please tell us where to get the player too.
I used Foobar2000 on Windows, which beats the shit out of anything I've used on Linux. It's very customizable, and the playlist searching is fast. You also can use global hotkeys to call the "jump to file" dialog. The plugins aren't as good as you can get in Winamp, though. The smart thing for Linux users is probably to use Winamp through Wine and dump everything to MP3, then use MPlayer or whatever. Storage is worth less than the time spent sifting through all this crap... Lots of people like Audio Overload, but it's 1) closed source 2) CLI-impaired and 3) doesn't seem to support minipsf. I use Audacious, which has its problems, but I find it the most serviceable player available. It's open source, and you can get it via APT. It's missing support for GSF, 2SF, USF, and miniPSF. I was able to build and run from source, though- maybe I'll fix that eventually. For GSF and 2SF formats, there's playgsf and vio2play, both open source and reasonably complete standalone players. M1 seems to be the only choice for playing arcade chiptunes. You don't need ripped *SF-style files to play arcade music, as this program plays the ROMs directly. M1 has some kind of playlist support (which is the alternative to the tracks repeating forever) but I haven't found any such lists online. Works on Windows and Linux. (Maybe Mac, too. I dunno.)
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
You have to change the URLs into valid Microstorage links. http://dehacked.2y.net/microstorage.php/info/1459389776/randomname.vbm
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
I was undecided, but the arguments for #2 are pretty convincing. Wobbling isn't interesting, and arbitrarily choosing when and when not to trade for entertainment doesn't sound very practical.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
Tombad wrote:
I'd assume you could combine developer designed blocks of a map and the procedurally generated content seamlessly so you could add certain things that repeat from game to game in different positions and arrangements. Also, I'm assuming that with switching of the terrain and restricting the layouts a bit more (to move them from the current cave-like appearance into the sharp corners and so forth of a castle) could make it generate more castlevania-esque levels.
Well... that's one way to do it. ;) It's definitely not a simple problem, but I've suspected for awhile that there are cleverer solutions to create "randomness that isn't random." Not that I have any specific ideas or anything.
Anyway, pretty impressive so far. I'll definetly take a look at the code and possibly contribute something if I find the the time and motivation (coding at work severely diminishes motivation for other coding). Do you happen to any sort of a roadmap one could look for a list of things to be done?
There's a todo.html under /html in the repo.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
Neat! I think I might actually abscond with your map generator code and use it to make a Solar Jetman clone. That screenshot you posted is very reminiscent of what you'd see in that game. Also, you can't say "Castletroid" without "castle", but these procedural maps don't seem like they'd be able to generate anything resembling man-made architecture. Any thoughts/plans on that?
Post subject: Fruityloops is fun, isn't it?
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
Tourettesguy remix: I have freedom of speech Really neat editing for the first half and toward the end. If not for the obnoxious intro and pointless interlude, and the fact that everything is duplicated four times, it wouldn't even be crappy! I should probably mention that this video is pretty much non-stop swearing.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
ZeXr0 wrote:
But I wouldn't call myself competent with C and with emulator in general.
Sorry to hear that... but maybe I can entice you anyway? Or somebody? I may have been overstating when I said "competent". Really, you probably wouldn't need more than a passing familiarity with C, especially if you're already a pro with C# or some other language. By the looks of it, you'd need some memory addresses (which Antd probably has already) and a handful of emulator functions in order to carry out some naive bruteforcing, which is surely good enough for the purposes of TASing. mz posted an example earlier that had some of the functions one would need. Assuming the "doframeadvance" and "dosendkey" functions exist in some reasonable form, it wouldn't be much more complicated than using Lua:
const int MAXENEMIES = I dunno... twelve?;
int enemystarthp[MAXENEMIES];

if(key = DOBRUTEFORCEKEY)
{
    for(int attempts = 0; attempts < 8; ++attempts)
    {
        bool IHITAGUY = false;

     	for(int i = 0; i < 4*attempts; ++i)
            doframeadvance();

        //We did the manipulation (by waiting) so send	the command to attack
        dosendkey(CONFIRM_BUTTON);

        //read	all the	enemy HP	values
        for(int i = 0; i < MAXENEMIES; ++i)
            enemystarthp[i] = psxMs8(ENEMYHPADDR*(HPOFFSET*i));

        //check enemy HP every frame; wait for an enemy to get hit
        int frameswaited = 0;
        while(!IHITAGUY) {
            doframeadvance();
            if(frameswaited++ > idunno500maybe?) break; //in case we miss
            for(int i = 0; i < MAXENEMIES; ++i) {
                if(enemystarthp[i] > psxMs8(ENEMYHPADDR*(HPOFFSET*i))) {
                        IHITAGUY = true;
                        break;
                }
            }
         }
    }
}

Of course, there'd have to be some more logic for things I didn't account for, like enemy HP being set to 0xFFFFFF on death, or whatever. Also, for the function to be useful, you'd need to track the greatest difference between initial and final enemy HP values, and finish the function by advancing the appropriate number of frames and sending the confirm key one more time. Setting the speedmode would be smart, too. Also, 8 attempts (8*4 frames = 1/2 second) is a conservative amount of time to wait to manipulate a critical, compared to AxeMan's FF1 run DQ, etc. Edit: Also, that code above is probably full of ridiculous mistakes. Still, this seems pretty doable.
Experienced Forum User
Joined: 10/3/2005
Posts: 1332
Indeed. I haven't been following progress on whatever the next run is going to be, but clearly there's going to be a lot more to it than just shaving a few frames here and there. Exciting!