1 2 3 4 5
17 18
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
It's difficult to plan a route for reallyjoel's dad so it's taking a little longer to TAS than normal did. Although I'm pretty sure the optimal start involves killing Reaper Drone and Tetron in the first 3 seconds.
Joined: 2/8/2006
Posts: 60
I would vote for simply allowing a bot that controls the input (and can decide when to input the keys) to be acceptable as part of the run. Such bot might be limited to having to input the exact same sequence each time, but simply decides when to input the next key (based on memory analysis). This would be subjective, and would require a level of technical skill from the TASer, but I'm sure in most cases someone can justify why their better run is in fact better. I'm primarily a Java programmer, and I'm am fairly sure I can simply implement my own event manager, system clock, and the wait() method to get deterministic behavior. Also I don't think that "reallyjoel's dad" difficulty was really ever expected to be beatable. Although it would be funny if it was.
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
subanark wrote:
I would vote for simply allowing a bot that controls the input (and can decide when to input the keys) to be acceptable as part of the run. ...
I don't see why we would bother with that sort of thing when we can TAS games in the more usual way (which, incidentally, allows for bots to contribute to the input if the TASer wants to put in the large amount of extra effort to do so).
subanark wrote:
Also I don't think that "reallyjoel's dad" difficulty was really ever expected to be beatable. Although it would be funny if it was.
Regardless of whether it was expected to be beatable, I would be very surprised if it's impossible to beat the first room.
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
Okay, you asked for it: reallyjoelsdad.avi Or maybe you didn't ask for it, but I felt a need to justify my previous post's assertion anyway. Again, it's just a test TAS, probably not very optimized. EDIT: I would have edited that into the previous post, but got a site error when I tried to do that. But, apparently, editing this new post works just fine...
Joined: 2/8/2006
Posts: 60
nitsuja wrote:
subanark wrote:
I would vote for simply allowing a bot that controls the input (and can decide when to input the keys) to be acceptable as part of the run. ...
I don't see why we would bother with that sort of thing when we can TAS games in the more usual way (which, incidentally, allows for bots to contribute to the input if the TASer wants to put in the large amount of extra effort to do so).
I mean this only in that there is no set hardware or configuration for PC games. Allowing a script to be part of the movie may allow for the movie to be playable on multiple systems, since you aren't aiming for fully controlling the environment. The "bot" would only define what a "frame" is. One possible metric for determining how fast a game is played is by determining the number of times the game checked the input. This completely ignores lag though. Also, love the vidoes they are quite entertaining. I didn't know that you level up by defeating bosses in that difficulty, which really helps. Normally I would suggest YouTubing these, but you would probably be flamed into oblivion for "cheating". Edit... I vote no, because you only beat the first room. Rumor has it the key to beating the second room is by using a super secret technique whose sequence is the first odd perfect number in base 4, where <- is 0, -> is 1, ^ is 2, and v is 3.
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
subanark wrote:
Allowing a script to be part of the movie may allow for the movie to be playable on multiple systems, since you aren't aiming for fully controlling the environment.
But I am aiming to fully control the environment, or at least, all parts of the environment that have any effect on the game logic of any games that are supported. When you think about it, I must be controlling an awful lot of the environment already, because otherwise these movies wouldn't even sync reliably on my own computer due to tiny timing differences from disk or CPU cache contents or the OS running background processes at different times and causing changes to the game's randomness and such. And of course while recording, if the speed my computer runs the game at mattered at all, then I wouldn't have been able to use tools like frame advance and fast-forward without causing desyncs all over the place. As for the multithreading unpredictability issues I mentioned earlier, I have an option that completely turns off multithreading (only the main thread is allowed to be created) and the game still syncs the same with that option on (the same goes for Cave Story and Iji and probably many other games), so I'm confident that's a non-issue in this case too.
subanark wrote:
The "bot" would only define what a "frame" is.
Ah. I think what you're suggesting really isn't that different from what I'm already doing. But I'm trying to keep things simple, so the definition of what a frame is will be an automatic, built-in concept as far as I can make it, rather than some extra thing the TASer has to worry about creating.
Skilled player (1417)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
Would MegaMari work on this thing?
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.
Joined: 5/22/2009
Posts: 26
MegaMari would be an awesome candidate for a TAS =) I'm also interested in this, I'm pretty certain that a TH09.5 - Shoot the Bullet / TH12.5 - Double Spoiler TAS can be quite awesome under the right conditions (all scenes; and then either max bonuses or maybe even max score) Even if it turns out not being good for a TAS, it would be a handy tool to plan runs ; the only tools we have at our disposal at the moment is slowdown and frame advance.... but no rewinding is possible and thus, no luck manipulation =/
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
Keep in mind that: 1) most of the scenes are pretty trivial; 2) in many cases, max score requires a lengthy setup to catch more bullets in the frame. In regards to Touhou games, Perfect Cherry Blossom would likely benefit the most because its scoring system is the hardest to max out. Most runs by HS参謀 are pretty damn awesome, though. Fairy Wars would be nice as well.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Joined: 1/3/2010
Posts: 16
ZeXr0 wrote:
scrimpeh wrote:
sticktendo wrote:
Man, if this could work, I'd love to see some more PC game TASes.Can anyone say "I Wanna Be the Guy?"
IWBTG has the same problems as Kaizohacks. Near perfect play is required to even progress, so any TASing wouldn't be significantly faster than an otherwise perfect non-speedrun and rather dull.
I think the level of play required to merely progress in IWBTG is a lot further from perfection than that. And what little TASing I've done of it so far suggests that there are plenty of little unintended timesavers (things you're unlikely to see outside of a TAS because of how risky they are). Plus, there's enough going on in IWBTG that most viewers probably wouldn't find a quick movie of it dull.
No I don't think IWBTG would be a dull TAS, there are indeed many things one could do for entertainment. And many parts that could be optimized far beyond human possibilities.
subanark wrote:
I would vote for simply allowing a bot that controls the input (and can decide when to input the keys) to be acceptable as part of the run. Such bot might be limited to having to input the exact same sequence each time, but simply decides when to input the next key (based on memory analysis). This would be subjective, and would require a level of technical skill from the TASer, but I'm sure in most cases someone can justify why their better run is in fact better.
I have actually made something like this. But not by memory watching, but by watching the screen. Basically it holds a certain key to move, until a pixel turns a certain color, on which it hops to the next step. It was quite a long-dreaded script, but it could easily be written to a input-file, compressing all required data for the script. I managed to clear a few screens using this technique, I haven't had it desync once. You can see it on youtube.com/cxgamer, sorry I can't link to the video, as my school network blocks it (no proxies, no vm's either). Though obviously I wouldn't vote this being allowed, as this can't be a long-term solution. I wish I had the programming skills to contribute to this awesome project, I'm learning as fast as I can. :P
Banned User
Joined: 6/18/2010
Posts: 183
CAN YOU TAS THAT PINBALL GAME THAT CAME WITH WINDOWS XP!?!?
Joined: 1/3/2010
Posts: 16
3D pinbal: space cadet would be the official name. :P
Joined: 7/29/2009
Posts: 55
Minesweeper Clone has timing to the thousandth of a second. I wonder how fast a bot could solve Minesweeper. I may try to make one, but I'm not good at programming and most downloadable bots abuse the the mine revealing glitch.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Potato Stomper wrote:
Minesweeper Clone
The "infamous 0.97 beta version" section is interesting. I suppose (well, hope) the author learned the importance of backups.
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
Update: I started working on this again a little. Sorry it's taking so long. I think I've finally solved the Iji desync issues (enemies had different randomness every playback of a movie file, but now it's consistent), so I'm moving on to other things (for example, I added OpenGL support for games like Tumiki Fighters, which is TASable now too).
Ferret Warlord wrote:
Would MegaMari work on this thing?
I just added D3D9 support too, so, yes. The Touhou games I've tried all seem to be pretty TAS-friendly in terms of sync-stability and such.
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
I love you.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
Oh my god. would games such as the ones from Alpha Secret Games work? a vid http://www.youtube.com/watch?v=DM1lTWL6ylg they're pretty simple I think, downloadables with an .exe to play them IIRC
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
ALAKTORN wrote:
would games such as the ones from Alpha Secret Games work?
Yes, they work. At least I made sure "Rotate Gear" is TASable. I also confirmed that Streets of Rage Remake works.
Player (150)
Joined: 11/27/2004
Posts: 688
Location: WA State, USA
Woah. I was just about to ask a couple days ago if this was still being worked on. Keep up the good work. Do Multimedia Fusion games (read: Lyle in Cube Sector) work?
Nach wrote:
I also used to wake up every morning, open my curtains, and see the twin towers. And then one day, wasn't able to anymore, I'll never forget that.
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
nitsuja wrote:
ALAKTORN wrote:
would games such as the ones from Alpha Secret Games work?
Yes, they work. At least I made sure "Rotate Gear" is TASable. I also confirmed that Streets of Rage Remake works.
OH MY FUCKING GOD I LOVE YOU
Rolanmen1
He/Him
Experienced player (765)
Joined: 2/20/2009
Posts: 569
Location: Dominican Republic
What about RosenkreuzStilette?
Joined: 4/2/2007
Posts: 68
Location: Latvia
Hey, would ElastoMania work on this?
This is a block of text that can be added to posts you make. There is a 255 character limit
Joined: 1/3/2006
Posts: 334
Well HOW would this work anyway? What would the interface look like? And when do you think we could see some more test movies or an early alpha build?
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
RT-55J wrote:
Do Multimedia Fusion games (read: Lyle in Cube Sector) work?
They didn't, but now Lyle in Cube Sector works. EDIT: oops, except it's missing video output in AVI capture, shouldn't be hard but I still need to add that. EDIT2: added, it's fully supported now. The v1.04 version at least, and some other MMF games like IWBTG and Legend of Princess.
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
One more time... does everyone still like the name "Hourglass"? The main thing I didn't like about that name was how ubiquitous a word it is (hard to search for, and there must be programs already called that). Right now it's still called winTASer, which I don't think is such a bad name really, but I could see it switching to Hourglass, or something else if anyone has any new ideas on the name.
Rolanmen1 wrote:
What about RosenkreuzStilette?
Most likely. At least, a (somewhat old?) demo version I tried worked quite well.
Xarthok wrote:
Hey, would ElastoMania work on this?
It doesn't yet. That game apparently does all of its drawing by locking the frontbuffer and setting pixels in a palettized display mode, which fails to fit the pattern of other games I'm supporting in at least 3 different ways. I don't think there would be anything truly difficult about adding support for it, though. (Just a little time-consuming.)
Phallosvogel wrote:
Well HOW would this work anyway?
It works very similarly to kkapture (except trying to do a lot more than just recording), combined with kind of a debugger for maintaining interactive control over and getting feedback from the game. Movie input is recorded at a fixed framerate that you have to specify before creating the movie, but if you choose a framerate that's higher than the natural speed of the game, "lag frames" will automatically be inserted to compensate, so even games that are supposed to run at weird or variable framerates are supported. Like in re-recording emulators, there is built-in AVI recording, and you could record to AVI while playing the game if you want to but it makes more sense to wait until movie playback to do that. Pause and frame advance are implemented by suspending threads, and controlling timing. Fast-forward is implemented by simply switching off delays while continuing to track them. Savestates are implemented by reading from or writing to all of the game process's writable RAM.
Phallosvogel wrote:
What would the interface look like?
The interface has two parts. The first part is the TASer program, which is basically just a movie play/record dialog with some menu options and the ability to select and launch a game. The second part of the interface is what you actually use to do TASing, which is the game itself after it starts up, i.e. there is no special interface except for the fact that you can press various hotkeys in the game (fast-forward, frame advance, pause/unpause, savestate/loadstate 1-10, and toggle movie read-only). The game is (optionally) forced to run inside a window if it's a fullscreen game, so that you can still see the TASer program in the background, which continues updating its frame count display and stuff while the game is running (and can still be used to configure options or initiate actions such as starting an AVI capture). The TASer program itself currently looks like this:
Phallosvogel wrote:
And when do you think we could see some more test movies or an early alpha build?
The compatibility list I've been neglecting maintaining looks like this right now:
                         1: Timing
                               2: Stability
                                     3: Pause and Frame Advance
                                           4: Savestates
                                                 5: Playback Sync
                                                       6: AVI Video recording
                                                             7: AVI Audio capture

                         1     2     3     4     5     6     7
            Cave Story:  good  good  good  good  good  good  good  !!
             La-Mulana:  good  good  good  good  good  good  good  !!
              Ika-Chan:  good  good  good  good  good  good  good  !!
              Eversion:  good  ok    good  good  good  good  good  !!
        Bunny Must Die:  good  ok    good  good  good  good  good  !!
Streets of Rage Remake:  ok    good  good  good  good  good  good  !!
              MegaMari:  ok    ok    good  good  good  good  good  !!
     Super Marisa Land:  ok    ok    good  ok    good  good  good  !!
                   Iji:  ok    ok    good  ok    good  good  good  !!
       Tumiki Fighters:  ok    ok    good  ok    good  ok    good  !!
   Rescue: The Beagles:  good  good? good  good? good  good  good  !!
            RotateGear:  ok?   good? good  good  good  good  good  !!
             Hero Core:  ok    ok    good  good  good  good  good  !!
Perfect Cherry Blossom:  ok?   ok?   good  ok?   good? good  good  !
    Rosenkreuzstilette:  ok?   ok?   good  ok    ok?   good  good  !
      Eternal Daughter:  ok    ok    good  ok    ok?   ok    BAD
   Lyle in Cube Sector:  good  ok?   good  ok?   ok?   NO    good? 
  Within a Deep Forest:  ok?   ok    ok    ok    BAD?  NO    good
    I Wanna Be The Guy:  ok?   ok    ok    good  good? NO    good

!! == Fully TASable (criteria: everything is "ok" or better, and playback sync must be confirmed "good")
!  == Possibly TASable (criteria: everything except stability is "ok" or better)
?  == item not fully tested
So, uh, it probably doesn't have very good compatibility compared to regular emulators for other platforms, and there are many games that almost but don't quite work yet so it's tempting to keep expanding the list of compatible games, but I guess I should make an initial release sometime sort-of soon because I'd like to get to the point where somebody else than me would be willing to make contributions to the code. The main things preventing a release right now are kind of stupid things such as the hotkeys not being configurable yet and the movie file format not storing some things that can affect movie sync and the source code having lots of commented-out temporary testing stuff that should be cleaned up. (That, and some of the recent changes I've made need to be verified on more computers, in case some things need to be reworked to be more compatible.)
1 2 3 4 5
17 18