Joined: 6/6/2004
Posts: 223
This game would be the concept demo to end all concept demos. Blue Sphere (the game didn't even have an official name until it was released as part of Sonic Mega Collection) is what you get from locking on Sonic 1 to Sonic & Knuckles, and it consists of an endless loop of special stages using S3&K's engine. The trick is...there are 134,217,728 levels before it goes back to level 1. I believe that puts it in the running for longest TAS, ever. The idea I had here wasn't to manually play through all the levels one at a time; that would take far too long. There would need to be some kind of program that looks to see what level it is, and generates a valid input stream for that level, continuing until all levels are complete. For maps of each level, you can look up http://drspud.no-ip.com/bluesphere/ . Basically, each map is a 32x32 wrapping square, divided into four 16x16 tiles, and there are 128 possible tile designs numbered from 0 to 127. For level N, the top-right tile is (N-1) % 128, the bottom-right is (3N-2) % 127, the top-left in (5N-3) % 126, and the bottom-left is (7N-4) % 125. 128 designs per tile and 4 tiles would dictate 268435456 possible levels. But tile 127 can only ever appear in the top right slot, as none of the other mod numbers can produce 127. Likewise, tile 126 can only appear in the two right-side slots, and tile 125 can't appear in the bottom left. Furthermore, half of the remaining layouts are disqualified, as the mod-128 and mod-126 tracks can never have differing parities, so the actual number of unique stages is 128*127*126*125/2 = 128016000. Level 128016001 is the same as level 1, but with a different number and code. Basically, you play the 128016000 unique levels, then you play clones of the first 6201728 levels, then you start again from level 1. The easiest way to go about constructing a Blue Sphere run would be to take the same amount of time for all possible tiles, found by calculating the most time-consuming tile and if faced with anything else, killing time until you've taken up exactly as much as the longest tile takes, then moving on to the next. This is because the player is forced to speed up at regular intervals, and the amount of time spent on the first tile can cause a variance in how far you are into the second tile when the speedup hits, and therefore a desync. The next step would be to go through each tile "as fast as possible", with the program figuring out how much time has passed when it's done with each tile and planning for speedups accordingly. A third step would be to see if time could be saved with unusual cross-tile cuts, but that's significantly more advanced than the other two. One goal I have in mind for this run is "uses no warps". If you get all the rings in a level, you're awarded a "Perfect," and you skip ahead 10 levels instead of 1. The run is intended to show a game with 134217728 levels in its full glory, not just 13,421,780 of them. Care must be taken not to obtain all rings. In particular, tile 49's natural path goes right through the only ring on that tile. For level 25403954, which consists of four copies of tile 49, one of the tile paths (preferably the last one) will have to be rewritten, probably as a hard-coded exception, to take a detour through the bumpers rather than collecting the last ring. The biggest problem with such a run, besides being boring when watched for any purpose besides as a concept demo for large-scale computational construction of a TAS, is that TASvideos likely doesn't even have enough space for it, and neither does the typical viewer. Even if each level and its completion screen can be done in an average of 1 minute each, the complete GMV file is going to be somewhere in the range of 1.5 terabytes. ZIP compression could knock a good deal off the size--the bytes representing the path through the first tile will in all cases be one of 128 chunks, and the second and subsequent tiles will be similar except that the button presses involved will become closer together after some point--but at some point the file will have to be decompressed in some form. TASvideos currently limits movie file uploads to 100KB, and there's no way in hell the file would be compressed down to less than 1 bit per level. Oh well, at least it's nice to think such a thing can be done in theory.
Joined: 7/26/2006
Posts: 53
100 000 000+ levels is just insane, I doubt anyone would sit through it personally, I barely lasted through them on the S&K3 knuckles wip and that was only 14, this is just my opinion though.
Joined: 4/17/2004
Posts: 275
. . . When I posted this in the "most pointless game to TAS" topic, I never expected for anyone to turn around and do this, even in theory. You just broke my mind. Good day sir.
JXQ
Experienced player (761)
Joined: 5/6/2005
Posts: 3132
Password generator????? <3
<Swordless> Go hug a tree, you vegetarian (I bet you really are one)
Player (206)
Joined: 5/29/2004
Posts: 5712
Dude, this would take multiple lifetimes just to WATCH. I guess that's the power of randomly generated levels for you.
put yourself in my rocketpack if that poochie is one outrageous dude
Mitjitsu
He/Him
Banned User
Joined: 4/24/2006
Posts: 2997
Compute this 99^28903741942756034620561 342561489265714 62789561 904761394782659761349781 4690376717894163946 1349 7123461947812364891736134891634971374890164714108964 27501394671 289056138941209561348726137905136947862 37895163497812637389412639389746183946183737123894618 Now we're getting somewhere. By the time I'm finished watching this run I would have worked out that entire sum in my head.
Former player
Joined: 3/30/2004
Posts: 1354
Location: Heather's imagination
How about, instead of making an actual video to beat the game, you make a program that will "solve" any chosen level by producing a movie file which enters the password for and then beats that level?
someone is out there who will like you. take off your mask so they can find you faster. I support the new Nekketsu Kouha Kunio-kun.
Player (81)
Joined: 3/11/2005
Posts: 352
Location: Oregon
It'd be an interesting exercise to write a program to solve an arbitrary level. One could even go so far as to write a robot that poked/read values into/from RAM and solved the resulting level(s) in an infinite loop. Either way it wouldn't be good for anything more than a screensaver since a published AVI would be either in the petabyte range or unacceptably impure.
ideamagnate| .seen aqfaq <nothing happens> DK64_MASTER| .seen nesvideoagent * DK64_MASTER slaps forehead
SXL
Joined: 2/7/2005
Posts: 571
it indeed looks like an interesting programming challenge. too bad the link seems down, the "no-ip" address makes me believe it runs on a private webserver, on a dynamic ip. if it's the case, it would be nice to be able to access to it on a static website, such as a subpage of the Sonic tricks.
I never sleep, 'cause sleep is the cousin of death - NAS
Joined: 6/6/2004
Posts: 223
If Dr. Spud's site is down, you can use http://www.din.or.jp/~koryan/sonic/gbs/anlz1-f.htm as another page for generating levels and codes.
JXQ
Experienced player (761)
Joined: 5/6/2005
Posts: 3132
If each level was a minute long (probably a good average, though perhaps a bit low), then this TAS would be 255 years and 4 months plus some change. The file (at 3 bytes per frame, I can't tell if a 1-player GMV uses all three bytes or not, based on the info from the GMV page) would be 1.32 TB.
AKA wrote:
Compute this 99^28903741942756034620561 342561489265714 62789561 904761394782659761349781 4690376717894163946 1349 7123461947812364891736134891634971374890164714108964 27501394671 289056138941209561348726137905136947862 37895163497812637389412639389746183946183737123894618 Now we're getting somewhere.
I rarely understand what you're talking about.
<Swordless> Go hug a tree, you vegetarian (I bet you really are one)
SXL
Joined: 2/7/2005
Posts: 571
Mr. Pwnage wrote:
If Dr. Spud's site is down, you can use http://www.din.or.jp/~koryan/sonic/gbs/anlz1-f.htm as another page for generating levels and codes.
that's nice, but the algorithm to generate those maps would be needed, so that a hypothetic solver could create a representation of the level and actually solve it :)
I never sleep, 'cause sleep is the cousin of death - NAS
Post subject: Re: Blue Sphere
Joined: 6/6/2004
Posts: 223
The algorithm was given in the first post:
Basically, each map is a 32x32 wrapping square, divided into four 16x16 tiles, and there are 128 possible tile designs numbered from 0 to 127. For level N, the top-right tile is (N-1) % 128, the bottom-right is (3N-2) % 127, the top-left in (5N-3) % 126, and the bottom-left is (7N-4) % 125.
Mitjitsu
He/Him
Banned User
Joined: 4/24/2006
Posts: 2997
JXQ wrote:
I rarely understand what you're talking about.
I'll give you a clue in relation to the topic. My post wasn't meant to make any sense.
Emulator Coder, Skilled player (1310)
Joined: 12/21/2004
Posts: 2687
JXQ wrote:
(at 3 bytes per frame, I can't tell if a 1-player GMV uses all three bytes or not, based on the info from the GMV page)
It says "Each frame consists of 3 bytes." There are no exceptions, probably because there is no such thing as a 1-player GMV.
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
nitsuja wrote:
JXQ wrote:
(at 3 bytes per frame, I can't tell if a 1-player GMV uses all three bytes or not, based on the info from the GMV page)
It says "Each frame consists of 3 bytes." There are no exceptions, probably because there is no such thing as a 1-player GMV.
However, JXQ is correct to question whether single-player input uses all three bytes, because it does not. In 3 button mode, 1 player uses 1 byte. in 6 button mode 1 player use 1 and a half bytes. 3 bytes per frame consists either of
1: Player 1 UDLRABCS
2: Player 2 udlrabcs
3: Ply1 & 2 XYZMxyzm
Or
Player 1-A: UDLRABCS
Player 1-B: UDLRABCS
Player 1-C: UDLRABCS
as, with the current GMV format, the only input movie types are "2 player" and "3 player".
How fleeting are all human passions compared with the massive continuity of ducks.
Post subject: Re: Blue Sphere
SXL
Joined: 2/7/2005
Posts: 571
Mr. Pwnage wrote:
The algorithm was given in the first post:
Basically, each map is a 32x32 wrapping square, divided into four 16x16 tiles, and there are 128 possible tile designs numbered from 0 to 127. For level N, the top-right tile is (N-1) % 128, the bottom-right is (3N-2) % 127, the top-left in (5N-3) % 126, and the bottom-left is (7N-4) % 125.
sorry, my question was not precise enough. where does one retrieve those 128 tile designs ?
I never sleep, 'cause sleep is the cousin of death - NAS
Joined: 6/6/2004
Posts: 223
Dr. Spud's zip file of everything used in his generator has the images for each tile. Since it's down, I've temporarily uploaded my saved copy: http://soniccenter.org/sm/files/bsgen.zip . Tiles that say A are for top right, B is bottom right (flipped vertically), C is top left (flipped horizontally), and D is bottom left (rotated 180 degrees).
Post subject: Re: Blue Sphere
Banned User
Joined: 12/23/2004
Posts: 1850
Mr. Pwnage wrote:
http://drspud.no-ip.com/bluesphere/
Pity this URL returns a 404 and the root gives "Hacked by a bunch of dumbasses". Sigh.
Perma-banned
Post subject: Re: Blue Sphere
Joined: 9/7/2005
Posts: 144
Location: Las Vegas, Nevada, USA
Xkeeper wrote:
Mr. Pwnage wrote:
http://drspud.no-ip.com/bluesphere/
Pity this URL returns a 404 and the root gives "Hacked by a bunch of dumbasses". Sigh.
It lives!
This guy are sick.
Editor, Expert player (2078)
Joined: 6/15/2005
Posts: 3282
Interesting. Didn't know there was a thread from 18 years ago, and a working link to bsgen.zip (thanks Mr. Pwnage, if you are still on this site). Anyway, here's what I know so far: This site and this online generator have some more details about how the level generation works. There is also a detailed pastebin about the password-to-level algorithm. Note that each level has two possible passwords: a normal "Sonic 1 cart" code which auto-advances when you beat a level, and a "non-Sonic 1 cart" code which doesn't (associated with passwords you get from locking onto other carts). I have recently made a BizHawk 2.9.1 Lua script with functions that can do this conversion (password to level, level to password Sonic 1 and non-Sonic 1, level to stage and stage to level): https://tasvideos.org/UserFiles/Info/638595168763566191 ---- Possible goals that might be interesting (in case anyone wants to make a TAS in the future): * All symmetrical levels (124 levels long). Note this playthrough by Digital Duck. Note that symmetrical #125, #126, #127 is impossible. * Each of the 128 quadrants shows up at least once in some map (32 levels long). * Same as above, but no passwords (unknown number of levels required, maybe 70-80?)
GJTASer2018
He/Him
Joined: 1/24/2018
Posts: 305
Location: Stafford, NY
I would vote for "each of the 128 quadrant possibilities needs to show up at least once" (ideally without arbitrary password usage, just by playing through the levels from power on). It would be a way to show off "all content" without going the absolutely bananas route of asking all levels be done. (Sure, "all levels" could be theoretically done by TASing individual quadrants and stringing the individual efforts together through copy-pasting, but you would doubtless still exceed the Desert Bus submission in length - I don't think any member of the site staff would want to deal with that kind of madness again. :P )
c-square wrote:
Yes, standard runs are needed and very appreciated here too
Dylon Stejakoski wrote:
Me and the boys starting over our games of choice for the infinityieth time in a row because of just-found optimizations
^ Why I don't have any submissions despite being on the forums for years now...