Ever since I was a little kid, it's been my dream to create a video game of my own—particularly a Mega Man game. In the last few years, I've had multiple opportunities to make that a partial reality; I've designed levels for multiple Mega Man fangames, and I even have my name in the credits of an official Mega Man game. Yesterday, my dream was realized in full with the release of OH JOES! (A Proto Man Adventure), a scrappy little platformer that took 2 years and 35 people to make. Working on this game has been a fun, infuriating, soul-crushing, uplifting, and highly educational journey, and I've got plenty of stories to share. Some of them may even be interesting.
If you've seen any of my YouTube videos or Mega Man fangame livestreams, you know that I harbor a special grudge against Joes—an iconic enemy type that has, in my estimation, long overstayed its welcome. Nothing sends the pace of a game to a grinding halt like a durable, shielded enemy blocking the boring hallway you're trying to walk through. There should be some obvious irony, then, in my decision to design a game centered entirely around Joes.
Following the conversations we've been having on the Endless thread and after playing through some of the MaGMML levels, I got a crazy idea for a short, tongue-in-cheek fangame that's basically a glorified MaGMML level, where the enemies are exclusively Sniper Joes and their cousins, with the intent of showcasing that there are SO many more ways to use these enemies than we usually see. Naturally, Proto Man will be the hero, because all those other dudes with shields are just posers that need to be eliminated.
First, I wanted to ask your permission to use elements from the MaGMML devkit / Blyka's Engine demo (plus those tantalizing physics upgrades you're talking about for Endless, if/when available to the public) to make the game. Most of what I want to use has already been programmed, so no sense in reinventing the Wheel Cutter. I of course would give full credit, and I'd run the attribution by you before releasing the game, in case you wanted to make any changes to the wording.
Second, I'd like to ask whether either of you would have any interest in contributing to the project. I admit I'm in over my head here and could definitely use the programming help. Coding doesn't come naturally to me, and though I'm sure I could bring myself to a passable level of competency with enough time and effort, and I'd rather collaborate with people who know what they're doing and can do it WELL. I figured I'd ask the two of you before trying to recruit random strangers, because I know you do good work and seem pretty efficient at it.
Here's what I'm hoping to include—let me know if this is overambitious:
- An intro and ending cutscene
- A few more types of Joes that aren't in the devkit*
- An oversized Apache Joe helicarrier boss fight, which drops a small assortment of Joes when defeated
- 4-8 special weapons TBD, plus one or two non-Rush support utilities (something like Super Arrow, probably), all of which can be collected as items during the course of the stage
- An Energy Balancer, also collected as an item (or more amusingly, given to Proto Man by Mega Man in a short cutscene, the reverse of MM6)
- Maybe a fortress map, even if the game ends up just being one long stage
- Maybe a miniboss; I've got a couple ideas
- Maybe a functional Proto Shield, either as a built-in function of the hero (like MM9/10) or as a separate utility (like MM7)
- Maybe a couple more obstacle types that aren't in the devkit, but I can't think of any I'm really itching to include
*Specifically, Crystal Joe, Apache Joe (which I assume will be obnoxious to program), Rider Joe (which I'm trying to adapt to move back and forth on the surface of water, but am having trouble with), and Returning Machine Gun Joe (with or without the option to knock off his shield), plus maybe one or two of the more obscure ones from the spinoff games if they're easy enough to program. I actually managed to implement an authentic Machine Gun Joe (minus the jumping) based on the Returning Sniper Joe template, so I'm not totally hopeless.
I'm going to keep working at teaching myself Game Maker, but I would welcome any kind of assistance or advice you could offer. I really just want this to be a short little side project with a few custom elements, and not some huge deal. I can handle the writing, art, sound, and level design; it's just the programming that intimidates me. If the list above seems like more than a week or two of work for somebody who knows what they're doing, then I DEFINITELY need to rethink this.
In fact, it took about 4 months just to lock down the programming. I wanted to ensure everything essential was programmed and stable before starting work on the level design—and because I am not a programmer, I wanted the most onerous part of the project out of the way as soon as possible. Along the way, I scaled back the weapon roster, gave the player the Energy Balancer and all weapons by default, and ditched the helicarrier boss idea—which is totally going to be the final boss of HERE WE JOE AGAIN! (A Completely Unnecessary Sequel to OH JOES!) if I ever have a large enough lapse in judgment to do this kind of thing again.
With most of the technical prep (supposedly) completed, the next big step was the level design. I like to map everything out with placeholder tiles, adding real graphics toward the end of the process when the design is more or less final. For me, this keeps the focus on the gameplay, and it minimizes the wasted time and room for graphical error associated with repeatedly redecorating a level while it's constantly changing.
By the beginning of October, OH JOES! looked like this (click to embiggen):
The colorful Sheep block path in the middle was still in progress; I programmed the gimmick from scratch and was having trouble getting it to function properly in the scrolling section up top. Most notably, there was a Yoku block path in this iteration. Although I was pleased with how deviously evil it was to use these disappearing/reappearing blocks as an unstable bridge, a temporary cage, and an underhanded lesson about making assumptions, the whole path ended up being more mean than fun. On top of that, I kept getting stuck inside the blocks as they appeared, instead of being shunted to the side as is customary. It wasn't long before I swapped out the gimmick for the one ultimately used in the game.
I don't remember the exact thought process that extended the length of this project from a few more weeks to a year and a half, but I was having fun with the level design and had no shortage of ideas for new challenges. By mid October, the game had grown enough that it made sense to split it into two stages—one to introduce the Joes, and one to introduce the gimmicks. By early November, I was working on a third stage that combined pairs of gimmicks from the second stage. Admittedly, some of the pairings were awkward—I ran out of good ideas for combining Chill blocks with fake blocks after the first screen—but that's what happens when you stray from the design plan. I had selected those gimmicks because they were already programmed (or straightforward enough to program), not because I was thinking about smashing them together later.
By December, a fourth stage combining all gimmicks was underway. I was happier with the "sampler platter" approach of the fourth stage than I was with the "maybe these will work together" approach of the third stage—I even briefly considered cutting the third stage altogether. Unfortunately, math was not on my side here: 12 substages (one for each gimmick) times 12 screens each (one for each other gimmick being combined, plus an intro screen) plus hub screens connecting all the substages equaled 150+ new screens to design. The entire game was originally only 50 screens. So much for OH JOES! being "basically a glorified MaGMML level."
It took me until the middle of January (now 2017) to design something for all those new screens, and by then, I had found yet another way to make more work for myself. I'd finally gotten around to programming a final boss—a mech that broke off into a helicopter when destroyed, which dropped the Joe who stole your shield (who, now defenseless, would just waddle around the room until destroyed). Any normal developer would've been satisfied with that kind of boss fight, but I had let the gimmicks become as much of a focus as the Joes.
At the end of the fourth stage was a teleporter with a display overhead that cycled through pictures of all the gimmicks in the game. When you jumped in, you were teleported to a boss chamber featuring whatever gimmick was pictured. I only designed a handful of boss chambers before I realized that this idea was just not going to work. Too much clutter—not to mention that the helicopter portion of the boss fight was obnoxious, broken, and not really in line with the rest of the game's challenges. The boss fight was promptly revamped to be the simplified one seen in the final game.
This is where OH JOES! crossed the boundary from "longer than originally planned" to "exactly the kind of overcomplicated game I was trying to avoid." I started spriting a third playable character in June. I added the Proto Shield and all its projectile-deflecting complications as a postgame bonus. I started sneaking in more and more Easter eggs, many of them almost too obscure to be worth the effort. And that's to say nothing of all the coordination I was doing with the composers, artists, programmers, translators, and playtesters who had become involved in the project. For months, I had thought about OH JOES! as this little solo side project, but that was no longer remotely the case by the halfway point of 2017.
I can't even begin to explain where the next 3/4 of a year went. That's when playtesting kicked into high gear and bug-fixing became a top priority—a lot of time was devoted to waiting for playtester feedback, watching people's playthrough videos, pulling my hair out at the sight of outrageous glitches I didn't know how to fix, retooling one thing after another in response to feedback, banging my head against the keyboard because I couldn't figure out how to fix something, and waiting on responses from the people I solicited to fix my game. The last 48 hours leading up to the game's release were spent replaying the game on different difficulties as different characters, fixing last-minute issues, re-testing everything to make sure nothing else broke in the process, and getting everything in order for the big announcement.
Now begins the long process of incorporating feedback from the largest group of playtesters I'll ever have. OH JOES! may be released, but it's almost like the project is just getting started again.