Active player (279)
Joined: 4/30/2009
Posts: 791
Yeah I've been looking over the Special Stages myself. Stage 1 probably has no improvements, it is a simple enough stage. Stage 2 has the slight improvement I illustrated in my previous post. Possibly more based on planning trips over the dividing areas designated by the red spheres The stage with six sets of 9 + 4 individual blue spheres certainly has room for improvement, I think. Again, it follows the same principle as the second stage improvement - going over all the spheres in the block rather than just tracing the outside, which as shown can be slightly slower. Avoiding rings for the count up may be good for reducing the count-up time, but it comes at the cost of saving overall more time in the actual special stages themselves. Stage 7 could be improved by continuing to run backwards into the last set of blue spheres at the end of the level rather than turning around. There are probably similar improvements based on these observations in the other special stages. This is only coming from a casual observation and I've not really studied close enough an improved route for any of the stages, minus the minor improvement to the end of SS 2 I discussed.
Joined: 10/20/2006
Posts: 1248
Like I've said, the improvement you proposed is actually slower. (slightly faster at speed level 1, but slower at faster speeds) Not sure about the others, haven't really looked into them. Edit: I guess the routes were copied from [URL=http://tasvideos.org/1378S.html]here[/URL].
Thanks to [...] SprintGod and Mike89 for their great help in planning special stage routes.
mike89 wrote:
You'd be surprised how much time went into the bonus stages. I remember one night Upthorn, Sprint and I poring over the map for the last super emerald stage, and each coming up with entirely different routes that differed by probably half a second total. Mine was the fastest, and Upthorn made a couple of improvements to it to present what you see there.
So, I guess improving on them would be quite hard if it's even possible.
marzojr
He/Him
Experienced player (761)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Kuwaga wrote:
I guess the routes were copied from [URL=http://tasvideos.org/1378S.html]here[/URL].
Aye, it is; I stated as much earlier.
Marzo Junior
Emulator Coder, Skilled player (1310)
Joined: 12/21/2004
Posts: 2687
Try watching some S3&K movies with this script. It attempts to detect and eliminate "boring things", such as special stages and zipping and super music... (But don't run it at the same time as that other ghost script I posted earlier. I think there's some bug in Gens I didn't know about until now that causes huge obvious desyncs if those two scripts are both active.)
Joined: 6/14/2004
Posts: 646
I think I'm going to have that last function running for every playthrough I do from now on.
I like my "thank you"s in monetary form.
Player (37)
Joined: 9/9/2006
Posts: 388
nitsuja wrote:
Try watching some S3&K movies with this script. It attempts to detect and eliminate "boring things", such as special stages and zipping and super music... (But don't run it at the same time as that other ghost script I posted earlier. I think there's some bug in Gens I didn't know about until now that causes huge obvious desyncs if those two scripts are both active.)
Funny fact about that script. Use that same script with my "Sonic2 GetAllEmeralds" recording. See what happens.
A whisper in the wind~~
marzojr
He/Him
Experienced player (761)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Using the sample scripts as models (as well as the script from this thread), I made a Sonic HUD lua script that has loads of relevant and interesting data; here is an example of it in action: The "status icons" between the score/ring/emeralds HUD and Tails' HUD only show for the relevant condition: in this case, a spindash being charged (displaying charge, at 100%), speed shoes (remaining frames), super transformation (remaining frames) and Tails remaining flight time (in frames). Invulnerability time, invincibility time (after being hit, for both players) and Tails' spindash charge are also displayed. The HUDs are only shown in "non-boring" more (using the same definition that Nitsuja used in his script) and Tails (and his status icons) only appear in Sonic + Tails mode (his status icons do if you are playing as Tails). I used the GDlua library to convert several PNGs to the Lua format; the resulting images (which I saved with a "luaimg" extension) must be used alongside the script (and they total 50kB, or 10kB in 7z format). Using this format, GDlua is not needed at all for using the script; but there is the problem or distributing the images. Does anyone know a good place to upload lua-style images? ImageShack doesn't accept them. For what is worth, the HUD script is here; it will not work without the images, though.
Marzo Junior
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
Might I suggest Media Fire? The least annoying of the ad-supported free uploading services.
How fleeting are all human passions compared with the massive continuity of ducks.
marzojr
He/Him
Experienced player (761)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Thanks. Here is a 7z-package containing the script and luaimg files. It is intended to be extracted directly into the Gens directory: this should create a "lua" directory with the script in it and a "lua/img" directory filled with "*.luaimg" files. I updated the Pastebin version to point to the same location too (previously, it looked for the "*.luaimg" files in a "luaimg" subdirectory of the Gens directory). Edit: I have updated the script to be accurate down to the frame for speed shoes, invincibility and flight countdowns. The updated version is here (Pastebin, script only) and here (Mediafire, script and images). I updated the link above too. (edit 2: and I fixed the last uploads to actually work)
Marzo Junior
marzojr
He/Him
Experienced player (761)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
WIP until end of IceCap 1. Supersonic can go no further with the snowboard at the start, so I ditch it: having the snowboard makes all jumps very low, but give high horizontal speed just by touching the ground. By the end (around 1:06), climbing the slope to the right (as Super Knuckles does in Upthorn's run) would have left me without the swing I use in 1:12; spindashing all the way to the right and back gives it back, but it is slower than the WIP (by about 105 frames). Likewise, glitching into Knuckles' route and fighting Knuckles' boss is 130 frames slower (despite the fact that the higher ground makes killing the boss faster).
Marzo Junior
Player (37)
Joined: 9/9/2006
Posts: 388
Encode of Carnival Night Zone Act 2 Split-screened with Cam-Hack on the right side.
A whisper in the wind~~
marzojr
He/Him
Experienced player (761)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
WIP until end of IceCap 2. I am not happy about this one, but I don't think there is much to be done here. I tried to pick the 3 ring monitors after the act 1 boss, but all attempts failed to get the third monitor out of the ground. It might save some time, but not enough. The lack of lightning shield hurts my start, but it hurts even more at 0:22-0:25: it seems to be impossible for Supersonic to reach the ledge (at least it defied all my tries), and the bottom route is slower. Reaching that ledge would net me at least 3 seconds, possibly 4 or 5; as is, I am 1:45 slower than Sprintgod's run. I don't think that getting the lightning shield back in act 1 is worth it, and it will definitely make Supersonic more likely to show up in act 2.
DDRKhat wrote:
Encode of Carnival Night Zone Act 2 Split-screened with Cam-Hack on the right side.
It is nice to see it in real-time and without all the junk that makes it easier to TAS. But maybe having a dividing line of some sort between the two screens would make it easier in the eyes, though; it is hard to see where one screen ends and the other begins in some points.
Marzo Junior
Player (37)
Joined: 9/9/2006
Posts: 388
marzojr wrote:
DDRKhat wrote:
Encode of Carnival Night Zone Act 2 Split-screened with Cam-Hack on the right side.
It is nice to see it in real-time and without all the junk that makes it easier to TAS. But maybe having a dividing line of some sort between the two screens would make it easier in the eyes, though; it is hard to see where one screen ends and the other begins in some points.
Indeed, unfortunately I go for simple free tools to keep quality at it's best, so I don't sadly have that option. It was put together using VirtualDub. I must admit when I watched it myself I found it a touch confusing. If you don't mind when you have another large segment like that I'll try different recording techniques, see if I can get a natural gap between the 2 videos from GENS itself.
A whisper in the wind~~
Joined: 5/2/2009
Posts: 656
DDRKhat wrote:
Encode of Carnival Night Zone Act 2 Split-screened with Cam-Hack on the right side.
Oohhh, now IT MAKES SENES...
My first language is not English, so please excuse myself if I write something wrong. I'll do my best do write as cleary as I can, so cope with me here =) (ノಥ益ಥ)ノ
Active player (279)
Joined: 4/30/2009
Posts: 791
Going into Knux's Ice Cap 1 boss might be a bit slower, but is the Knuckles Ice Cap 2 stage faster for Sonic, or is doing the regular route faster?
Player (51)
Joined: 4/10/2009
Posts: 226
you have to get the ring monitors in a certain order which changes each time you beat the boss. couldn't you do the boss skip or would knux route in IC2 be too much slower?
marzojr
He/Him
Experienced player (761)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Knuckles route is quite slower -- for Sonic or Supersonic at least, but Hypersonic would do very well (as might Sonic with a bubble shield, but this is more doubtful). Take the purple launcher I use at around 0:08: I have to take at the very least 3 of them in the bottom route, and it costs time (see this map, by Upthorn). I need to hit it from above with a certain minimum vertical speed in order to propel up enough to reach the higher ground; Knuckles' glide makes that more effective (as would Hypersonic's hyperlaunch, and so might a bubble bounce). After that, a properly timed jump is invariably better than letting the thing launch me. But it costs a lot of time, and this is time spent moving only vertically. Properly optimized, I estimate that this route is, at best, 1 or 2 seconds slower than the current WIP. And for what is worth, I was vastly overestimating the effects of reaching the ledge: I made a try with Hypersonic, using the Hyperlaunch to reach the ledge. It "only" saves about 2 seconds.
FuzZerd wrote:
couldn't you do the boss skip
What boss skip?
Marzo Junior
marzojr
He/Him
Experienced player (761)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
New WIP up to IceCap 2. Earlier Supersonic + better optimizations along the way mean a full second faster than the previous WIP, at the expense of more time after the act 1 boss to get all 3 monitors. It is still 45 frames slower than SprintGod's run, though.
Marzo Junior
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
marzojr wrote:
It is still 45 frames slower than SprintGod's run, though.
Is this including the time spent in special stages?
How fleeting are all human passions compared with the massive continuity of ducks.
marzojr
He/Him
Experienced player (761)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
upthorn wrote:
marzojr wrote:
It is still 45 frames slower than SprintGod's run, though.
Is this including the time spent in special stages?
Sorry, I was unclear: this is comparing the in-game time in IceCap 2 only (the timer stops at 0:41:06 in SprintGod's run, 0:41:51 in my last WIP). If time in special stages is included, I am several minutes slower (the last hit on the boss of IceCap 2 happens in frame 77887 in my run, and in frame 52171 in SprintGod's run; that's a difference of 7:08::36).
Marzo Junior
Player (51)
Joined: 4/10/2009
Posts: 226
if I'm not mistaken you can skip knuckles boss by spindashing from the right position. I doubt it would save enough time to be worth it, but you could start icecap2 with super sonic that way.
marzojr
He/Him
Experienced player (761)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
A quick question (probably for Upthorn): how does the Gens maphack work (SONICMAPHACK from hackdefs.h)? I ask because I assume that several maps from the Sonic Center were made by Upthorn with it, but there are several maps still that are not (Launch Base 1 & 2, Flying Battery 1 & 2, Sandopolis 1, Lava Reef 1 & 2, Hidden Palace, Sky Sanctuary and Death Egg 1 & 2), being Stealth's version (which do not have rings and big rings, being less useful for Super/Hyper Sonic planning). I also threw Hidden Palace in the mix just to be complete, it actually makes no real difference in this case. (by the way: in the latest SVN, defining SONICMAPHACK causes a compilation error unless I include the "io.h" file, say at line 1694 of SonicHackSuite.cpp)
Marzo Junior
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
marzojr wrote:
A quick question (probably for Upthorn): how does the Gens maphack work (SONICMAPHACK from hackdefs.h)? I ask because I assume that several maps from the Sonic Center were made by Upthorn with it, but there are several maps still that are not...
It's kind of awkward to use. Not so much because the of the hack, but because of how finicky the game is about camera scrolling, and how incredibly many moving objects there are in levels. And, in S3K, the scrolling code is entirely level specific, so the cap on how many pixels the camera can move per frame (which currently requires recompilation to modify), can vary significantly from one zone to the next. So, with all this in mind: in sonichacksuite, set the #define for SCROLLSPEED to how many pixels you want the camera to move per frame, and POWEROFTWO to the scale factor. POWEROFTWO at 0 makes a 1:1 map, at 1 it makes a 1:2 map, etc. once you've got it compiled, use the following keys to control it:
  • Scroll Lock: toggles maphack on and off, and has the opposite effect on camhack so that (maphack and camhack will never be active simultaneously).
  • I: moves the camera up half a screen.
  • J: moves the camera left half a screen.
  • K: moves the camera down half a screen.
  • L: moves the camera right half a screen.
  • ,: teleports sonic to the center of the screen.
  • .: scrolls the camera to center on sonic.
  • S: takes a manual screenshot to the map.
  • B: dumps the map to mapcap.bmp
  • Caps Lock: toggles automatic screenshots after every time the screen is scrolled.
Because certain events can be triggered by the camera position, and the game can be very uncooperative with forced-backwards scrolling, I suggest the following procedure:
  1. Go to level select
  2. Enable the maphack
  3. Hold J for several seconds, then hold I for a similar amount of time
  4. Make a save state in slot 9
  5. Enter the desired level (maphack should still be active)
  6. When the level is finished loading, make a save state in slot 0 (the camera should be all the way at the left edge of the level, and a half-screen above the top)
  7. Turn on caps-lock
  8. Hold L until the scenery starts to repeat
  9. Wait for the camera to stop moving
  10. pause
  11. load last state
  12. hit K once
  13. Wait for the camera to stop moving
  14. save state 1
  15. Repeat from step 8 until you have scanned the bottom of the level
  16. load state 0
  17. hold K until the screen stops moving down
  18. press B
  19. scroll the screen once in any direction. The game should pause and the sound should become choppy for several seconds while it dumps the map.
  20. turn off caps-lock
  21. Load state 0
  22. review the map
  23. manually deal with any situations that it did not capture well. (like bosses)
  24. press B
  25. scroll the screen once in any direction. The game should pause and the sound should become choppy for several seconds while it updates the map.
  26. repeat from step 21 until the map satisfies your needs.
  27. close the emulator to free memory
  28. open the map in your preferred image manipulation program (I use paint.net)
  29. crop to the level boundaries and save as png
Once you get a good rhythm, it should take around 45-90 minutes per act.
How fleeting are all human passions compared with the massive continuity of ducks.
marzojr
He/Him
Experienced player (761)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Does numlock have any special effects? I am finding that I can't scroll the screen if numlock and capslock are both on, but capslock on and numlock off scrolls automatically (including "correcting" any initial downward scrolls with k) scanning the level from left to right, top to bottom. Moreover, this automatic mode end up resetting the game partway through Launch Base 1 (even if I force Sonic to remain in the center of the screen).
Marzo Junior
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
marzojr wrote:
Does numlock have any special effects? I am finding that I can't scroll the screen if numlock and capslock are both on, but capslock on and numlock off scrolls automatically (including "correcting" any initial downward scrolls with k) scanning the level from left to right, top to bottom. Moreover, this automatic mode end up resetting the game partway through Launch Base 1 (even if I force Sonic to remain in the center of the screen).
Err, yeah, numlock disables it all for some reason (it was like that when nitsuja first made it). I didn't think I'd commited the capslock -> autoscroll changes to the svn... It will stop doing that and let you scroll manually once it's done a complete sweep, and the game resetting doesn't make it lose its place, but loading a savestate before it finishes will, so just fastforward for a while once that happens. I think you should be able to keep track of the camera position by watching FFEE00 and FFEE04.
How fleeting are all human passions compared with the massive continuity of ducks.