Advanced Developer Topic
What is a Bonus Set?
Did you think of some real challenges to punish the undertaking gladiator while you where designing a set? Or maybe some fun extras just cluttered up your core? Have a high amount of requests for something that just seemed out of place in core? RetroAchievements is encouraging and welcoming of these challenges and fun, but we'd like to stay organized. Bonus points for popular sets are a great idea!
What should I include in a Bonus Set?
Sets designed to test a Mastery's skill and provide a new challenge and bonus fun. You should always follow the "Is this really different?" when deciding on Bonus Set Achievements.
Fun Extras: Sometimes a game just needs more fun! Have things that just wouldn't fit to core? A Bonus Set is a good place for them.
Very challenging: If its generally voiced an Achievement is too difficult for the casual player, its a prime candidate for your Bonus Set. Keep in mind you should limit the difficulty on such a set so that a human can still get them. Most Expert gamers are still not speed-run quality material.
Top Secrets or Grind Sessions: These typically would frustrate a casual player to no end. But a Bonus Set player would enjoy the challenge. Examples: "Get all characters to max level", "Max Strength, Defense, Magic on all Characters", "Hit object X number of times", "Win # of Mini-Games", "Get X rare item".
How do I create a Bonus Set?
You should of course pitch the idea first . It is your duty and a rule to do so.
Currently, creating a Bonus Set is not easy. You must apply a non-destructive hack to a copy of the original ROM file and release the IPS patch which includes the differences for people to be able to enjoy it. Patching a ROM file with an IPS patcher is relatively easy. A player enjoying ROM hacks for additional challenges is well-versed in the procedure. Creating a safe non-destructive IPS patch, however, is your challenge should you choose to accept it.
More often than not an admin (such as Salsa, whom is head of the Bonus Set project patch creation) will be able to put you on the right track. If you just develop achievements, diving into creating the appropriate patch can be cumbersome and confusing.
If you're a programmer and an artist at that and aware of the proper use of hacking utilities, the steps are provided below for you for generating a cosmetic IPS patch. Make sure to follow the guidelines!
This method will change as Bonus Set becomes an integrated feature of RetroAchievements and the RetroAchievements emulators. You can however contribute artful IPS patches and sets for the addition of this automatic feature in the meantime.
Step 1 - Obtain the original game
The first step in designing your Bonus Set is picking up the original game ROM. We cannot provide a download venue for this. Do you have your ROM dumper handy?
Step 2 - Create a copy of the original game ROM
This will be the file you will be editing to become the Bonus Set ROM
Step 3 - Grab a hex editor or sprite-hacking tool.
You can skip this if you already have one. Several games already special ROM hacking tool chains. A lot of them are available here on github, but there's a plethora of them on ROMHacking.net that make the task easier. You'll need to use a more generic tool for a game that doesn't have one. The edit needs to be enough to create a new MD5sum for the ROM file. Tools to edit your ROM can be found on ROMHacking.net's Utilities Page.
Here are some narrowed searches which may help:
- Sprite Hacking tools - ROMHacking.net Filtered Search
- Text and texttable hex editors - ROMHacking.net Filtered Search
Step 4 - Editing by following the rules!
Please see the Bonus Set Cosmetic Patch section of the ROM Linking Guidelines for more information.
THIS STEP INVOLVES ASKING FOR APPROVAL BEFORE PROGRESSING FURTHER
It is integral that you ask for approval before linking anything to RetroAchievements. It is your duty to do so as part of the RetroAchievements Developer Code of Conduct.
Step 5 - Link the MD5 to the new Bonus Set
Load it in an RA Emulator after approval, and follow the instructions for linking your new Bonus Set ROM to a new Achievement set on the website. If your game produces an MD5 which collides with another game, you will have to make further edits to generate an MD5 which RetroAchievements loads as a new game.
Step 6 - Edit the new set's details page
Browse to your user page and your new game's page should be listed. You can edit the game's details, screenshots, and information from the Dev Options panel on the new set page.
ASK AN ADMIN TO REVIEW YOUR WORK AFTER COMPLETING THIS STEP
Step 7 - Create achievements for the set, announce and release.
You can now begin developing achievements for your Bonus Set. When you are finished, announce your Bonus Set and include the working IPS Patch in the forum thread for it after pushing them to Core. Members currently need to apply the patch to their original game ROM as you have done in testing to play the Bonus Set. You are not permitted to release the patched Game ROM itself. You must release the IPS Patch ONLY to meet with guidelines on not publicly releasing copyrighted content on RetroAchievements).