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 (750)
Joined: 5/6/2005
Posts: 3132
Password generator????? <3
<Swordless> Go hug a tree, you vegetarian (I bet you really are one)
Active player (278)
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, Experienced player (532)
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 (80)
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 (750)
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, Experienced player (532)
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 (1300)
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 (388)
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, Former player
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: 143
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.