The Sonic Project Aspect Official Thread and Help

Discussion in 'Discussion & Q&A' started by Bluestreak, Dec 18, 2016.

Thread Status:
Not open for further replies.
  1. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    172
    Location:
    Eastwatch Island
    Knowing I, and a few others have a love of hacking Sonic 2 SMS and other Aspect Sonic games, I feel a thread of hints, help, and answering general questions would be great for those of us who are new.

    I am thinking of finding another program to work with the mappings of Sonic 2, since even after exporting the mapping to ASM, they are still garbled.

    I do know how to give Acts dynamic palettes right now luckily. Other concerns are basically music, and sound effects (changing some of them, or making certain ones not play in certain events.

    Any advice?
     
  2. Clownacy

    Clownacy Forever Grumpy Staff

    Joined:
    Aug 15, 2014
    Messages:
    874
    As far as making music and SFX goes, you're in luck: 8-bit Sonic 2 uses the same type of sound driver as the 16-bit Sonic games - SMPS - meaning a lot of what you learn for one can be applied to the other. Music format, instruments ('volume envelopes', to give the technical name), they're largely the same.

    As for making certain sounds not play, there's not a lot to explain: if you wanna play a sound or song, just write its 8-bit ID value to $DD04, $DD05, or $DD06. So, if you wanna stop a certain sound from playing, just find the ASM code for the thing that makes the sound, then find where $DD04 is written to (seemingly the only one the original game uses), and remove it.
     
    Last edited: Dec 18, 2016
    Bluestreak likes this.
  3. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    172
    Location:
    Eastwatch Island
    Oh sweet!! I heard about them using SMPS as well, and am glad to hear it!! Gonna try to learn MOD2PSG to make both original and remixed music. The boss song has already been decided as the miniboss theme from Rockman DX3 for Game Boy Colour, and listening to it, it seems I can get a loyal, almost exact recreation of it on the T.I. SN67489 sound chip. The sound effect I am gonna take out is the sound for when he rolls, to bring it closer to Sonic CD in that aspect. Also, replacing the jump sound and skid sound with the one for Sonic 1 SMS.

    Now, for something to manipulate the mappings, with nearly the same ease as Aspect Edit, but without all the issues, what is something I can use? I have many of the tiles and graphics for the game already drawn out luckily, just needing to be put in the game, and of course the mappings messed with when needed.

    Also, most of the sprites for characters, items, and enemies are done as well, which is great. A lot of Sonic 2 concept enemies, and some Sonic CD Badnik designs by Dolphman, and redrawn/resized/recoloured to work with the game will be appearing.
     
  4. nineko

    nineko I am the Holy Cat Member

    Joined:
    Mar 24, 2008
    Messages:
    1,772
    Location:
    italy
    Bluestreak likes this.
  5. Clownacy

    Clownacy Forever Grumpy Staff

    Joined:
    Aug 15, 2014
    Messages:
    874
    I'm not too sure how porting the S1 8-bit SFX would go, since that game doesn't use SMPS. The jump and skidding SFX from the 16-bit games run on the SN76496, so it should be possible to port those.
     
    Bluestreak likes this.
  6. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    172
    Location:
    Eastwatch Island
    Yep!! That is true, as do many of Sonic 1's sound effects. I always wondered why Aspect's games didn't use them, when S1SMS did. I wonder if I could use the same programs people use for making SMPS music on the Genesis for the SMS as well, as long as I only use PSG sound.
     
  7. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    172
    Location:
    Eastwatch Island
    Now, as for mappings, since even when using "export to ASM" in Aspect Edit, I am still getting garbled silliness, I am thinking of using another program to work with that. Aspect Edit is a Godsend with sprite editing and level layout editing, but with mappings, it is quite annoying.
     
  8. mrcat-pixel

    mrcat-pixel The Holy Cat Jr. Member

    Joined:
    May 31, 2014
    Messages:
    381
    Sadly,there's no other program for that. What disassembly are you using?
     
  9. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    172
    Location:
    Eastwatch Island
    I am using Glitch's Sonic 2 SMS disassembly. Sorry I am so n00by. :/
     
  10. mrcat-pixel

    mrcat-pixel The Holy Cat Jr. Member

    Joined:
    May 31, 2014
    Messages:
    381
    I use the one from retro's github (i think it's modified a bit) Try it.
     
    Bluestreak likes this.
  11. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    172
    Location:
    Eastwatch Island
    Okay. I shall! I got mine from Retro as well, but I will go and redownload it, and put the sprites and all that from my current version over to that, then start from there.
     
  12. mrcat-pixel

    mrcat-pixel The Holy Cat Jr. Member

    Joined:
    May 31, 2014
    Messages:
    381
    Was it from github?
     
  13. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    172
    Location:
    Eastwatch Island
    Nope, but this one now is! I'mm go ahead and transfer my Sonic, Badnik, HUD, and Monitor sprites over.
     
  14. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    172
    Location:
    Eastwatch Island
    Decided to start from scratch for Underground Zone, which will become Crystal Castles. Decided this would be a good chance to test my new sprite for Mecha Sonic in the Egg Mobile. I tried all three of the first three tiles in the tileset, but cannot get the upper part of the back of his head to appear. When I tried the third tile, it was above his head, and the first two, no appearance. This is rather troubling because I want to make this work.

    Good news is, I have almost all of Sacred Shrine (Round 5)'s graphics done, and the realization that thanks to the way Peridot Palms (Round 1)'s tiles will be done, I am gonna save many tiles when it comes to both the grass, and even the breakable walls, giving me more tiles to both add more and different types of trees in, AND put some unique background pieces into the Acts (River for Act 1, mountains for Act 2, and something kinda Sonic CD-esque for Act 3). All this is done using graphical and palette tricks to save on tiles, but give Sonic Triple Trouble and even Sonic Blast a run for their money!!

    Left: Mecha Sonic in Egg Mobile (in game)
    Right: Revised Robotnik vs. Mecha in Egg Mobile (what it was supposed to look like).

    s2001X.png MECHA EGG MOBILE.png
     
    Last edited: Dec 30, 2016
    A-S-H, FireRat and Dandaman955 like this.
  15. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    172
    Location:
    Eastwatch Island
    Mappings were finally working, saving over every time I got a little more done, testing along the way, when suddenly, on the final saving of the ASM and bin, this happened. I added tiles, didn't overflow any banks or anything. What even is happening? It seems I can't get a break. ._.
    s2000.png
     
  16. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    172
    Location:
    Eastwatch Island


    Finally got the tiles and mappings to work!! The problem was I added some tiles, instead of only using what I was given. This is not BY FAR the final layout to Peridot Palms Zone 1. But I am working on Peridot Palms Zone 2's layout right now. Since Zone 2 almost always takes place in the past in this hack, you may see a load of stuff originally from the Sonic 1 Alpha. Zone 3 takes place in the Future, so you will see some rather futuristic objects there as well for the fun of it. Yeah, sadly, all the trees will be the same for all time Zones, even though I did not want that to be the case, but someday, I promise I will change that when I can (Zone 2 was meant to have palm trees like the Sonic 1 Alpha, and Zone 3 was gonna have trees almost copy-pasted from Sonic CD's good future).
     
  17. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    172
    Location:
    Eastwatch Island
    Sonic Project Aspect MAPPIES.png
    s2007.png
    First image is me working on the layout, and using the 2nd Zone's palette while I edit the game. Sadly, Zone 2 and 3's palette is not yet recognized by the game (have to put the coding in so the game recognizes them, hence the Zone 1 palette in Zone 2 within actual gameplay right now sadly).
     
    mrcat-pixel likes this.
  18. mrcat-pixel

    mrcat-pixel The Holy Cat Jr. Member

    Joined:
    May 31, 2014
    Messages:
    381
    Those multiple waiting anims left me yelling at the screen. Genius!
     
  19. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    172
    Location:
    Eastwatch Island
    So, I am about to release the Round 1 demo soon, but before I do this, I need a bit of help or guidance on how to do something...

    I need to disable level select on the public demo, as well as figure out how to make the game start at Peridot Palms (Green Hills modified, which all future versions will), as well get the game to go over to the Game Over screen after completion of Peridot Palms Zone 3 (as well as the score tally for it).
     
  20. mrcat-pixel

    mrcat-pixel The Holy Cat Jr. Member

    Joined:
    May 31, 2014
    Messages:
    381
    Here's what you should do to make the game go to title screen after finishing Act 3.

    Open src/s2.asm and search for "LABEL_8A4:"

    Then right after this...
    Code:
    LABEL_8A4:
        push  bc
        call  Engine_WaitForInterrupt
        call  Engine_UpdateLevelState
        pop   bc
        dec   bc
        ld    a, b
        or    c
        jp    nz, LABEL_8A4
        xor   a               ;stop music
        ld    ($DD03), a
        
        ; reset dynamic palette numbers
        call  Engine_ClearAuxLevelHeader
        
        call  PaletteFadeOut
        ld    b, $1E
    -:  ei
        halt
        djnz  -
        call  Engine_ClearWorkingVRAM
        call  Engine_ClearLevelAttributes
        call  VDP_ClearScreen
        call  Score_CalculateActTimeScore
        call  TitleCard_LoadAndDraw
        call  ScoreCard_UpdateScore
        
        ; wait for 1 second
        wait_1s
        
        ; fade out for 1 second
        call  PaletteFadeOut
        wait_1s
    
    ...add this:
    Code:
        jp LABEL_472     ;reset the game (EDIT)
    
     
    Bluestreak likes this.
Thread Status:
Not open for further replies.