don't click here

Retro-Sonic

Discussion in 'Fangaming Discussion' started by The Taxman, Nov 19, 2004.

Thread Status:
Not open for further replies.
  1. The Taxman

    The Taxman

    Tech Member
    673
    5
    0
    Retro Engine & Related Projects
    Well, at heart Retro-Sonic has always been "the Sonic game I've always wanted to make myself", which I suppose is what makes it a fan game... I'm making 12 levels, my own special stage etc.

    But after doing the first C++ engine for Retro-Sonic, I realised a lot of people wanted to make levels for it so with the new engine I've put in more effort to create better editing tools (the RSDK) so people could also create their own levels. Then the fact that all the tile mappings formats and object placement/level design format info from the Megadrive games was available from the hacking community led me to think: "Hey, since I have similar kinds of formats why not make converters to import this data into Retro-Sonic"

    As it stands now the following things can be converted from a savestate/rom

    -8x8 tile gfx, 16x16 mappings: Retro-Sonic uses 16x16 base tiles so the 16x16 tile mappings are rasterized into a bmp file, which is then compressed.

    - 128x128 or 256x256 mappings: are converted into 128x128 mappings (I use 3 bytes because I have extra tile properties that can't fit into 2)

    -Level Design: nuff said, it's the easiest data to port

    -Collision Data: a decent conversion is possible, although some touching up in the editor is required sometimes.

    -Ring Placement

    -Object Placement, you must specify what objects in the Megadrive games correspond with what objects in Retro-Sonic are used when converting.

    In terms of scrolling, line based parallax/deformation is possible so pretty much any zone's background can be recreated (not converted from a savestate though)

    Now considering I'm going to have multiplayer mode via lan or netplay, the level importing options are useful if people wanted to play against each other in say Green Hill.

    So I guess overall, I'm looking at this from both perspectives: This is a game that I've wanted to create with my own ideas and everything, but after this there's much more I can do with this engine.

    On another note: I'm pretty sure the method I use for programming loop-de-loops etc, by coincidence is very similar to how it's done in the actual games:

    The idea is what I like to call "Track Gripping" where the player sticks to the collision height maps according to where the collision sensor points are. From observation, it looks like there is 2 or 3 collision sensors that do this for the ground. The game checks to see which sensor is the highest and sets the player's y position around that.

    This is a fast method, but encounters problems when the change in height is greater than a 45 degree angle (it looks un-natural). So the game switches to wall gripping, using the sensor points in a different position. Then when you go above 135 degrees, the gripping mode changes again to roof gripping.

    Now this could be wrong, but I have some proof that this might be the system that is used in the actual games (not just Retro-Sonic):

    [​IMG]

    Take a look at this bug from Sonic 1. The yellow lines indicate where 2 collision sensors would exist. In the left picture both sensors have detected a collision. The right sensor has a higher collision than the left, therefore the collision height from the right sensor is chosen by the game.

    Now in screen 2, the right sensor has gone off collidable ground. Since the left sensor is the only one detecting a collision, it's height *must* be chosen. This causes Sonic to move down into the ground. The solution? Make slopes that always have at least a bit of flat ground after them. This is one of the few spots in the game where you can see this. Another level is Casino Night I think.

    Soo yeah... enough rambling, I'm sure Dr Ivo and LOst probably even know the asm collision code used.
     
  2. Tiberious

    Tiberious

    Yeah, I'm furry. Got a problem? Oldbie
    740
    8
    18
    I looked at that myself, in both Sonic 1 (SYZ1) and Sonic 2 (Metropolis Zone), and they both do that... only problem with your workaround is that if you jumped, you'd go straight up, not off at an angle like in the Genesis games.

    And if you're rewriting it, why not use this info and add it in, fixing that problem before it can even show itself to the public? I know this is a solo project for you, but you CAN accept help if it's offered, right (like if someone were to port the collision code from ASM to your language of choice)?

    Also, since you've said you're using C(++), would a Dreamcast version be possible? *gets excited at the thought of a complete Sonic 1-3 for all 3 main characters*
     
  3. The Taxman

    The Taxman

    Tech Member
    673
    5
    0
    Retro Engine & Related Projects
    Workaround? the whole trackgripping modes thing is a system, not a workaround. Also, wall gripping would not be in effect in those shots, since the angle of the ramp is below 45 degrees.

    Anyway you would still go at an angle since the collision sensors aren't responsible for determining the angle, it's stored in the angle/curves section of the 16x16 collision data in Sonic games.

    I'm not rewriting the actual Sonic games, I just started my own engine for the 2nd time from scratch. I don't want to use any proprietry sega code, so far all the actual gameplay in Retro-Sonic has been done myself. Not only that, getting the actual collision code used wouldn't help at all :P I also do realtime player angle detection/rotation, so it's much better to use my code anyway.

    As for a Dreamcast version, it's possible... as long as it runs fast enough. I'll try though!
     
  4. Trujin

    Trujin

    The Bad Seed. Member
    that's a quite interesting read, and your game looks very promising. Good luck.
     
  5. ICEknight

    ICEknight

    Researcher Researcher
    Oh my god, that would rock so much.
     
  6. Taco

    Taco

    NintenDan Member
    97
    0
    0
    NIU. Dekalb, Illinois
    Reclaiming my throne as sonic advance king >:O
    Played the game

    Music pwns all

    Level design pretty good, but some of the levels really are too short.

    Fireshield is too strong. It sends you flying when you attack with it in the air. It's waaaay too fast. You need to slow it down a bit (if possible)

    I think someone mentioned this before, but as far as loops go, if you try to spindash up one and hold right, you'll lose speed, where as spindashing and holding nothing at all goes faster. It's almost Sonic CDish (which isn't the greatest feel in the world)

    If you could make it more Sonic 2ish, that might make the whole game better

    Don't get me wrong, you're definetly going in the write direction, and the fact taht you've done this without some crappy game making tool is ever better! This game probably has the best physics made from scratch from any other sonic game I've ever seen! But that doesn't mean there's no room for improvement

    Overall, your heading in the right direction. I believe that if you can lengthen a few of the short zones and fix up a few minor problems (fire shield, spindash,etc) then you can have the greatest sonic fangame of all time.

    I'll probably do some more testing with the game later, and if I find anything else that could use up some patching up, then I'll point it out

    I don't mean to be a bitch, but I guess it's better to point these things out now during it's early build, rather then later when you release it to a much larger audience.

    Of course, you can choose to ignore my suggestions, it's your game!

    Good luck in the future. I hope to see a future version of this game out sometime soon ;)
     
  7. Kles

    Kles

    Member
    Own. Is. Not. Spelled. With. A. P.
     
  8. FMSonic

    FMSonic

    Member
    45
    0
    0
    I noticed in your 2002 demo you replicated Sonic CD's idea of offsetting Sonic from the center of the screen to the left when he runs at full speed, allowing you to have more reaction time. Will your new engine feature this or have you ditched the idea?

    Have you also considered using those unused samples of Sonic's voice from Sonic CD in the game? (Or might I be able to add them using your editing tools?)
     
  9. Taco

    Taco

    NintenDan Member
    97
    0
    0
    NIU. Dekalb, Illinois
    Reclaiming my throne as sonic advance king >:O
    If he wants it to be as close to the genesis games as possible, then the idea should be removed. Sonic CD's game physics aren't very close to that of Sonic 2's.

    Altough one thing that bothered me about sonic 2 is the jump out of a roll. If you can find a way to build up speed (power sneakers, horizontal spring) then do so. Make sure it's in an area without any obstacles for a while. If you run at this maximum speed, then roll, and get out of the roll with a jump, sonic's speed will dramatically decrease. He almost literally drops dead, and it kind of annoys me. Mainly because I for one use spindash alot, which automatically puts you into ball form. And what's the number 1 way of getting out of ball form? By jumping out of it of course! I think the reason they set the speed value so low (especially when getting out of a roll) is because spindash was intended to help you get a fast start, but the game itself is filled with secrets. People like to explore the levels, so having sonic slow downafter starting up fast seems logical, especially for exploration purposes. But some of us have explored this game inside out (others a little too much...) and I think it'd be nice if they just added to the speed value! They really didn't need to decrease it THAT much

    anyway, to wrap up my bitching, and get back on topic (heh...). This game is really looking like a Sonic CD 2. Physics match it fairly well, graphics go along great with it (They don't look very genesis to me!). And hell, you've even taken music from sonic CD! May as well keep the feature. It's too late to go for a genesis feel now unless your willing to go back and fix up all those details
     
  10. FMSonic

    FMSonic

    Member
    45
    0
    0
    I always liked the loose control Sonic CD offered. Though the engine was a bit shoddy, you had more control of Sonic when he jumped and such.

    Anyway, Taxman is a big fan of Sonic CD. He said in an interview that he wanted to make Retro Sonic similar to it, and he used to maintain a Sonic CD beta page.
     
  11. The Taxman

    The Taxman

    Tech Member
    673
    5
    0
    Retro Engine & Related Projects
    If the old engine was close to Sonic CD, then the new one is much closer to Sonic 2. The scrolling style matches the Megadrive games, because with Tails following Sonic it becomes impractical to have the Sonic CD styled camera. The super peel-out still exists and is better than the last one (you actually have to charge it up rather than just instantly gaining speed after a tap).

    But yeah overall, the physics in the old demo weren't very accurate anyway. It'll be a big change to play the new one.
     
  12. FMSonic

    FMSonic

    Member
    45
    0
    0
    Yeah, people would go insane if you excluded the peel-out move. Man your game is going to rule so much. I mean you've got the peel-out from Sonic CD, the spindash from Sonic 2, and the classic Sonic CD sprites and all (as opposed to those icky Sonic 3 ones), and this interesting Type-D badnik system that you've mysteriously havn't commented on yet...
     
  13. Hivebrain

    Hivebrain

    Administrator
    2,999
    99
    28
    53.4N, 1.5W
    Github
    The download isn't working. Could someone mirror the demo?
     
  14. Trujin

    Trujin

    The Bad Seed. Member
    I have the same problem.
     
  15. The Taxman

    The Taxman

    Tech Member
    673
    5
    0
    Retro Engine & Related Projects
  16. LOst

    LOst

    Tech Member
    4,891
    6
    18
  17. Flare

    Flare

    Member
    886
    152
    43
    I really like it... the music as many people have said before is awsome, sorry about spelling, the title screen is really cool with the effects youve added.
     
Thread Status:
Not open for further replies.