Game – Megaman Fan Project

Disclaimer:
Mega Man and all related content and IP is owned by Capcom.  The Megaman Fan Project is not affiliated with Capcom in any way.  The Megaman Fan Project is an unofficial game made by me for outlining how I functionally would adapt an existing IP, for portfolio purposes, and no financial gain is being made from this project.

I’ve had an idea in my head for a long time about how I would do a Megaman reboot, so I decided to make a fan project version of it.  I wanted to make sure I was true to the original while giving it a modern feel, so I created a system to transition between 2D and 3D gameplay.  I see the storyline as being a futuristic Pinocchio / Geppetto story, so in the dialogue and theme, I’d explore the father / son dynamic between Megaman and Dr. Light, and Megaman coming into his own.

Tools

  • Unity

    • Cinemachine

    • Visual Effects Graph

    • HDRP

    • Curvy

    • Pro Builder

  • Blender

  • Figma

  • Gimp

  • Visual Studio Code

Roles

  • System Design

  • System Scripting

  • Movement and Control Scripting

  • Block Out

  • Enemy Behaviors

  • Encounter Design

  • Animations

  • UI / UX

Assets Acquired

  • Megaman Model

  • Robot sphere model

  • Texture materials

Controls (Gamepad Recommended)

The camera axis sensitivity and invert options are located in the pause menu.

Movement:  WASD

Camera Control (3D):  Mouse

Jump:  Space

Fire: Left Mouse Button

Slide / Drop:  Right Mouse Button

Cycle Targets (While Firing):  Q / E

Pause:  ESC

About the Project

I’ve always been a huge fan of the Megaman series, but I feel like in the modern day of gaming, it’s an underappreciated IP. To me there’s a classic story in this series that deserves a retelling. It’s a futuristic Pinocchio tale. Dr. Light, a scientist and robotics engineer chooses a life dedicated to bettering mankind, but a man who has chosen work over a traditional family life. Instead, he chooses to build his family, robots with love, empathy, and the same sense of ethics and morality as he. When Dr. Wily steals his industrial Robot Masters and reprograms them for nefarious plans, he is forced to send his son into the coming war, with all the fear and regret that comes with sending a child to war. In Dr. Light’s case, it’s a war of his literal creation.

This is a story that could have a lot of weight in the modern era of games. I set out to design a concept for what a modern day style of Megaman game might be. I wanted to be faithful to the feel of what made the originals so loved, but open it up to new possibilities.

Playthrough

Dev Diary

Scope

The purpose of this project was to get something that’s been on my mind out into the real world during my downtime.  This is strictly a fan project, and my intention is to just get one level completed from start to finish, gutsman’s stage being a good place to start.   He’ll make a very intimidating enemy, and give me an opportunity to play with scale in the boss fight.

Design Philosophy

Staying True

Because I wanted to keep true to the original, I started with matching the controls to the source material run speeds, jump distances, and fall rates. This naturally paved the way for an idea to combine 2D and 3D sequences that could transition between each other.  This poses a significant challenge though, because if the core mechanics need to change too much between 2D and 3D, it would just feel like two different games mashed together. I needed to make sure that it’s cohesive, natural, and fun.

Jump and Shoot

The working title of Megaman / Rockman for a time was Jump and Shoot Man. In the days of 2D gaming, there was no need for crosshairs or first person aiming. It was as easy as jump and shoot. So, to capture the genuine feel of the original, this would need to be the basis of targeting.

I had an idea about a lock-on targeting system that would allow for fast selection between targets in any direction, but the demo didn’t feel like Megaman. It just felt like a button mashing gallery shoot.

To get the feeling of Jump and Shoot Man, I made the only targets valid to lock-on to exist on the same vertical axis as the player. If they want to shoot at something above them, they need to jump up to meet it. This is what solidified the original game feel in 3D for me.  Also, there was a minimal difference between shooting / targeting between 2D and 3D. The only addition is cycling left or right between targets.

Careful Deviation

The Problem with Distance

