don't click here

[CANCELLED] Sonic Panic - a hack of Sonic 1

Discussion in 'Engineering & Reverse Engineering' started by lunarstudio, May 26, 2022.

Tags:
Thread Status:
Not open for further replies.
  1. -removed-
     
    Last edited: Jul 16, 2022
  2. DeltaWooloo

    DeltaWooloo

    Be a boss-man and come to my big and tall man shop Member
    So I gave it a go, and I'm perplexed after completing Secret Forest Zone Act 1.

    Firstly, the idea that you wanted to base your hack on a 32x source code is confusing. However, I thought you put some effort into bringing in the 32x's capabilities but instead showed little to nothing and made your hack useless to many people who use different emulators. You haven't told us what you're planning to do to bring in the technicalities of the 32x. Also, that isn't the CD spindash, and it's S2 Nick Arcade's spindash with the rolling animation.

    Secondly, the level design is a mixed bag. I can list all the issues, from misaligned object placements to a mishmash of chunks that don't flow well. Then halfway through the level, I'm back to GHZ. I also stepped across this:

    Sonic1000.png

    This seems to be an invalid chunk or object. There is a bit of collision, but that's all I can say about this.

    Thirdly, let's talk about music. The Green Hills port is mediocre at best. Not all notes play, and there aren't drums... or so to say. I heard FM drums, but it was very messy, and they're misaligned. Also, the instruments sound like the ones from the default mid2smps instrument pack (you can get unique ones by ripping them from VGMs), and it sounds bland overall. Good attempt, just not quite there yet. You also changed the boss theme to the Final Fight theme from 3D Blast, which is an average port, the PSGs sound average, but the noise PSGs need the right voice envelope. When many people port the theme, one of the channels isn't in the correct pitch. Fortunately, you can fix it by changing the pitch of FM1's channel to $F4 (or -$0C).

    To sum it up, unless you're willing to use the 32x's hardware, you may as well make a Mega Drive ROM instead. Then, try to clear the level design you just had, start from scratch, and see where you went wrong. Making level design needs a lot of time to make it fluent and perfect, so take your time, play around and see what you get, and hopefully, you'll make it!
     
  3. i used Sonic 32X cuz i wanted to make a 32x game. i know nothing about the 32x

    i actually don't know what the hell happened here. soned2 says nothing. in my unreleased demo 2 right now, zone 2 also shows this at the beginning (yes, i've slightly started to modify zone 2) although on a much lesser scale

    i can not compose/port music to sonic 1, so i used mid2smps. blame my lack of skills

    thanks, i might just port this to the Mega CD for sprite rotation and scaling (i'll see what i can do) otherwise i might port it to the mega drive, or stick with the 32x and figure out a way to add some 32x-exclusive features (of which i don't know any yet)
     
  4. Hivebrain

    Hivebrain

    Administrator
    2,978
    92
    28
    53.4N, 1.5W
    Github
    Probably the easiest thing you could do is have the 32X display the HUD, because it doesn't move. I don't think the 68000 can access the 32X framebuffer though, so you'd need to learn some SH2 assembly.
     
  5. LordOfSquad

    LordOfSquad

    bobs over baghdad Member
    4,999
    94
    28
    Winnipeg, MB
    making cool music no one gives a shit about
    Conversely, if you're struggling to think of reasons why this should be on 32X, it probably shouldn't be. No need to make things more complicated for yourself.
     
  6. saxman

    saxman

    Oldbie Tech Member
    I always feel the 32X needs more love, so I'm glad you're tackling this. That said, there's a heavy learning curve from my experience with it. So if you're looking to leverage the 32X hardware, you'll have your work cut out for you.

    Chilly Willy has an excellent 32X C/C++ toolkit which I have used, but unfortunately I don't think it will help you much here.

    When I did the Sonic Boom Engine, I added some 32X support (don't think it actually worked in real hardware though). At the time, my knowledge of the 32X hardware was much more limited. That said, I did manage to give it one job to do: decompress Kosinski data. I don't recall how much of Sonic 1 uses Kosinski, but you could always use my code to have it do the decompression faster. That said, I'm not sure that one job is exactly in high demand, so it may not be worth your time.

    As has been suggested, you could also have the 32X draw the HUD to its frame buffers, though that is quite a tricky area of the hardware to master. Pixel through-put is pretty horrible, although having to only draw the HUD shouldn't stress the hardware too badly.

    It's fairly powerful hardware, but it's a bit handicapped. So all I can say is start reading technical documents, ask plenty of questions, and don't get discouraged when things aren't shaping up the way you want in the beginning.

    Above all, good luck!
     
  7. tried to port the existing code to the mega drive 2005 hivebrain disasm, didn't work out great--the code for handling sonic's moves, the only code i've copied (apart from the folders containing the other data like graphics and sound), made the game crash with the handler when tested, and when i patched out the handlers it still froze with a bunch of glitched tiles printed on the screen. looks like i'm stuck with the 32x for now.

    i do have an idea for a new special stage however. my idea is: there is a running sonic shown from behind, and you can move him left/right or make him jump to collect enough rings to get the chaos emerald, while avoiding the spikes (5 rings fly out), big spikes (10 rings fly out), or red rings (lose 1 ring without it flying out) as they all move towards the player.

    yeah i might move to sonic 2, and as i already have the sonic boom engine copy on my PC and have already kinda experimented with the ROM, i might move to that, but can i ask for a GUI level designer for the SB engine? thanks ^^

    yeah i'm not that good

    yeah where can i learn it?

    tried my luck in sonic 2 standard but nah, i think i might have more luck implementing stuff in saxman's engine
     
    Last edited by a moderator: Jun 1, 2022
  8. saxman

    saxman

    Oldbie Tech Member
    I figured you'd just copy over the little bit of 32X code I had to what you were working with. But whatever you want to use is fine.

    You mentioned level editing tools... I'd have to review what I have. I had tried to get proper support added to SonLVL, but it ultimately didn't pan out. But there are tools I developed to do conversions on the level formats. I don't recall what limitations you may face not having a proper level editor to support the SB enhancements though.

    I also have a version of Sonic Boom that incorporates both Sonic 1 and 2 assets under one hood. I don't believe that was ever uploaded (or finished), because I stopped working on it pretty much cold-turkey. If I can locate it, I can make that available if it peaks your interest.

    As for learning SH2, there are manuals out there for this stuff. I am actually not home as I type this, so I apologize for not being very resourceful right now. But I would just suggest searching for them through a search engine, unless someone wants to provide some links otherwise.
     
    • Informative Informative x 1
    • List
  9. Glitch

    Glitch

    Tech Member
    165
    3
    18
    If you're asking for a tutorial that will hand-hold you through SuperH assembly then I think you'll be hard pressed to find one. It's a dead architecture, outside of deeply embedded & automotive stuff, these days. If you're already familiar with other forms of RISC assembly then you should be able to grab the SH-1/SH2 Programming Manual and go from there. That has everything you need to know but it's not very newbie friendly.

    If you're completely new to RISC in general then you'll find a *lot* more material that covers ARM and MIPS. There are plenty of hand-holdy tutorials for those architectures, particularly for MIPS as it is (was?) used in quite a few Comp Sci courses. An older MIPS design is conceptually close to an SH-2 anyway (similar pipelines, you'll learn about delay slots, etc). You can learn the basics from there and then hop across to SH, using a reference like this excellent one to look up the equivalent SH instructions.
     
    • Agree Agree x 1
    • Informative Informative x 1
    • List
  10. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    18,746
    663
    93
    Berkshire, England
    Long-term happiness
    @makotoyuki PLEASE stop double and triple posting, especially if your posts are within minutes of each other. There is an edit button, use it.
     
  11. Nik Pi

    Nik Pi

    Member
  12. yeah i've been reading about that

    ok thanks

    i have deflemask on my pc, but i'm not good using it (i'm not a composer)

    i think this project needs a total reboot, and, as i have a clean sonic 1 AS github disassembly with sonic 3 & knuckles' sound driver (although that's the only change on it), i think i'm gonna use that

    Update and (hopefully) final disassembly switch (22/06/05 5:03 PM): i have a mega cd version port of Sonic 1, so i'm gonna use that as a base for that sweet quality CD redbook audio. it's modified to use BRAM saving so it's perfect i think, and aside from a splash screen (which i will replace anyway) and a changed level select (to include a more built up sound test), it's practically just the same, just modified to work on the Mega CD
     
    Last edited: Jun 5, 2022
  13. Devon

    Devon

    There's nothing left but faith Tech Member
    771
    454
    63
    FYI, it can, as long as the 68000 is given access to the Super VDP. This is controlled via the "FM" flag.

    [​IMG]

    [​IMG]

    [​IMG]

    Even the Z80 can access it via the 68000 bank area, apparently.

    [​IMG]
     
Thread Status:
Not open for further replies.