Building a Pokemon Trainer for Crystal Clear: How to Properly Make Your Custom Character
This may be a question some have or have always wanted to understand better. This is one of those rom hacks that has a more comprehensive system for custom characters. Prism let you pick from a select from few different sprite options, it then gave you sliders to change the color to whatever. Crystal Clear give you the reigns and leaves you to do you own art as an option. I’m gonna mostly cover how the mechanics of the injector work so you can optimize you sprites for it. Many of the more artistic concepts are covered in other corners of the internet. This is mostly gonna focus on how the injector works and how to best take advantage of the system for making your sprites to use in game.
Where Do I Start?
By now a lot of people know that you use the template provided on the discord or the injection site. The reason we did this was to create a simple plan for people to use so they didn’t have to worry about sizing. The original injector concept was gonna use separate images, then we decided having one single image was easier for people to work with. It turns out we were right. So, now what the injector does is it takes the template and it has hard coded coordinates that says where each “image” is. By the magic of the Pillow library in python, it creates an image from each sprite that is then converted into Gameboy image data by the Gameboy development tools. It also takes the palette from the main front sprite as palette data for the character select screen. This is why we have caution not to mess with dimensions of the template, because then you might get weird sprites or get errors about having too many colors.
There are some pieces of sprites that we recommend not touching in your character customization process. These pieces are on the sword sprite set and the fishing sprite set. The last half of these are animation frames the game uses during transition to the final sprite you see when using these items.
Another caution, always triple check the number of colors once you finish with a sprite set, so when you finish your walking sprite or surf sprite, use that cool color select tool. Most modern photo editing programs allow you to drop the threshold to zero, so you can see if you have a variation in your black lines. You will notice that the other sprites are in gray scale, I will recommend using the color picker/dropper tool for picking you colors on other sprites. This method will ensure that you pick the same color over and over.
I Finished My Sprites, How Do I Add Them?
Finally, once you finish your sprites and it looks all dandy, you can go to the injector site and plug away. You can input your default name for the character, this allows you to skip name input during startup by simply pressing Start and A. You’ll also see a hair flip option, this just decided whether you wanna keep your top 8 pixels in the same orientation during the walk animation, or you wanna have a swag hair flip, just like Blue. And if you haven’t already, be sure to have the rom you wanna inject is selected and ensure that it is at least 2.0 BABY.
I already mentioned the process the image goes through in preparation for injecting. Once we get to actual injecting, all it does is check a certain byte to see if it is the right version to verify you aren’t using another rom or an old one. It then overwrites data that has be reserved for injecting sprites into with your custom sprites and palette. Once you run the game, it sees that those spots aren’t empty and allows you to select it. And viola! You can now play as your sanic OC on Crystal Clear!