AdamCatalyst Posted December 28, 2023 Report Share Posted December 28, 2023 (edited) Advice for Modders, Meddlers, and other Creative Rabble-Rousers (last updated 2024 01 03) Getting Started Start with as clean a ROM as possible. This will make it the easiest to edit, and puts you in the position of having the most creative control. I recommend starting with either the 28 or 32 team templates, and/or an original verified [!] good ROM dump. Beyond being able to accommodate more teams, the templates have the advantages of many of the graphics already being "de-compressed", which will make editing much easier. Just note that the templates are not "clean", in that they have some elements modified or removed that you may want to preserve or restore. I sometimes find myself going back to the original ROM to verify how things originally were. Basic good practices: Make sure that you have a file versioning and naming syntax system, as well as an automated backup system. Document everything that you do. Go slowly at first. When in doubt, change one variable at a time. Read lots of forum posts and do the tutorials. Even ones that you think don't apply to you. Valuable knowledge can be found in unexpected places. Don't be afraid to start over, multiple times. If you've documented things, this might go shockingly quickly. Learn from Others Review the detailed tutorial posts that folks have taken the time to write, the newer the (usually) better. The more you see the entire picture, you start to see patterns. The more patterns that you start to recognize, the faster you will get, and you will start to be able to make off-the-books discoveries of your own. Play lots of other people's ROMs. Take notes. Don't blindly apply pre-made patches to your ROM. Run a comparison after patching, to see exactly how the code has changed. Try to understand what was changed and why. Imitation is an underrated form of learning. Look at what others have done (and you admire), and then try to re-create it yourself. The process of manually recreating something is an invaluable learning process, where you can build explicit and implicit knowledge. Furthermore, even if you start with imitation, you will naturally make different specific choices along the way that will eventually lead to it becoming your own thing. Don't re-invent the wheel if you don’t need to. As a counterpoint to my advice to start with as "clean" a ROM as possible, or trying to manually imitate things, don't be shy about ripping off code from other people's ROMs. But always give credit where it is due. And if in doubt, give credit. You should clearly know when something was the result of your labour alone. Share what you know. But also share what you have found, but don’t understand. The more the community knows, the more than community will be able to help you. And your loose ends might be someone else's treasure. Getting More Done Use a comparison tool (I use “Beyond Compare”) to help isolate relevant differences in code from one person's ROM to another. By comparing ROM "A" and ROM "B", I've been able to sometimes make new discovery "C". This is my #1 tip for anyone. Consider using a prioritization model, such as MSCW, where you define what a release Must do, Should do, Could do, anger very importantly, Won’t do. Further to that last one… Give yourself limitations. This can be just as important as goals for some people. Develop efficient testing routines. This can take up a lot of time. Stop and think about re-designing your workflow from time to time. Personal Development Get off the computer. A good idea to play, then work on paper. All tools and interfaces have biases that effects us. Find the ones that wrk best for you and/or change things up to help you change up your thinking and doing. Make big picture decisions about art direction, creative direction, colours, etc. Give yourself both strategic guidance and limitations. Figure out what you want to do before you do it. Unless you find yourself stuck with indecision. In which case, just start doing it, and figure out what you want later. Make mistakes faster. Figuring out how much time to spend planning and critically evaluating plans versus just mindlessly doing is a lifelong challenge. It’s easy to waste time either which way. In my personal teaching, I personally find that most people over-think things. Push yourself to mockup up ideas as quickly as possible. If it’s a good idea, that will show up in a terribly rough mockup. But there is no way to know for sure until it is tried. Consider separating your personal creative process, your personal critical processes, your personal technical execution process, and your personal skill building processes. “Creatives” who work alone sometimes face paralysis from trying to think through too many roles at once. If you are an army of one, consider role-playing through different steps. For instance, when you’re creative, create with reckless abandon. Do not pre-judge. When your creative session is up, hand it to your critical self, and assess what is working, what isn’t, and give your creative self directives for the next creative session. This may sound silly, but trust me, I’ve been teaching young designers for over a decade, and this compartmentalization can be extremely helpful. Specific Areas of Interest Before editing player sprite uniforms, be aware that different ROMs have already changed the layout of the colours on the uniforms. This is a huge amount of work, and your ROM might benefit from taking the player sprite tiles from another ROM. You Amy also be able to make the changes that you want more easily by “diffing” two different sets of player sprites, in order to isolate key elements or colours… …Speaking of Colours Make sure that you are familiar with basic colour theory using a Hue, Saturation, Value model. Understand that human beings perception of tone is much more consistent than their perception of hue. Furthermore, we are much more sensitive to contrast of tone than contrast of hue or saturation (hence why we use 4:2:0 encoding in video etc). So, when making colouration decisions, you usually want to err on the side of prioritizing tonal relationships over accuracy in hue over accuracy in saturation. This usually looks better. You can toggle your screen into black & white mode to review the tonal values. “If your colours don’t work in black & white, your colours don’t work.” ® When selecting your colours, it is very helpful to have an overall concept of the colouration that you are looking to achieve. For instance, should it look realistic? Like watching a game in person? Vibrant? Like watching a game on TV in the current day? Like watching archival footage of a game? Like it was shot on film? Shot on video? A great example of this is @von Ozbourne's Olympic Hockey 1920 ROM. Consider your colours holistically. Put together a meta-palette of all the colour palettes in your ROM. I found this approach extremely valuable in setting the overall look and feel. When you track the relationship between the pink colours of players faces, the pink colours audience members faces, and the pink-ish highlights on red sweaters etc., you are able to make decisions that have a more immersive holistic impact. You might consider something like this as a start: While it is useful to look at the official colours for team logos, etc. understand that the colour that you see is not the same thing as the colours that are specified. There are all kinds of other factors that affect our perception of colour, including the lighting that it is shown with, the texture of the fabric the colour is applied to, any mediating lenses or recording mediums, etc. If going for anything other than an unnaturally vibrant presentation, you will likely want to skew those official colour values towards your intended art direction effect. Aside from collecting official colours, you may also want to collect image references for the colours that you are trying to achieve. For instance, grabbing a bunch of screen captures of recent broadcasts of Leafs home games will depict the blue colour of the Leafs uniforms differently than the official RGB colour values. You can use tools like the built-in “Digital Color Meter” on a Mac to sample the colour values used in the photos. Use a large aperture size to average the values in a range of contiguous pixels at once. Furthermore, note what you are sampling (sweater shadow, helmet highlight, etc.) to get a sense of how those official colour value transform in an image. If using official colours, you will inevitably come across scenarios where it is unclear what the Sega MD / Genesis equivalent will be. In general, I would advise in always “rounding” colour values in the same direction for relative consistency, but in some case it may be desirable to have exceptions, when considering the overall colour palette of your ROM. Further to the last tip, you will inevitably also encounter scenarios where you will want to darken or lighten an official colour in order to depict shadows and highlights on a players uniform, or anti-alias a logo, etc. Again, I would advise to make these adjustments with relative consistently for a more immersive effect, but you will also want to consider your art direction etc. It can be helpful to understand that in real-life colours look less saturated than when shown on a back-lit display like a television. Furthermore, in real-life a medium tone colour will usually appear to de-saturate (towards black) as less light is applied to it, and conversely appear to saturate more heavily as more colour is applied to it. However, eventually when too much light is applied it, it will again appear to de-saturate (towards white). When watching a game on a screen, the colour-grading on the broadcast (as well as the colour grading on the display device) can sometimes diminish this effect by compensating with more saturation, particularly in shadows. I don’t recommend importing images into TileM and using using TileM to reduce or assign the colour palette, as it often does a mediocre job. I highly recommend defining the colour palette in TileM or Retro Graphics Toolkit or similar software, and then assigning those colours manually in software like Photoshop for much higher quality results. Hand coloured (and had-drawn) almost always looks better than auto-coloured or (auto-digitized.) Tools that I Don’t Use, but I Do Recommend EA NHL Specific EARE (Smoz’s “EA Rom Edit” utility) https://forum.nhl94.com/index.php?/topic/10443-eare-ea-rom-editor-for-nhl94/ Libre Office Calc (free spreadsheet software) https://www.libreoffice.org Microsoft Excel (more powerful spreadsheet software) https://www.microsoft.com/en-CA/microsoft-365/excel Tools that I Do Use EA NHL Specific NOSE (Wboy's “New Old Skool Edit” app) https://forum.nhl94.com/index.php?/topic/26368-nose-latest-version-download/ NHL Hockey Roster Tool (tool for quickly exporting / importing rosters too and form CSV) https://forum.nhl94.com/index.php?/topic/11779-tool-roster-extracterimporter-tool/ Smoz's Patch Applicator (quickly and easily apply some popular hacks and patches) https://forum.nhl94.com/index.php?/topic/12181-tool-hack-applicator-aka-smozrom/ Rosters, Lines, etc. Apple Numbers (any good Spreadsheet apps will do. Every one has some uniquely valuable tricks, but lack some functions that others have.) https://www.apple.com/numbers/ Table Capture (utterly invaluable browser plugin for scraping data) https://www.georgemike.com/tablecapture/ Text Sniper (useful for quickly grabbing any text / numeric / tabular data from a web page) https://www.textsniper.app Visuals Adobe Photoshop Desktop (Bitmap editing, Dithering, Image Comparison, Rasterization, and nearly anything image related) https://www.adobe.com/ca/products/photoshop.html Adobe Photoshop Tablet (manually drawing / editing dithering with a stylus.) https://www.adobe.com/ca/products/photoshop/ipad.html Apple’s Digital Color Meter https://support.apple.com/en-ca/guide/digital-color-meter/welcome/mac HivePal (Palette editor) https://www.romhacking.net/utilities/1182/ Retro Graphics Toolkit (Dithering, Palette editing, and other specialized tasks) https://github.com/ComputerNerd/Retro-Graphics-Toolkit/tree/master TileMolester 0.16 https://www.romhacking.net/utilities/109/ Coding, Testing, & Export AFS FIX CS MD 32X (checksum fixer) https://www.romhacking.net/utilities/1610/ Beyond Compare (file comparisons and more) https://www.scootersoftware.com I can’t stress this enough: I have personally found file comparison software an utterly invaluable tool. I use "Beyond Compare" almost as much as I use my HEX editor. This enables me to isolate mods, quickly change variables, search for things way more effectively, debug way faster, and do a much higher level of quality control. I’m still discovering new ways that it can speed things up. Genesis Plus GX (more accurate Genesis emulator) https://github.com/ekeeke/Genesis-Plus-GX Hex Fiend (any Hex Editor will do) https://hexfiend.com OpenEmu (best emulator choice if you are on a Mac) https://openemu.org MultiPatch (best patching utility if you are on a Mac) https://projects.sappharad.com/multipatch/ Sega Genesis Mega Drive ROM Analyzer (great for reviewing header info) https://www.romhacking.net/utilities/1344/ Sublime Text (any good text editor to edit TileMolester XML or similar files) https://www.sublimetext.com More Please! Got any advice, tips, tricks, or other insights that you're willing to share? Please leave a post below! Edited January 3 by AdamCatalyst cleaned up language, added formatting, incorporated Smoz's advice. 1 5 2 Quote Link to comment Share on other sites More sharing options...
Smashville Posted December 29, 2023 Report Share Posted December 29, 2023 (edited) Unfortunately this is the person who ALLEGEDLY colluded with Russians and now he may be leaking secrets to Chinese hackers. 🤣 Edited December 29, 2023 by Smashville 2 Quote Link to comment Share on other sites More sharing options...
EagleXIII Posted December 29, 2023 Report Share Posted December 29, 2023 On 12/28/2023 at 5:59 PM, AdamCatalyst said: “Creatives” who work alone sometimes face paralysis from trying to think through too many roles at once. If you are an army of one, consider role-playing through different steps. For instance, when you’re creative, create with reckless abandon. Do not pre-judge. God damn. Subconsciously doing this has been such a huge roadblock for every creative endeavour I’ve ever attempted in my life. I’ve always worn both hats at the exact time and really struggled to separate or them. This is a fantastic guide, and I’ll definitely be trying to apply the quoted advice to my every day life too. 1 Quote Link to comment Share on other sites More sharing options...
smozoma Posted January 2 Report Share Posted January 2 I'm a bit worried about the advice to start with the original ROM... the graphics aren't decompressed and the number of teams is limited, so they'll end up having to redo all their work if they start with just plain roster updates. This should be mentioned, since they'll need to make their choice of base ROM based on their goals. 1 1 Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted January 2 Author Report Share Posted January 2 3 hours ago, smozoma said: I'm a bit worried about the advice to start with the original ROM... the graphics aren't decompressed and the number of teams is limited, so they'll end up having to redo all their work if they start with just plain roster updates. This should be mentioned, since they'll need to make their choice of base ROM based on their goals. Thanks for the feedback! YES, will make those changes ASAP. 1 Quote Link to comment Share on other sites More sharing options...
Drezz Posted January 10 Report Share Posted January 10 I started with an existing ROM and compared it to a base version of the 30 team ROM by wboy which is also a good starting point to learn where the decompressed graphics and reordered tables and pointers are. Then I just used the 30 Team ROM and started from scratch with the notes I had made and the ones here from wboy & KingRaph. Experiment! Sometimes you come up with happy accidents. Lord knows I had my share... (background tile for me) 1 Quote Link to comment Share on other sites More sharing options...
chaos Posted January 11 Report Share Posted January 11 @INDIO made a 30 team Classic ROM using wboy's base. Reverted everything back to classic 94. Probably the best ROM to start out with, as it is classic 94 in the 30 team ROM format. Graphics are decompressed already. 2 1 Quote Link to comment Share on other sites More sharing options...
AdamCatalyst Posted January 11 Author Report Share Posted January 11 12 hours ago, chaos said: @INDIO made a 30 team Classic ROM using wboy's base. Reverted everything back to classic 94. Probably the best ROM to start out with, as it is classic 94 in the 30 team ROM format. Graphics are decompressed already. Oh, man, I wish I knew this when I started. Thanks so much! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.