How NOT to Make a Sonic Hack For Beginners and Newbies

Discussion in 'Discussion and Q&A Archive' started by Devon, Sep 3, 2013.

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

    Devon A̸ ̴S̴ ̵C̵ ̷E̶ ̸N̸ ̴D̶ ̵E̶ ̸D̶ Member

    Joined:
    Aug 26, 2013
    Messages:
    1,377
    Location:
    your mom
    EDIT 1: I decided to revise this to make it better. Thanks to Lips2k8 and TheInvisibleSun for pointing things out.

    EDIT 2: I decided to add how to properly make a hack and not just how NOT to make one.

    EDIT 3: I revised it one more bit and added some new stuff.

    NOTE: THIS IS FOR ANYONE NEW TO HACKING A SONIC GAME

    Hello! I will teach the things to NOT do when hacking a Sonic game.

    #1:  Palette Hacks and Noob Palettes

    It's OK to start out just editing the palettes, but DO NOT RELEASE the hack if it's only just a palette hack. And PLEASE, do NOT make the palettes have random colors and such, they can be really irritating to see. Don't try to make the player's eyes bleed with unfitting colors that just irritate us.

    #2: Messing up on level design and object placement

    It's OK to have Sonic hacks that just have level design changes as long it is done well, like Sonic 1 Alt, which is a hack with only level design changes and is well done. If you don't know how to make a proper level yet, follow this guide to changing the level design. If you intend to make a hard and challenging game, it's not a good idea to just spam badniks everywhere and call it "hard and challenging". Make sure, the object placement is at proper places and not spammed, glitched up or even blocking the way to victory.

    #3: Just changing art and text and NOTHING ELSE

    Similar to palette hacking. It's OK to start off with this, but don't release it if it's just an art hack.

    #4: Stealing code from others

    This is BAD, no kidding. First of all, when stealing code from another, you can get into a lot of trouble with the original coder.

    Example: Stealing Selbi's code and calling it yours.

    This is a bad idea. Plus, we don't want more of the code to spread. Create your own code and original moves and what not.

    In fact, you can be banned from here if you do so.

    #5: Going onto tutorials and such and just copying and pasting the code

    You're NOT learning anything. You'll need to learn from the tutorials, or else you won't have any idea what you're doing. Plus, if it's code for a homing attack or something, then it's best to keep it off your hack. Code on tutorials is probably better for learning the basics of the code and how to make it work.

    #6: Editing the ROM in Hex to Add New Badniks, Objects, Moves, etc.

    I don't recommend using hex editing as a method of hacking Sonic games if you are just starting out. I recommend that you start out with a disassembly.

    That means, you can't use Sonik Sprite or Esrael Sonic Editor II in disassemblies.

    Using a disassembly allows you to get a better understanding how the game is made and it's much easier to edit and you don't get lost as much as using hex to add new stuff.

    If you don't know how to use assembly, follow this guide to get a basic grip on it.

    There ARE programs for disassemblies, like SonED2 (Level editing), SonLVL (Alternate to SonED 2), SonMapEd (Art, Palettes and Mappings), etc.

    #7, Rushing on the Hack

    You're not in a race. Take your time with your hack. Doing so will result in a sloppy hack that isn't fun to play.

    #8, Telling other Hackers to "do the work for you"

    It's YOUR hack, YOU do the work. This forum isn't here for telling you the code for the Ultimate Super Move for Sonic or whatever for you to copy and paste. This is here to answer questions you have if you're stuck on a certain part of your hack.

    If you are stuck on something in your hack, first try to figure out the problem yourself. If there isn't any luck, look to see if your question has been answered, that way the forums aren't flooded with the same exact question. If there isn't any answer anywhere, don't hesitate to ask the question and some pro hackers can probably swing by and answer your question.

    #9, Using code from ASMtoSegaGenesis/OuricoDoido

    That site is frowned upon on here. That site has users like OuricoDoido that share and steal code that programmers like Selbi or MarkeyJester programmed. Like what I said above, stealing code is bad and you can be banned. So, do NOT follow guides on that site or from that specific user or maybe some other users that do.

    Conclusion for How NOT to Make a Hack

    Note: Things such as palette, art and text editing is great for starting out and learning how it works. If it's just a text edit, or a palette and art hack with NOTHING else added, it's best not to release it, but it can be used for personal reference to help yourself when needed.

    Before I completely conclude this here, I just want to say, there was a user named Green Snake who made a hack. His hack was infamous for being one of the worst hacks the Sonic Hacking Community has ever played, AKA The hack of shame. People claimed that it had stolen code from Megamix, it had slightly butchered collision, and other stuff that made this particular hack the hack of shame. So therefore, do NOT follow in his footsteps, don't make another hack of shame.

    Well now here you have it, a guide for how NOT to make a Sonic hack. If you have any questions, feel free to reply.

    How to ACTUALLY Get Started with a Hack

    I will teach you how to get started with a disassembly! What you newbies can do to get started with hacking a Sonic game.

    #1, Following these guide here and using these programs

    Guides:

    1a. Guide for SonMapEd (How to make mappings, palettes and art for disassemblies)

    Programs: SonMapEd

    1b. SpritePlotter Guide (Alternative to SonMapEd)

    Programs: SpritePlotter

    2a. Guide on SonED2 (For SonLVL, Use the help files.)

    2b. Sonic Retro Thread on Level Design (How to properly make a level)

    Programs: SonED2SonLVL

    3. 68k Motorola Assembly Guide on Sonic Retro (The basics of the assembly to use) 

    Programs: Any Basic Text Editor (I recommend that you get one that supports highlighting)

    4a. nineko's MIDI to XM to SMPS Guide (Sonic 1 Only, Making Custom Music, Easy)

    Programs are listed in the guide

    4b. MarkeyJester's SMPS Guide (Sonic 1 Only, Making Custom Music, Harder than the above)  

    Programs: Any Hex Editor

    I recommend that you start with the 1st on the list to get started with working with disassemblies, then you can continue on down the list from Art and Level editing to Actual ASM editing and Music editing.

    #2, You can look at examples to get a better understanding of something, but not for copying and pasting/stealing

    I say that it's OK to look at examples and tutorials to help you learn how ASM works.

    It's still not OK for copying and pasting/stealing.

    #3, If you are unable to do something, just ask

    If you have a question, try to experiment first to see if you can solve it yourself. If you can't try to find an answer for yourself, then look it up and see if it was a previous question that has been answered. You can look through the Q&A forums or this thread. If there is no answer for your question, don't hesitate to ask us! We are here to help!

    #4, You don't have to do this alone...

    It's OK to have contributors help and support your project. As long as you give credit, it's alright.

    #5, Here are some tips and tricks you can use:

    - Always make backups. You'll never know what may go horribly wrong with your hack...

    - Don't overload the ROM, it causes slowdown,and it could possibly overwrite some stuff that may been very important!

    - More are on this thread.

    #6, Try to keep it as original as possible

    That means don't try to clone Sonic Megamix, Sonic ERaZor or whatever hack is out there. Make up your own stuff and you'll most likely get praised for your original ideas!

    #7, Take your time and put a lot of effort into it

    There isn't any deadlines or races for when making a hack. Take your time to let every part of your creativity flow from your mind to your hack. Also, don't be lazy. Put a lot of effort into it to make it work right and well. We don't want rushed sloppy things in hacks, we want well thought out and decent things in hacks.

    Ultimate Conclusion

    I hope this helps you for when you start to make your first hack. Try to follow these tips and you'll probably produce a decent hack that people will have fun playing.

    Thank you for taking the time for reading this.
     
    Last edited by a moderator: Sep 8, 2013
  2. Dark Lips

    Dark Lips Well-Known Member Member

    Joined:
    Nov 14, 2008
    Messages:
    293
    Location:
    Wolverhampton UK
    I guess I should add what I have found to be the biggest problem that new hackers make is they rush... the release half cocked - take your time its not a race, test it yourself, test it with friends both in real life and on here but dont put it up until its ready or more importantly you are ready.
     
  3. TheInvisibleSun

    TheInvisibleSun Visible Member

    Joined:
    Jul 2, 2013
    Messages:
    424
    Location:
    Western New York, USA
    A few things I feel that I must contest:

    So it's not okay for a new person to experiment with palette editing and create new palettes for stages? Everyone has to start somewhere. It's not something to avoid, but rather a first step, meaning one should not stop there, but continue to do more with their hack after working out said palettes.

    The way you worded this, gives the impression that you feel that hacks with only Layout changes aren't ever ok. Personally, I'd say that level design changes are definitely important gameplay changes, and can work alone if done well enough.

    I guess experimenting and trying to see how code you don't understand works is not allowed, huh? I learned a lot from screwing with stuff I didn't know about! In any learning process, mistakes happen and are good for growth; it is folly to tell a new hacker not to touch what they don't know, because they won't be able to grow as well without occasionally making the mistakes that ensue in doing so.

    This.
     
  4. nineko

    nineko I am the Holy Cat Member

    Joined:
    Mar 24, 2008
    Messages:
    1,902
    Location:
    italy
    To be honest, I find at least bizzarre that such a manifesto for newcomers has been written by a newcomer himself, but at least the replies by Lips2k8 and TheInvisibleSun prove that this topic might as well be useful to promote some constructive discussion...
     
  5. Dark Lips

    Dark Lips Well-Known Member Member

    Joined:
    Nov 14, 2008
    Messages:
    293
    Location:
    Wolverhampton UK
    well to be honest nineko I have found myself falling prey to the problem I mentioned in my earlier reply to this post... I was eager to get my hack out there and in doing so I showed a buggy unfinished mess (I am referring to my old redemption project) ! However I had a lot of lessons from some of the more helpful programmers/hackers such as Markey Jester and Vladikcomper and they have also taught me to take my time, experiment and enjoy - so what if my rom never gets released?  ...at least I can say I enjoyed the learning experience and enjoyed being part of the sonic hacking community.
     
  6. redhotsonic

    redhotsonic Also known as RHS Member

    Joined:
    Aug 10, 2007
    Messages:
    2,969
    Location:
    England
    I don't ever remember making this level...
     
  7. Devon

    Devon A̸ ̴S̴ ̵C̵ ̷E̶ ̸N̸ ̴D̶ ̵E̶ ̸D̶ Member

    Joined:
    Aug 26, 2013
    Messages:
    1,377
    Location:
    your mom
    So it's not okay for a new person to experiment with palette editing and create new palettes for stages? Everyone has to start somewhere. It's not something to avoid, but rather a first step, meaning one should not stop there, but continue to do more with their hack after working out said palettes.

    The way you worded this, gives the impression that you feel that hacks with only Layout changes aren't ever ok. Personally, I'd say that level design changes are definitely important gameplay changes, and can work alone if done well enough.

    I guess experimenting and trying to see how code you don't understand works is not allowed, huh? I learned a lot from screwing with stuff I didn't know about! In any learning process, mistakes happen and are good for growth; it is folly to tell a new hacker not to touch what they don't know, because they won't be able to grow as well without occasionally making the mistakes that ensue in doing so.

    This.



    Thank you for pointing out that. I do agree with what you say. I'll think about editing the guide to make it better. I appreciate it.
     
  8. Rezeed

    Rezeed Dataspirit and Dream Traveller Member

    Joined:
    Oct 31, 2011
    Messages:
    35
    Location:
    Cyberspace
    I just have to ask some stuff in regards to code. Is it okay to borrow code provided you give the person credit and got permission from the person who made the coding?

    I also have to ask, is there such a thing a type of "public domain" codes which can be a staple for things like inserting cut scenes, adding new/more levels, adding more characters to the roaster (with their own movesets)? You know, a basic directory of code that can be freely used for the basics, but you still have to do the rest for the specifics.

    Example: Adding a new character that has a projectile move while also having a double jump.

    The code that would be used would mostly be for what buttons use it, but the rest would lie on the person to give specifics like how far it travels, can it be done in the air, and does it have any requirements in particular.
     
  9. Misinko

    Misinko Oh SHIT it's the Biolizard! Member

    Joined:
    Apr 30, 2013
    Messages:
    722
    Location:
    Ohio
    Ah, questions that should be in the basic questions and answers thread, how I lurv these. Never the less, 1. Yes, it is alright if you get permission and the code has been made public by the programer. Otherwise, is code theft no matter how much credit you give out. 2. I have not seen any for cutscenes. The thing most similar to what you're requesting is Splash Screen guides that tell you how to import them. There are also guides that show you how to import other characters, besides ones that have already been programed, as well as new moves. They are on Retro. Seriously, these questions have been answered before, I've SEEN them been answered while I was lurking. Take some time to read the stuff on the site.  
     
    Last edited by a moderator: Sep 19, 2013
  10. Rezeed

    Rezeed Dataspirit and Dream Traveller Member

    Joined:
    Oct 31, 2011
    Messages:
    35
    Location:
    Cyberspace
    Honestly, I thought they'd fit here a little better since they have to with specific tips for beginners. Plus, when we look at the specific tips, the current replies help supplement these tips. The thing about the code kinda gave the impression you need to figure out everything code wise on your own and hope it isn't similar to another person's code. I asked about using permission and giving credit since I needed some clarity. Everyone has a specialty, but not everyone can be able to do many areas so easily alone or without some form of help.

    However, I don't frequent on sonic retro since I like this place much better. That and I find it a little hard to find certain things at times.
     
    Last edited by a moderator: Sep 19, 2013
  11. Misinko

    Misinko Oh SHIT it's the Biolizard! Member

    Joined:
    Apr 30, 2013
    Messages:
    722
    Location:
    Ohio
    But the questions you asked have already been answered. I found the answer to your first question after, probably, my fifth visit to Retro. It was all in the guides section. "Retro can be hard to navigate." I get that, but Google is your friend here. Can't find what you're looking for? Google it, and Retro will always be the top 5 results. I couldn't find the dissasembly I wanted (let alone spell it) but I googled "Sonic 1 H dissasembly" and BAM, Retro's disassembies page came up. Moving on to the code issue, people around here don't expect you to figure everything out, but they like it when you figure it oug on your own. If you want to use someone's code and they haven't made it public, chances are THEY don't want YOU using that code. If you're a beginer with no idea how to code yourself, chances are you'll have no clue where to start looking in the project's Mountian of cod. I'm going to quote SuperEgg here (and I'm paraphrasing) "Oh, you added the homing attack in Sonic 1? Greeeeeeat." There are a lot of hacks that use other hack's coding, so people here like to see hacks that show original ideas. You know how many hacks use the homing attack? A lot. So, it's really refreshing when people see a hack with new and unique ideas in it. Here are those guides I was talking about: http://info.sonicretro.org/SCHG_How-to:Add_Extra_Charactershttp://info.sonicretro.org/SCHG_How-to:Add_new_moves_in_Sonic_1


    Edit: Thanks Crash, I needed to come back down to Earth.
    I would alsolike to apologize to Rezeed. I acted out in frustration, and without thinking. It's still no excuse for my rude behavior. It will not happen again.
     
    Last edited by a moderator: Sep 19, 2013
  12. Crash

    Crash Well-Known Member Member

    Joined:
    Jul 15, 2010
    Messages:
    302
    Location:
    Australia
    What the hell dude?

    Calm the fuck down, Jesus Christ.
     
  13. Devon

    Devon A̸ ̴S̴ ̵C̵ ̷E̶ ̸N̸ ̴D̶ ̵E̶ ̸D̶ Member

    Joined:
    Aug 26, 2013
    Messages:
    1,377
    Location:
    your mom
    Crash, who are exactly referring to?

    If it's me, I edited this to make it less "mean" I guess I could say. That one step with all of the caps and such were from the 1st version. It is currently in it's 3rd Revision.

    If it's someone else, carry on.

    EDIT: Nevermind, I figured out that you were referring to someone else. Forget what I said.

    EDIT 2: Due to the mistake, please trash this one post.
     
    Last edited by a moderator: Nov 3, 2013
Thread Status:
Not open for further replies.