The movement speeds and such will be upgraded in an RPGesque manner as the game progresses. I was thinking of having pretty low initial values. In the direction of the early DK/DKjr games.
Today I rewrote my Actor class so it uses instances as it should. I also made a player profile class which will store meta things like treasures, stats etc. Surprisingly, despite a larger rewrite it worked on the first compile. Third time this has happened during this project.
Since the actors are now instances, and they already use a virtual joypad, I didn't hesitate to throw 105 of them into a level. I gave them a sloppy 'button mashing' 'AI'.
I still have to write partitioning for the actors though (collisions and drawing), and figure out where I want to take the actor class in terms of inheritance. Right now everyone is stickman Mario.
I'm a but unsure how to bring the world to life:
Destructible blocks and water flow is already in. I can also do rain and evaporation easily. It's 90% there already. This stuff is fun, but meaningless unless coupled with other mechanics.
Flora. I want to use the SMB2 plants, and do things with the vines. Using lists which are updated less frequently is good for ecology stuff. The SMB2 plants are great because they are interactive. I'm not sure what Mario would do with them though. Use as weapons, and/or cook? Recipes?
I already have backgrounds which could bring some atmosphere to the game. In some games I don't even see or care about the backgrounds because they have no interactive value. They're just something which I rush past. Maybe my BGs can be looted or read, like the Impossible Mission game where you turn towards the background to search. The backgrounds should hint at what a place has been or is being used for. However, if I have destructible terrain to some degree, I can't put things in the background which the player would want to destroy. Another dilemma is that I'd rather put things like pots and treasure chests in the foreground and make them truly interactive objects. Maybe the BG should only be searchable. "It's a statue of a Koopa soldier. A sign at the base reads: All Glory to Bowser!".
I'd like to make everything in the world meaningful in terms of game mechanics. A threat, resource or opportunity. DF is an easy example of a game which does this. I think a crafting system would be wrong for this game though, since Mario isn't a tool user. He's more of a transformer. So, I don't really know where to go here. It would also be wrong to use enemy corpses as a resource which can be butchered (even though Mario already does use things like shells as weapons.)
The biggest problem is that the enemies, which I'm afraid will be retarded. If they are retarded, then they won't be of much use to Bowser, and interacting with them will feel meaningless. It's unlikely that I can code a warzone (Toad army vs Bowser army) because pathfinding in an environment with gravity is tricky for me. A lot of the enemies are not anthropological enough too. A Goomba isn't of much use to Bowser as a labor or army unit.
Ideally, the enemies should have a localized goal. They've already taken care of the Toads on the map. So, maybe Bowser is guarding against reinforcements and surviving resistant cells. I was thinking that Bowser invaded because he found an artifact which will make him more powerful. It is buried near a Toad town. So, Bowser destroys the town with a medusa beam (turning Toadies into statues/blocks), and begins an effort to excavate the artifact he's after. The artifact is found in an ancient city deep below. This setup could allow me to use my destructible terrain and flooding system.
(Outdated map concept. I might move the locations around a bit. Maybe Mario could flood Bowser's drilling site, or it already is flooded under a lake, forcing Bowser to use a big mining laser. A laser is not ideal though, because I want to have his minions do things of importance.
The ancient civilization is responsible for the artifact also left a few robots behind. These guys are basically the Chozo or whatever. They are cloaked and only Mario can see them because he has been chosen to defend the artifact in some spooky vision, perhaps. If the bad guys could see them, they would've been looted already.
I'm thinking of using a troop distribution artifact (spawn chalice thing?) which keeps enemies unstuck and on the move. This way I don't have to code a nasty pathfinding system
Maybe Mario can use the same network to teleport later, so there's less of a need for an explanation of enemies just appearing/disappearing. However, it would be better if enemies had to run errands physically, because then there would be a reason for them walking about.
Lakitu is great because he's flying. He could be used to do more complex things (flying movement is easier to code AI for). I'm thinking Lakitu is just a regular Koopa on a cloud (vehicle). The Koopas are quite humanoid so I could make those more diverse in terms of what tasks they can perform and how much animation frames they have. Maybe they mirror Mario, so they can climb and stuff.
A local goal for the enemies would be great. Enemies on one region might be digging. In another they are... I don't know. Producing? Hatching? Mining? Terraforming? Erecting nasty structures? I don't know how complicated I can/should make this, but I don't want enemies walking back and forth on platforms unless they're guards, and not all can be guards.