19 Lessons I Learned From Developing Super Event Horizon (Part 2, #11-19)

If you haven’t read part 1, numbers 1 through 10, I recommend reading that first!

11. Don’t push new players away just to make your hack hard.

In the level To The Portal!, I wanted to create a slope jump platforming challenge that veteran players would find fascinating. Instead, I created a point where players unfamiliar with how SM64 worked felt robbed. Failing this challenge resulted in instant death and the last checkpoint I gave the player was several platforming segments away. I created fun for some at the expense of the majority.

When watching Simpleflips play through my romhack on Stream, he made use of astounding tricks I didn’t even realize I enabled through my level design. Anything I wanted the player to see and think was cool was obliterated when a speed runner played my game first try.

Instead of trying to balance in the middle, I should design simple areas for new players then create optional navigation paths that added traversal variety for experienced players. Design each level to have an easy path and a hard path lets players gravitate to the challenge they crave without slapping anyone’s wrist. I won’t make this mistake again!

Castle Grounds

12. Exploration feels dynamic when you know where you should end up, not where you should go next.

Often, I see very clear, unambiguous paths in adventure games. These paths make it very easy to spot where you should go next and the exploration starts to feel mindless. Super Mario 64 excels at providing the player with movement options that help to flesh out its nonlinear exploration. This aspect of the games appeal can be locked out by a designer if they create simple paths with specific navigation requirements. Little say that I tried to avoid this where ever possible given that I was making semi-linear hack.

In the Castle Grounds level of Super Event Horizon, I tried to design the map so it would start off feeling open ended but would funnel the player towards a certain direction. If the player happened to pan the camera up, they would see a castle in the distance and probably be curious how to get to it. I wanted to make sure the level was big enough for players to set an goal for themselves (get to the castle) but never feel like getting there was the only thing they could do.

13. Fantasy gets interesting when it’s more fun than believable.

Here’s a little story:

In an early build of Hell Grove, I had the player leap from a gondola platform to a medium sized ledge across a rather distant gap. How exciting would it be for Mario to fling himself all that distance just to make it across [as intended]?!

When the player jumped the gap, they’d lose 2 health from the fall damage. I was worried players would attempt this jump at too low of healthy and die on impact, so I put a pool of water on the ledge to provide a cushiony reward for a well spaced jump. I thought it was weird that their was water near lava so I pushed the lava back a little and surround the water in grass to suggest it was part of a fertile oasis. I even put in a lil Toad that said, “Heck yea there’s grass in Hell! We even have a Taco Bell! (that rhymed… unintentionally)”

Then I noticed the water was messing with the geometry underneath the pool so I had to take it out. Removing the pool of water went unnoticed but play-testers DID comment on how disappointed they were that the grass and toad were gone. I didn’t realize it was such a big deal but apparently the oasis was a hit! So I retextured the rock to grass and planted a tree where Toad was.

The end.

Hell Grove

14. Turn your motivation for sharing your game into a marketing campaign!

As development was coming to a head, I started fantasizing about how life changing this mod could be! Sure it’s a romhack of a 20+ year old game but… what if this was a breakout hit with the gamers!? In this moment, I could have called myself a fool and gone on with my day but my fantasies got more vivid. I realized that while this game might not be a hit, the next one I make could be! Getting practice with making and publishing promotional material seemed like the right thing to do (and it was!)

Trailers across social media platforms, playlists of the soundtrack uploaded to three different streaming services, a world record speedrun published and I even sent an early copy of the rom to N64 Today. Even now, a portion of why I’m writing this postmortem is to stay motivated through marketing.

If you want to have your game taken serious, be the first one to do it! Act like you’re a publisher and you need to sell a million units to break even. Do what ever you think is write to get your game into the hands of other people. You’ll learn a lot about marketing this way!

15. Get feedback from as many people as you can.

Everyone says this but seriously… feedback is super critical. If there’s one thing I wish I could have done differently during the development of Super Event Horizon it’s have more people play it before it released (and do more pre-planning.)

Having your friends say nice things is fun but encourage them to be real jerks about it. Have them nitpick your game and try to figure out when their jokey rudeness is coming from a real place. Strangers are good too but they’re harder to come back if you’re operating on a micro-micro-budget like most mods are. Still, send your game to acquaintances on Discord. No matter what they tell you, it’ll be useful in someway.

I even had my mom play my game. Unfortunately, the title of my romhack was Super Event Horizon and not, ‘Mom, MOM, you gotta go to the ship, Ma. MA! Go to the ship!’ or else I think she would have been a natural.

Castle Hall

16. Realizing that ‘Someone is really going to have to polish all this.’

Many times when playing through a level at the end of a night, I’d see a bug, glitch or frustrating thing then proceed to tell myself, ‘ehh, that’s so small and obvious. I’m sure I’ll just fix it tomorrow.’ Spoilers, I didn’t fix it tomorrow.

You’re two days before launch scrambling to rediscover the 50 bugs you once knew about then forgot. You discover and fix 5 of them then just when you think, ‘this is good, this is probably going to be the final build’ you discover 13 more.

Saying the little things add up is a definite understatement. Nothing should go unchecked in game design and projects you think will take you 3 hours often take all day. Don’t put small fixes off til the last minute. Worst case scenario, you release a v1.1 patch after release but means you know your day 1 launch is going to be buggy. Why knowingly release a buggy game? Fix problems as they arise or get really good at documenting them. Either way, ‘someone is really going to have to polish all this.’

17. Rom hacking was my favorite ‘intro to game design.’

With a game under my belt from Rom Manager (which you can think of almost like a mediator between you and the SM64 engine) I feel really good with all the knowledge I took away. Compared to on-rails courses for engines like Game Maker and Unity, SM64 rom hacking is loads more accessible for people who prefer to freestyle with a piece of software until they can’t figure out with to do next.

I also really dug that I could rely on my mechanics being preprogrammed for me. Relying on the established traits of SM64 let me focus on designing interesting settings to use them — which is where I’ve learned my passion truly resides.

To an artist or level designer, rom hacking is paradise, but I don’t want to overlook the role programming plays in rom hacking as well! Many coders get their start manipulating the establish scripts within SM64 to do amazing things! Double jumps, text engines, power ups, ect… can all be implemented into the game if you’d rather get creative with code. Honestly, rom hacking has been truly my favorite tutorial for game design!

The Buttress

18. Resusing assets/scripts/levels is something the games industry needs more of.

A lot of AAA game studios make assets for their games from scratch every time they start a new project. Sometimes it’s for increased graphical fidelity; other times it’s to get out of muddying licensing rights. Either way, there are thousands of old games out there that are incredibly well modeled and programmed but can’t being touched by anyone but the modding community (assuming someone has figured out how to translate memory addresses into something usable.)

Some companies like Valve and idSoftware are known for releasing their ‘old’ engines with some free assets and scripts to the public as open source software. This is far from the industry trend, however, and many for free but many companies aren’t interested in that at all. Companies cling to their source code even if they have no release to go back to those titles. Think about it: what’s Ubisoft going to do with the source code of the original Far Cry besides release an HD edition or sell it to the highest bidder? Think of how modders could amplify your brand recognition made the source code public. Everyone would be modding the hell out of it potentially how they do Doom 2.

I understand the business side of why companies do this completely but I think businesses are ignoring the fans who don’t care about new games and still religiously play the old ones. Obviously romhacks are easy to make with modern tech but imagine how much easier they’d be for Nintendo to make if they used the source code? We could have a new, hyper polished SM64 sequel every six months if a 5-person development team was delegated to that task. It’d make so many old fans extremely happy and very generous with their wallets.

19. Every single game is decaying and deserves more love.

Worst of all, I think fans and members of development teams get hurt the most when an old game fades into obscurity. So many classics from the N64 days would play great if they just a team of hackers ready to scrutinize their assembly code and implement quality of life patches. Developers could do this even easier with access to the source code.

Since many games are constructed to make as much money as possible for a short amount of time, some games just CAN’T be touched until the IP licenses expires and the games enter the public domain. This almost never happens as companies are super protective of their IPs and often times source code only gets leaked by less-than-legal means once a game is considered abandonware.

Aside from becoming a programmer myself and making it my work to ‘unpack’ the data tucked into these old games assemble code, I’m not for sure how to handle the situation of old games decaying. It’s pretty sad though, and I definitely hope a solution is eventually found.

The Archives

Follow @SheeshFr on Twitter for more discussion starters like this one!