Just some thoughts, here.
If I’m doing the mech game, I want to strip it down to its raw essentials, and then hand the rest to Rusty, along with a tutorial, to polish off with Tim. Accordingly, here are the essentials before I will be satisfied that I have fulfilled my obligations:
(1) Weapon Systems with disparate behaviors governed by a singleton system. In other words, the weapon code has to be versatile enough to handle heat-seeking missiles, laser beams, flamethrowers, machine guns, maybe even rabbit launchers. Which means I need to come up with 3 or 4 wildly different weapons in order to fill in the relevant data. Here are my thoughts:
- Arm weapon: Flamethrower. Ammo is a liquid tank, and the ‘flames’ spray like water (because that is how a flamethrower works), leaving puddles of fire. The flamethrower is a high-heat weapon, but heats itself up more than the mech itself. A mech hit by the ‘flames’ will keep taking damage and heat for a couple of seconds until the fuel is burned (like the puddles). This means the weapon particles will have to stick to things, including the ground, and enemies.
- Arm weapon: Heat-Seeking Missile Bay. Missiles must have their flight path altered by radiated heat. IFF means they will always swerve away from the mech that fired them. Weapon can explode if sufficiently damaged or heated, doing damage in proportion to remaining ammo.
- Arm weapon: Mega-Laser. Hold trigger to charge, release to fire. Much like Megaman, but the heat build-up is enormous.
- Arm weapon: Machine Gun. Hold trigger to fire. Lots of ammo, but ammo is limited. Heat builds slowly but constantly. Can explode if sufficiently damaged or heated, like missile bay.
- Once an ammo weapon is depleted, it fires pew-pew lasers.
(2) Fancy materials and shaders, ripped wholesale from a book I have.
- In Starfighter X, I use letters in the model meshes to designate the colors of the parts. X means don’t draw, and then I have R, G, and B for red, green, and blue. The red/green/blue thing looked horrible, though, and I hard-coded different colors in (amber for heroes, green for villains). In the revised version of the model class, I want to keep this method, but the letter designations will be X = do not draw, P = primary color, S = secondary color, T = trim color, G = glow/energy color, I = internal working color.
- Similarly, X was followed by a letter code to explain the purpose of the mesh. Usually, C to collide. Keep that, and E for emitter, and P for Pivot.
Anyway, in celebration of my finishing the main part of the coding, I allowed myself to model a cockpit based on this general design: