Also, I submitted a level.
Several weeks before the contest opened, I discovered that I had been added to the 48H devteam chat on Discord. I hadn't requested a devteam role, no one had asked me whether I was interested, and I knew basically nothing about the project. I didn't even have an official role; "any help you wanna offer would be appreciated" was the direction I got. I now appreciate what it's like to be a summoned monster in a Final Fantasy game. As long as I didn't have to do anything, I had no problem being on the devteam to discuss ideas. I spent enough time on Discord already; what difference would one more channel make?
Mega Man wins a free cruise, but it's secretly a distraction so Dr. Wily can do evil deeds without Mega Man coming after him! (Unanimous agreement.) Let's name the ship the Elroy, after MaGMML community member Cruise Elroy! (Unanimous agreement.) Actually, forget Wily; the villain should be box-themed! (Dissenting suggestions of Crystal Man from Mega Man 5 embezzling money from Wily, then Clock Men from Challenger From the Future, then these characters as part of a series of fakeouts leading to the real villain). The single absolute worst level should be on some dingy old raft floating behind the cruise liner, circled by sharks! (This elicited a "lmao".) Even in their rawest state, our ideas weren't too far off from their final form.
To make the most of my 48 hours, I requested my mystery box on a Friday night after dinner. I had nothing planned for the weekend, I was in good health and good spirits, and I had a few friends on standby for playtesting. Conditions were perfect. My plan was to stick with the first box I was given (unless it was utterly unusable), wait to see what I got before starting work on the level (I felt like planning the architecture and aesthetics in advance was against the spirit of the contest), and craft a "normal" level that might feel at home in an official Mega Man game (not too long, not too wacky).
There's plenty more I could say here, but in light of everything else, my participation as a contestant is almost insignificant. Those 48 hours were fun and memorable for me, and I'm proud of what I accomplished in that time, but my level is 3 minutes of entertainment in a game that takes upward of 20 hours to complete. My level came in 18th place, neither anyone's favorite nor anyone's least favorite, not sufficiently noteworthy or contentious for people to ever bring it up in conversation—except to comment on the music. The real legacy of "Base in the Boondocks" is bringing "Portrait of a Ghost Ship" from Castlevania: Rondo of Blood to the 48H jukebox and inspiring one question for the music trivia sidequest.
Ten months later, I reached out to ParmaJon, the contest host, to see if I could help out with anything for 48H—hub design, NPC dialogue, etc. I was nearly finished with judging for MaGMML3, so I figured I could spare some time to help push 48H along to the finish line. The answer was yes, so I rejoined the server and started skimming through devchat to get caught up.
48H was in almost exactly the same place I had left it.
Granted, one judge had almost finished judging, and another was relatively close behind. Planning had begun on the weapon tutorials, some important technical stuff had happened with the game engine, the map function was being developed, and a couple tier hubs were in the preliminary stage of design. There had been some changes to the composition of the devteam, too. But we're talking about a game whose main content was thrown together 18 months ago in the span of two days, and we still didn't have screenshots to put on the website. From the perspective of anyone on the outside, 48H was dead in the water.
With ParmaJon's blessing, I started developing a master design document, pulling together everything that had already been planned or discussed and filling in any gaps with my own suggestions. (I've saved a copy here, if you're interested.) I also suggested that we designate someone to make day-to-day decisions in ParmaJon's stead. It took two weeks for us to iron out the design document and less than a day to get CSketch on board as game design lead.
Suddenly, 48H was back on course. Devchat was more active than it had been since the contest closed, and the project felt exciting and relevant again. Although a few of my favorite ideas from the design document didn't make it into the final game (namely, Mega Man's cabin being like the Sky Room from Command Mission, and BomBoy from the Battle Network games running a mystery box shop), I wasn't precious about my suggestions. The purpose of the design document was to organize past discussions, spark new discussions, and give us concrete tasks to work on, and that's exactly what it did.
It was going to be terrible.
In their submitted state, without Skip Teleporters or Beat or anything else that the final game offers to mitigate the difficulty, the entry levels were torturous. I could count on two, maybe three hands the number of levels I genuinely enjoyed. 48H's tight time limit amplified some of the pitfalls of amateur (and even professional) level design that annoy me most, and it didn't help that I was already pretty burned out on Mega Man after judging 170-odd levels for MaGMML3. Consequently, I was very vocal in devchat about introducing features that would sand off the rough edges and balance the difficulty of the entry levels.
One such feature, which we were already working on, was a series of weapon tutorials. What better way to give players an advantage than to help them fully understand the tools at their disposal? I called dibs on the tutorial for Homing Sniper—I had some ideas about how to elevate the training to something more than "mash the attack button to win"—and I made it a point to playtest all of the other tutorials as well. Aside from participating in all the usual devteam discussions (which now concerned the Box Cartel fights, possible postgame content, and whether to let players unlock extra checkpoints), my focus was entirely on the weapon tutorials during this period; everything else seemed to be under control and moving smoothly.
When I checked in with ParmaJon and CSketch a month later, it sounded like the game was almost finished, aside from judging. The devteam really only needed help with graphics and programming—two things that were best left to the experts. The only thing left that suited my skill set was NPC dialogue. It was still too early to start writing anything, but I could at least do some prep work.
Knowing that most of the NPCs were going to be regular stage enemies, I set up a sprawling spreadsheet so we could keep track of which NPCs were available, where in the game we wanted to put them, whether we needed to create custom sprites for them, and any notes or suggestions. By the time I was done trawling through the enemy/miniboss lists of every Mega Man game we were likely to pull from, there were well over 500 NPCs on the list, not to mention Duo, Reggae, and several other named characters who might show up. I even included Daidine, a spinning platform from Mega Man 5, because "The fact that this spinning platform has an actual name makes me want it to be able to talk".
Another month went by before I formally rejoined the team—not to write NPC dialogue, but to help design a section of the fortress at the end of the game. It's MaGMML tradition for each judge to make their own fortress level, but only ParmaJon was in a position to do so, and in a limited capacity at that. It fell to CSketch to design the first fortress level and co-design the second with ParmaJon. The third and final level was an independently collaborative effort involving the entire devteam, meaning that we all got to create our segments in isolation before smashing them together.
First reroll: "Your choice of a destructible block". Pfft. I was trying to avoid shooting the terrain. Next.
Second reroll: Venus Waterfall Spawner. Ah yes. The janky gimmick that had become a running joke, on account of it showing up in an alarmingly high number of boxes and being the bane of the programmers' existence. NEXT.
Third reroll: Wave Man Jet Ski, Cricket, Bikky Bomb, Tamp, Nombrellan. I could work with this. And so I did.
"If we need dialogue for any of the weapon tutorials, I can help with that," I wrote. "If we reeeeeally need help with other NPC dialogue, I'll consider it, but I had previously mentioned the possibility of un-volunteering myself if we had enough people to cover everything. I'm not as confident in my ability to write snappy dialogue for random NPCs, and it's been very challenging lately to work up the energy to get back to my creative projects. But if it's the difference between the game launching on time and the game dragging on even longer, I can give it a shot."
After a little bit of discussion with the devteam and with my wife, I was persuaded to try my hand at NPC dialogue after all. Nothing had been written outside of the weapon tutorials, so I had my pick of every tier in the game. I started with Tier 5, the minigolf course—I enjoy minigolf and had been watching a lot of Holey Moley at the time, so that was the natural first choice. It took me all of four days to pick out and arrange the NPCs, write dialogue for them, and implement their sprites.
I gave the devteam a few options and let them decide which tier I should do next. They chose Tier 3, the dining hall, which was perfect because I love talking about food. This one took longer—slightly under a month—in part because I got a little more ambitious and asked for both programming help (for the Hologran gag) and custom NPC sprites for a few enemies from Mega Man 7 and 11 who needed to be redrawn in an 8-bit style.
Spin Attaxx claimed Tier 10 (water park), and I put Tier 8 (library) and Tier 4 (engine room) in the queue for myself. My plan was to keep churning out NPCs until we ran out of tiers or someone told me to stop, whichever happened first. Tier 8 took me only three or four days, and I knocked out Tier 4 in a single weekend. I was bolstered by positive feedback from the team; they seemed to like what I was doing with the NPCs, and any critiques were basically always constructive and beneficial. This part of development was easily my favorite: the project had a sense of momentum; I was fully in my comfort zone; and I felt good about what I was doing, because of both personal satisfaction with my work and recognition from the devteam.
My next claim was Tier 1 (lifeboats), which was a one-day project. As with all the tiers, however, I would go back later to finesse the placement and creation code of the NPCs and polish the dialogue. Tier 1 was attached to the main hub, which was being updated frequently for one reason or another, so I had to make sure no one else was working on that Room file in GameMaker Studio when I was. The last thing I wanted was having my local changes overwritten in a dreaded merge conflict when pushing my work back to the master file, so I suggested we implement a system where anyone who wanted to work on the main hub had to announce it first, in case anyone had unpushed changes. This system mostly worked.
We had discussed adding some info-oriented NPCs, so I created Iota to explain what 48H was all about, a Jamacy in Tier 2 to warn players about a level with broken ladders, and multiple NPCs to guide players around the ship. I created a Junk Golem NPC to provide hints about where to find new sidequests and how to complete them. To make the main deck less overwhelming to new players, I followed through on a plan to lock some of the cabin doors until later in the game.
Because ParmaJon didn't want a traditional shop, players needed ways to stock up on E/W/M-Tanks that didn't involve grinding in the entry levels. I added an emergency M-Tank dispenser to ensure players wouldn't get stuck on the Box Cartel fights, when the entry levels are blocked off. I also created a Mad Grinder who would supply free E-Tanks and W-Tanks based on sidequest progress and Energy Element collection, respectively. It's all too easy to chug E-Tanks instead of applying actual strategy, so I wanted to encourage players to try special weapons, pursue sidequests (and their rewards), and not get hung up on any one level in the early game, and then to shower them with tanks in time for the endgame and postgame.
I was more successful about suggesting changes to the sidequests, which were being developed relatively quietly—I didn't know they existed until May 2021, and there weren't any real opportunities to get involved with them until July. After I tried out the music quiz for Funky Fresh Beats, I pushed to include a screenshot with each question, to make the sidequest accessible to deaf players and to anyone playing with the volume off. Because screenshots were too much of a hassle to implement, we agreed on text hints, which I wrote. I also made a few suggestions that stuck for the Mutual Attraction and Poltergeist quests; for the latter, I even recolored the ghost sprite (being obligated to use a canonical color for the Rotom Pokémon it was based on) so that it wouldn't blend in with the background as much.
The casino was scrapped in January 2021 to reduce the devteam's workload, and it was several months before we discussed relocating and redesigning the sidequest. Tier 3 (dining hall) had some unused space that was inaccessible to the player, which could easily be remodeled to accommodate a quest. This inspired me to outline a new quest, which made it into the final game with only one change: Don Loath (who never even received a character design) became Master Reddorgold (whose name is not a reference to "Reddit Gold", but rather a nod to the sidequest's original title). A kitchen stealth mission wasn't my only suggestion, though; I also pitched a Donkey Kong Country–inspired level using dining carts in place of mine carts.
I had about one week to power through Tier 7 and add as many NPCs as possible to the main hub and cabins. Nothing said I had to rush, but the longer it took me to get my work loaded into a test build, the less likely it was that people would see it. This was especially relevant for the deck and cabin NPCs whose purpose was to guide the player. Tier 11 was still in the process of being tiled, so I didn't even bother with that one yet. I'm not entirely satisfied with the dialogue I produced during this time, but "not entirely satisfied" was to become my mantra for the duration of the crunch leading up to the game's initial public release.
My eagerness to get this project out the door had finally caught up with me. Leading up to the crunch, I kept taking on small assignments to ease the burden of more specialized team members. The artists were busy, so I cleaned up the subtle color inconsistencies between the special weapon icons, and then loaded them into a tileset so I could add them above the weapon tutorial teleporters. The programmers were busy, so as much as possible, I tried to figure out how to code complex NPC behavior for myself. I was already spending all my free time on 48H before the deadline was announced; the only way I could crunch any harder was to start sacrificing sleep, aspirations, and quality—and I won't even go into the Big Life Stuff that started vying for my time. The weeks leading up to release were physically, mentally, and emotionally brutal, and they turned my experience with 48H extremely sour.
My key mistake was not communicating to the team just how much I actually had planned for the initial release. I wanted to bring my perspectives as a professional editor, MaGMML3 judge, and fangame designer to the parts of the game I hadn't yet seen. I kept coming back to seemingly finished projects to polish things up and incorporate playtester feedback. I was still working on NPCs for the main hub and cabins, but because I had added any NPCs in the first place, people assumed I was done already. I hadn't even started on Tier 11, which would end up taking over two weeks to finish. And that's to say nothing of all the Easter eggs I was working on, or the Butt Mode cheat that I got involved with at the last minute.
By September 1, the devteam was discussing the possibility of delaying the release. By September 3—late enough in the day that it was already release day in certain time zones—we came to an agreement that a delay was necessary; the question was, how long? A few devteam members—myself included—voted for "until it's ready", but the final decision was to not keep the public waiting, saving any nonessentials (which included most of my to-do list) for an eventual patch. Release was pushed from September 4 to September 6, just long enough to lock down the most pressing technical issues.
As the guy in charge of the MaGMML website, I did as much as I could to prepare in advance for release day, such as gradually adding screenshots to what would become the download page. As soon as the judge scores were finalized, I commissioned Phusion—who did website art for MaGMML1, 2, and 24H as well as intro cutscene art for OH JOES! and MaGMML1 Remastered—to once again create art celebrating the first-place level for the download page. Once the story was fully locked down and we knew exactly what features the game would have, I wrote copy for the download page for the devteam to review. By release day, all we really needed were download links and one final sanity check before going live.
Given the general public's tendency to quickly find ways to break a brand-new game, I correctly guessed that we'd need to release a patch to 1.01 almost immediately, and then another small patch to 1.02 within a few days. If I acted quickly enough, anything I had planned for initial release could still be a part of people's first experiences with the game. After that, there was no telling how often we'd release additional patches, if at all, so it behooved me to get everything done ASAP.
While I labored away at the rest of my to-do list, I checked in regularly to see what people in the MaGMML Discord server were saying about 48H. Compared with the initial public response to OH JOES!, it was a joy to discover that all my time and effort had apparently paid off. People were sharing screenshots of NPCs I made that they liked, posting video playthroughs containing positive feedback about my design contributions, and talking favorably about the game as a whole...at least, until they started discovering the sidequests.
"Where is Tomothy Daddy?" "What other level is spicy?" These kinds of questions started dominating the chat, and I had no idea what they meant. When I wrote the Junk Golem's sidequest hints, I often had to go off of secondhand information from the devteam and an outdated sidequest planning document; I had yet to play many of the quests for myself. A few days after release, I started playing through all 16 sidequests, and suddenly my priorities shifted. After playing Credit Where It's Due, a tricky scavenger hunt, it was clear to me that players needed more hints, better hints, and reminders of critical information that was given once and never repeated—and they needed them now.
Unbeknownst to me, the day I played Credit Where It's Due was the same day version 1.02 was slated to be released. After outlining my proposed changes to the devteam, I scrambled to implement them—the team wasn't expecting to address any scavenger hunt complaints until version 1.1, but they were happy to include my edits in this patch if I could finish in the next hour or two. The dialogue that I hammered out is serviceable, but there's minimal personality and no humor to it. The patch went live shortly after I pushed my changes, and I haven't heard a single question about Tomothy Daddy since.
I pushed my changes on September 19, just over a week after 1.02 was released. Although I loosened my pace a little bit, I stayed focused on getting through the rest of my to-do list as fast as reasonably possible. I scrapped a few ideas that I was now too tired to bother with, touched up the weapon tutorials, added new NPCs and tinkered with old ones, implemented cabin numbers to help players navigate the main hub, and refined/expanded the Butt Mode script.
If you look back through my social media posts, you'll notice I didn't promote 48H until version 1.1 was released. As far as I'm concerned, 48H wasn't done until 1.1. I wasn't about to encourage the general public to play a game I was still actively helping to develop and beta test. It bothers me deeply that most people have experienced a version that was rushed and incomplete, and that the earliest iterations are the ones immortalized for future generations on YouTube and Twitch.
As of this post, devteam discussions are infrequent and rarely pertain to the game itself, chatter about the game seems to have died down on Discord and YouTube, and bug reports have all but ceased. Effectively, this ship has sailed. Of course, no game is ever truly done, least of all one that can easily be patched. In fact, a modest number of changes have already been pushed to the GitHub repository in anticipation of another patch. I have one or two more Developer Diaries to follow this one, some updates I might like to add to the MaGMML wiki, and plans to start livestreaming the game once I can commit to a semi-regular streaming schedule. It's been a long voyage, and I expect it'll be awhile longer before I return to shore.