On second thought, to many spoilers. It’s in the notes, so it will keep until I actually get it done….
So, instead of doing vehicle controls, I ended up side-tracking and writing up a Wily/Light endcap section. Basically a “What happened to the Classics” fanfic.
Basic goals were to explain the thinking Light Hologram, in a way that does not require an immortal Dr Light robot, without (hopefully) adding to many gaping plot holes.
Light creates X
Wily finds out about X, creates Zero, to be ‘Better, Faster, Stronger, Smarter, Cooler than X or anything that Dr Light could build”
(Note, in this, Wily’s primary motivation is to be better than Doctor Light, rather that real world dominations. He sees this as much as a <beep> measuring contest than a war.)
Zero flips his nut and goes berserk. Wily disables him with the Wily virus and seals him away. Note: if he battle is shown, Zero basically handles Bass like a ragdoll. There is no comparison. This, finally, cracks his idea that he’s the baddest robot around.
At this point, this should be aligning with the known cannon, and developer notes, but this is where this story concept takes a turn.
Deviation here is, after Wily disables Virus Zero, he has a villainous BSOD. Up until this point he had been interacting with the newly created, childlike Zero, and had, without realizing it, for a strong emotional attachment to him. “That boy who kept trying to bring me my spanner. Once he brought me a ham sandwich by mistake.”
He realizes that Zero is more than his greatest creation, but, in a very real sense, is his son. And, he can’t fix him.
Wily shallows his pride and appeals to Doctor Light for help. It is here that we find out Doctor Light is dying, and trying to to finish his work on X before he goes. Note: X is already in the testing capsule by this point. Light is prepping the extra capsules, and trying to make the holographic monitor program.
Light reluctantly agrees to help fix Zero, not for Wily’s sake, but for Zero’s.
Ultimately, they are not able to make a complete fix; Wily just did to good a job with his viruses, and mind chain, but the yare able to develop an adaptive counter-virus, that should, eventually, work.
The attempt to administer it goes very south, with the now fully Virus infected Zero breaking loose and going rampage in Wily’s lab/fortress. Major battle between Mega Man and Zero happens, and is basically a running retreat through the fortress. Wily’s last ditch effort is an EMP device. He hasn’t used it yet, because, while it will kill every robot master caught within the blast radius, It might not even slow Virus Zero down. Wily’s plan is for Mega Man to get out of the blast radius while he trips he device. Wily’s human, so this probably won’t hurt him at all.
However, the footrace between old man and purpose build war machine ends about as you’d expect. Virus Zero glitches out, and a three way exchange happens between Wily, Virus Zero and True Zero. The True Zero is still, mentally, a child, and does not understand what is happening to him and does not want it at all, but can’t gain dominance over Virus Zero.
During this Mega Man returns to figure out what went wrong. Realizing that Wily’s plan has failed, he sends Rush out of there, grabs the EMP device and confronts Virus Zero again, detonating the EMP right in his face, sacrificing himself to disable Zero.
This is successful. Wily is able to seal Zero away with the counter virus, and the lab, at this point, has been mostly cleared of the virus, then brings Mega Man’s remains out of the lab, to where Bass, Roll, and Rush are waiting for them. Roll, upon seeing her brother is dead, loses it and tried to hit Wily, but is intercepted by Bass.
Bass: Hey, hey! You’ll break your code!
Roll (crying): I don’t care!
Roll pounds (ineffectually) on Bass’ chest
Note: this also cements Bass’s personality change. He had been defining himself by trying to prove he was more awesome than Mega Man. But after this, he just can’t pretend that he could ever top that. His goals end up shifting to a more “What would Mega Man do?” Among other things, he ends up acting as Rolls protector, now that her brother is gone.
During this arc, Light is visibly declining, not just physically, but mentally as well. While most of the time, he is still as sharp as ever, as the arc progresses, there are more and more instances of Light just not being there. This profoundly shakes Wily, as the man that he has, subconsciously, been measuring himself against his entire life, is disintegrating before his eyes. He “wins” their rivalry by default, but it is an empty victory.
In the aftermath, Wily carries on and completes Doctor Lights life’s work. On his own deathbed, he passes on to Roll, three chips. One is the last gift from Doctor Light. The second is the final set of designs for X’s enhancements. The third, are the full design specs and repair routines for Bass and Treble.
The last gift from Doctor Light is an expanded sentience/free will package. Light was not able to finish it before his death, so Wily completed it, based on Light’s research. He waited to give it to her until now, because he knew she would not trust it, if she thought he could benefit from it. Now it is truly her choice what to do with it.
In the face of rising anti-robot sentiment and anti-robot legislation, Roll, Bass, Rush and Treble end up retreating from society and living their remaining years in seclusion, out of the public eye.
End of Arc
Major deviations from the known cannon lore are that Wily has a major heel-face turn, Light dies first, and did not fully complete the X project, Mega Man sacrifices himself to seal Zero, and Roll ends up with the remaining X upgrades. The implication is that she is the one who distributed them during the main X games, rather than a sentient hologram of Doctor Light.
I’m still working my way through the series, but even by X4, the Light in a box was getting stretched thin, and by X5, having Light sort of actually being there, to me, diminishes the ‘X is on his own’ feel of the story. At some point, you must step out of your father’s shadow, or you never fully grow up. That’s part of the reason, I’m planning on using Alia as the upgrade source for my project, and have another (secret) character lined up to take that role after the Alia arc.
I also like this because it, symbolically, makes Zero Wily’s flawed redemption. While Wily does not entirely succeed, because he tries, it allows Zero to ultimately be free, and to become the true hero that he does.
Because the action takes place entirely inside Wily’s hidden fortress, without Wily trying another big world takeover (yet again), it is unknown to the world at large. The general peace, combined with the decline and deaths of both Light and Wily pull them out of the public eye. And the rise of anti-robot sentiment helps drive Mega Man out of the picture.
One plot hole I’m not sure how to close, is if Wily goes good, where did all the Wily-bots come from? More things to think about (especially for an entire arcs that just defines backstory for the fan arc I’m writing. It won’t even actually be published!)
Original concept was to use dual joycons, with both using gyro aim mode, but I’m realizing dual wield is probably not going to be great. So, while I still want to experiment with the dual gyro system, I’ve necked the primary control schema down to a single gyro concept. This also allows dual stick aiming to be used, however there is will be no auto-aim. Just not going to do that.
So why use gyro controls, when there seems to be a vocal contingent that just hates them? Because they let the play do more things. For example, having tilt shift the player’s weight, while the right stick controls the steering on a motor cycle lets the player do things like, organically, cross control the bike. With solid physics, this means you can chuck yourself good, but it also means, if you get good at it, you can power slide the cycle into a pile of baddies on the dismount. (The whole skidding across pavement is a little less concerning when you’re made of steel and can fly, and respawns on impact…) It has the potential to be really cool, and is literally how they opened X2. Something to experiment with.
The idea behind the dual gyro would be to use the left and right joycons as left and right aiming. However, as I started sketching that out in more depth, I realized there are some problems with it. First, people really don’t look in multiple directions very well. I suspect it would only be used in points where one arm is tied up, and it should be simple enough to simply default to the off hand when the main hand is occupied. The second big issue is, when you are pointing in two different directions, where are you looking? Center on the dominant hand? Split the difference? Taffy link the views? As cool as the idea sounded on paper, I’m thinking he implementation issues will vastly outweigh the benefits, so going to hold off on trying that until the other schema have been fleshed out.
So, Single Gyro base MMX controls:
Pointing is gyro aim
Directional accelerometer dash is shake controller in a direction
The right thumbstick, when the shifter is not pressed bumps the aim by 45/90 degrees
Holding the shift button bring up the Master Weapon wheel: Point in the direction and release to pick weapon. Right Stick Press toggles between sets.
-Dual Buster allows Cross charged shots. In Single Gyro mode, both are Right Trigger
Right Bumper/Left Bumper: Right Interact/Left Interact: These are the grabs. When enhanced by Rose Lash they also extend a grabber vine to increase the range. Gab Vines either pull MMX to the object, or the object to MMX.
When grabbed: Dash adds a speed boost toward the vine. If MMX is holding onto something fixed, it can launch him into the air in that direction and does not count as a dash
A: Non-directional dash: Default dash in the direction that the left thumb stick is leaning, or forward if no stick input.
Y: Special action: Initial is Speed Gear, Others TBD?
X: 1st person 3rd person near, 3rd person far view cycling
DPad: Special weapon/Special ability cycle?
+/Start: System interface menu (Note: Not paused in this menu: Press ‘-‘ to pause)
I’ll need to track down a wireframe of the Pro controller (Or Xbox controller, since same layout) and do a diagram for it.
Probably tomorrow’s action will be to draft vehicle control ideas, then after that, research on game Makers Garage, in prep for when it releases.
Context here is, Nintendo’s coming out with a Game Maker Garage. Looks like a way to try prototyping things and movements out, especially, since I’ve never completely nailed down the raw coding. And I’ve got ideas.
I think I have an idea of the movement system I’m aiming for. Have not written that down yet. (Make that tomorrow’s task)
In the interim, I’ve ended up writing scenes for the story. One of the things I wanted to use are the motion controls. However, these require calibration, so rather than constantly popping the player into a calibration screen, I thought, why not have a minigame that does the same thing, but is more interesting.
Core requirements are to:
- Get the player to do the movements required for calibration
- Be fun
- Be not much longer than a normal calibration
- Tell a story about the characters
We will see how achievable these are once the toolkit goes live in June…
Anyways, here is the first draft of scene outline for Iris and Zero rock out:
Iris is wearing a different outfit than usual: Undersized black biker hat (worn like a beret) black leather short jacket with long sleeves (cuffs are studded), White t-shirt, form fitting. Black miniskirt. Black knee-high jackboots. Her pony tail is tied as usual.
Scene: Fade in from black. Iris is facing the player/Zero. She is leaning towards Zero, pulling him forward by both hands.
Iris smiling/bouncy: Come on, it’ll be fun!
Iris (laughing) spins away (forward) still pulling Zero forward by the hand. Indistinct crowd of Reploids fade in around them. Iris gives Zero a sly look/grin over her shoulder. “Just do what I do, and you’ll be fine” Grin shifts to toothy grin.
Game sequence is a set of called actions: Raise the Roof => up gestures in time with music,
Worst timing: Zero bumps Iris off balance in the dance. She spins. He catches her by the shoulders, and she falls into him. Scene shows her, eyes/mouth wide/shock on his chest. Then she starts laughing, reaches up suddenly and pulls him down towards her. Scene pulls away, camera behind Zero. Iris has her arms around Zero, but what they are doing is obscured. Fade to black
Medium Timing: Camera pulls back and rotates around them as they dance, in perfect sync. As the camera rotates in front of them, the player sees their eyes are closed. The crowd fades first, as the scene fades to black.
Zero: So this is peace…
Best timing: Scene cuts to ¾ front view. Iris’ eyes are closed, head down, and she’s smiling as they dance. Zero leans down and says in her ear “Want a better view?” Iris’ eyes pop open: “What?” Zero grins wolfishly “Get ready!”
Zero squats down, lifts Iris by the waist, sets her on his shoulders, and stands up.
Iris wide eyed, wide mouthed, wobbles, off balance for a bit, but grabs hold of Zero’s head and settles.
She pauses to catch her breath, then looks up, and the camera pans around, showing the tops of the heads of the crowd, the band rocking out on stage, (She lets go of Zero’s head during the panning shot) and her surprise changing to joy and wide-eyed wonder. Iris give a big Rocky Balboa, hands over the head cheer, and starts rocking out.
Camera rotates around them, pulling away. The two of them rocking out together, her high above the crowd.
Zero (as the scene fades to black): We danced until the clubs closed. I’d never seen her so happy…
As I’m reading this over, I’m realizing this is going to require some complex rigging to get it to work right, which I can’t know is achievable before anyone has access to the tools. I think I’ve got the core early story notes written down, so no danger of forgetting them.
Given that, I’m thinking my next action needs to be documenting the move-set I’ve got in mind, and researching up everything I can on how to make it work when the toolset finally drops. Then on to prototyping the actually gameplay, and trying to rig one of these, before diving any further into story elements.
Fun times 🙂
I suspect the trick to this is maintaining consistency: always doing some time on it every day, and always logging it down. Apparently I had finished Tutorial #4: Buffers, Shaders, and GLSL, but had not yet gone on to Tutorial 5: Texturing.
That makes a certain amount of sense, as, around the time I was doing this last, Rastertek took its tutorials down, and while the Internet Archive had the text, it lacked the textures to be applied.
You know how they say that the journey of a thousand miles begins with a single step? Apparently it also requires a second step, a third, and all the rest too.
Restarting after a long hiatus is rather interesting. In the interim, RasterTek took down their tutorials, then re-uploaded them, and I’ve managed to forget where I was in the tutorials. I’m pretty sure I’m somewhere either in the middle of, or at the end of #4: Shaders, because the program compiles, and runs, but I’m not quite sure where I am, because instead of the coloured triangle, it gives me a square. Not sure if that means I’m into the next tutorial, or if I was just fiddling around with parameters to see what happened.
It does mean, however, that I need to go through the full tutorial, and compare my code with the original author’s. Code review time!
You all take care,
Got everything copied in and compiled on Tutorial #4, Rendering Your First Triangle, and lo and behold, the triangle doesn’t appear to render. It’s not throwing any errors, it just doesn’t render.
I’m thinking I’m going to have to use the debugger to step through the code to see what the program is actually doing. I suppose I should look at this as a learning experience, rather than as incredibly tedious.
I’m also thinking I need to figure out ways to store things that need to be routinely modified in somewhere other than the compiled code…
Turns out all that was needed was to set Studio to import the mission icons from the MS server. That and fixing a number of typos my transcription introduced, and Tutorial 2: The Framework, runs.
Now we’re into the bones of actually running OpenGL. Apparently it requires about two pages of define and typedef statements. This puts me on the horns of a dilemma: to Transcribe, or to copy? On on hand, simply copying the example code into a working build is quick, and shouldn’t introduce any new errors. On the other hand, transcribing everything requires looking at every line of the code, and have some idea what it actually does, but it is very time consuming.
Do I take the quick path to running code, or do I take the slower path, with the better potential for upfront understanding? Or is the slow path just an illusion of greater understanding?
Technically, this is the fifth day I’ve been working on this, though I’ve only just decided to start blogging it. So far I have started, then abandoned, for now, Android development due to an issue with the emulator wanting to loop infinitely trying to load sound drivers that don’t exist (even with the -noaudio flag active), and I have reverted back to plain PC development.
I’ve found an interesting set of 3D graphics tutorials on RasterTek I’ve gotten the Tutorial 2 Framework transcribed into Visual Studio 2012, and my typos all fixed, and I’ve discovered that between the time when RasterTek wrote his code, and when I’m trying to run it, there have been some changes in the character encodings used. Now I get to dive into the wonderful world of C++ Strings to figure out how to get it to compile on my machine. Fun. (No, I don’t know if that was sarcastic or not, either.)
Digging around has turned up this interesting article: Code Project: The Complete Guide to C++ Strings We’ll see if it solves the issue, or just leads to more questions (or both).
Have fun on your Thursday!