Megaman has a very fast rate of falling. I had an initial demo with a physics based character set to a normal gravity and it wasn’t even close. When the rate of falling is low however, the feeling of being able to make a long jump is much easier and satisfying. In 3D it’s much harder to gauge a jump distance, so having a fast falloff doesn’t make platforming straight ahead feel very good.

So, I knew I needed to add at least one new feature: ledge hanging. I wanted to make sure I wasn’t narrowing the jumps, or changing the rate of movement between 2D and 3D sequences. If I changed the rate of movement, the game would have a disjointed feeling to it. And once I had the hanging working, the ledge running became an obvious extension of traversal. It was also something I could integrate into the 2D sections as well, creating the potential for new platforming challenges.

This is the one deviation that I thought would improve the experience. In a lot of games though, ledge shimmying feels slow and cumbersome. I wanted to keep the feeling of twitch controls and reactions, so I made sure the ledge run speed was the same as the walking speed. Also this helps with keeping a consistent rate of movement in general for the player to better predict their rate of movement, even if they accidentally grab onto a ledge here and there.

Ideas In Motion

Once I had the basic feel of movement, I could start on the character motion. I could have just jump into Mixamo and found something that fit the character motions, but I wanted to try matching the classic keyframes into 3D. Plus I wanted an excuse to work in Blender more and practice animation.

Once I had the test animations together and implemented, it was time to get the aiming IK working, and blend shapes so I could eventually implement dialogue and emotional expression.

Gather Round and I’ll Tell You The Tale

Storywise, I really like the conflict that Dr Light needs to send his “son” into war. I see Rock (Megaman) as a character who is brave in accidental ways, like a Harry Potter type reluctant hero, a child despite being the only one who can fight the evil. This yields a lot of great story points.

  • Like any parent / child relationship, there’s going to be banter back and forth of whether Dr Light thinks Rock is ready or capable for the battle ahead, rooted in his guilt of having to ask this immense task of his son. I love the idea that during an otherwise tutorial-like sequence, Rock has to tell Dr Light to not continually second guess what he’s doing and to trust him.

  • Because Rock is a robot himself, I don’t think he’d be quick to want to kill a robot. Give a player a blaster though and they’ll shoot anything, so this is a philosophical discussion that I would want to hear Dr Light and Rock have before encountering the first enemy. Throughout the game I would want Rock constantly trying to talk the other robots down from the fight. I think this would create a fracture in his personality too. He was built with the potential for love and compassion as his father, but needs to use force to stop evil. Watching Rock grapple with this would open the door to some great dialogue. I don’t think that Rock likes to be Megaman, but steps in when he absolutely must.

    • Additionally, the potential to have a moral system opens up here. There could potentially be a multiple ways to bring down a Robot Master: Destroy them, or apply the antivirus. The antivirus would be more difficult, but Rock would keep more of is soul aligned as the story developed if he was able to rescue rather than destroy the robots.

    • I was curious how other people handled the storyline for Megaman, so I took to reading the Archie Comics series, and this dilemma of destroying the robots was something they touched on as well.

  • All the enemies are named “Man” which is not an idea that I think has aged well. In modern gaming, I think it would be important to justify a bit why all the robots are named “Man”. Ultimately I decided that the robot series was created under a program for generating “Manufactured Labor”, or “Man” for short. This could also tie into some plot points around existentialism for Rock. Was he created as a means to an end, a disposable purpose?  By taking up the helmet and the megabuster, does he become just a “Manufactured Labor” robot himself?  How does this conflict with being built for the purpose of being part of a family?

Next Steps

  • Conduct a focus test on the demo and survey which features and mechanics are working best.

  • Write the story outline

  • Get a map of the narrative beats for each room of the game (each Megaman stage usually consists of about 15 rooms).

  • Design boss fight mechanics

    • Start the battle in 2D for half the life of the boss, then pull the camera out into 3D (like Hitchcock’s vertigo camera move, changing distance and focal depth inversely). Expand on the boss attack patterns from 2D into 3D.

  • Block out the level structure

  • Write dialogue and record VO (‘m a trained actor, so I’m ok doing this)

  • Implement dramatic sequences into normal gameplay

  • Find assets that match the setting