Hey Folks! Finally decided to get back to the space prototype today. With Tiago working on the UI zoom feature, the web team working on the first functioning site draft, and a game title that is still (fingers crossed!) viable, I figured I'd turn my attention to the neglected prototype.
First order of business was to figure out where I left off. Some devlog digging reminded me that I figured out how to connect functional UIs to interactive objects, so we're starting to get player control over ship systems through control panels the AI uses. Also, after adding that feature, I broke AIs' ability to open doors without player intervention.
As a quick warm-up, I decided to tackle that AI regression bug, and a little while later, AI was opening doors again. (And a related null pointer bug squashed as a bonus.)
Then, I decided to take a step back and assess things. My main questions was, "how can I get this prototype from it's current state to something enjoyable in the shortest number of steps?" It's not a game yet, so why is that? And what things can I add to at least make a minimum viable game loop?
After a bit of brainstorming, I think there are two areas I could tackle: navigation and ship design.
Navigation means making the ship go places. Right now, the ship is just a hunk of tiles with crew running around on it. It doesn't go anywhere. It uses no fuel. It is not subjected to space hazards like temperature or radiation or micrometeoroids. It doesn't visit a planet or asteroid, nor dock with a station. If I could get some UI in place to make the ship go places, I could start tying-in other things like making sure the ship has enough supplies for long trips, ample shielding against radiation and ballistics, and other voyage needs. Players could at least start enjoying prepping for a journey, plotting a course, and seeing if they survive the trip.
Ship design means making enough ship systems such that their interplay is interesting to balance. Like in NEO Scavenger, if there are enough related systems with inputs and outputs, it can be fun to design and optimize the collection of systems to work efficiently. In NEO Scavenger, this meant keeping Philip warm, fed, rested, hydrated, and meeting his other physiological needs. Often, satisfying one need meant detracting from others, so it became a game of choosing the right combination and order of operations to keep him alive given the constraints of what was available.
Similarly, each ship system is going to have certain input and output needs, and their performance is going to affect the health and happiness of the crew. Optimizing the available systems to some viable configuration and watching it go can be a game in itself.
Ultimately, both of these "games" are part of the bigger game I have in mind. So if I can tackle one or both of these ASAP, maybe people can start to play it?
For now, I've decided on the former: navigation. I have an old orbital navigation prototype I whipped up in Haxe, and I think I can port it to Unity and start working from there. It should at least allow me to see orbital positions of things and control the position of the ship among them. I'll probably rig this up to a ship control panel, just like the HVAC switches from before. And then, the player can assign an AI to use the panel, and the player starts using buttons and knobs to fly around the system. Maybe they can resupply power, atmo, food, water, and other things at each dock? And maybe this can dovetail into the second game loop above?
Seems pretty reasonable!