Getting the Creative Urge

I’ve been learning Java and better practices with regard to object-oriented programming. So now, I’m thinking of another overly ambitious game idea.

It starts with FTL. I liked managing a ship’s crew, flying to star systems and being given situations to deal with. There was just one thing that annoyed me: You had a specific goal. Don’t get me wrong, FTL’s a great game, but I felt it could be reworked into a sandbox game.

Blend in Shores of Hazeron. One thing I like is that you customize your ships. It’s been a while since I played, since I started an empire with limited contact, and building cities was a bit cumbersome. I might try it again if I can find people to team up with. But back onto the topic of ship design: In Hazeron, your ship had a bit more than just the systems and stations: You needed crew quarters. You could put in a mess hall, a lounge, vehicle bays, cargo holds, and such. This brings me to thinking about shows like Star Trek: The crew had to live on the ship, not just man their stations 24/7.

And this brings in the insanity of Dwarf Fortress: There’s lots of things that can go on in a ship, and I think it’d be interesting to run the ship without telling each crew member where to go whenever something needs fixing. You assign crew to shifts, emergency stations, and let them make the “little” decisions in real time. You hand down orders as the captain.

Crew member skills and ship role:

  • Helm (arrow): Improves ship’s sub-light movement and evasion.
  • Navigation (compass): Reduces penalties on FTL speed, allows options like wormhole navigation.
  • Engineering (wrench): Improves energy production and engine speed at engineering station. Improves repair speed. You probably want a lot of these guys.
  • Tactical (crosshair): Improves weapon accuracy.
  • Shields (kite shield): Improves shield regeneration and cloaking effectiveness.
  • Science (flask): Improves sensors.
  • Medical (Caduceus): Improves healing and first aid.
  • Command (star): Boosts skill of all nearby crew.
  • Diplomacy (olive branch): Provides more dialogue options in talk, marks responses with likely reaction, aids trading.
  • Security (fist): Keeps your redshirts from dying so easily.
  • Counseling (heart): Keep the crew sane, notifies you of problems and their causes before the mutiny. It’s only useless if you’re the responsible captain of a luxury cruiser.

So, now that we’ve got a running ship, what interesting things can we do with it? I’ve got a few things that came to mind:

Science: Information has value if you can find buyers. Most depend on your ship sensors, and value increases depending on the quality of your scan. Good sensors and a skilled science officer manning the station will improve the value.

  • Survey planets (orbit): Fly to a star system and gather data on its planets.
  • Survey planets (away team): Going to interesting sites on a planet may add bonus data to a sensor scan. Bring along a few redshirts and phasers, because the local fauna may object to the intrusion. Maybe you should consider bringing the mini-tank in the ship’s vehicle bay, just to be safe.
  • Retrieve artifacts (space or planet): Good news, everyone! We found a thousand year old statue in some ancient ruins. Bad news: It’s psionically charged with the xenophobia of a dead civilization and slowly turning our racially diverse crew insane. Good news: The academy will pay extra.
  • Survey negative space wedgies: Mostly of interest to the scientific community. Risk/benefit factor: Getting closer to one will give you better data, but will more likely subject your ship and crew to its weird effects.

Diplomacy: Reach out and touch people. Diplomacy skill in particular gives you more dialogue options, as do other skills, equipment, and such.

  • First contact (ship-to-ship or planet): Establish peaceful relations. Avoid trampling on strange taboos. Darmok and Jalad at Tanagra.
  • Carry out missions in the name of interstellar cooperation.
  • Respond to distress signals. Spontaneously quote Admiral Ackbar in some instances.
  • Escort diplomatic ships. Convince the inevitable attackers to give peace a chance.

Trade: Navigate the Great Material Continuum.

  • Fill up your cargo bay. Did you remember to include one in your ship? Want a bigger one?
  • Smuggle whatever’s banned in the local empire. Avoid patrol scans.
  • Pick up hitchhikers.

War: What else are you going to use those torpedoes for?

  • Destroy mission targets.
  • Defend trade convoys from pirates.
  • Put on eye patch and attack unescorted trade convoys.

Thoughts on ship customization:

Ships can be built with multiple decks on a grid layout. A number of pre-defined hull pieces will be provided and the player decides how they’re joined together. Systems are laid out in room tiles, taking up walking space. Crew members can slowly move through system tiles via maintenance shafts and the like to repair damaged parts. More tiles means more performance. Higher tech systems are more space efficient.

Crew stations are distinct from rooms, and usually located on the bridge. Backup stations in other rooms are worth considering in case something happens to the bridge. Not all stations need to remain manned, but it improves functionality. Devoting space to computer systems can substitute for crew, but beware the risk of AI mutiny.

Some systems come in different types that are incompatible. Possible compromises:

  • Reactor: Centerpiece of the ship. Microfusion: balanced type. Antimatter: Higher output, but if it loses containment, it annihilates the ship. Orgone Energy Plant: It’s a giant vegetable that produces biological energy. It repairs itself, but starts dying if you lose life support. Energy Crystal: It’s resistant to damage and provides a very stable output, but it can’t be repaired, only replaced whole.
  • Life support types for oxygen, methane, or water breathers. You can use multiple types, but you have to segregate the crew accordingly or have a lot of independent life support devices for whoever wants to cross the borders.
  • Shields come in regular and cloaking. Cloaking shields have weaker defense, but they have to find you, first.
  • FTL engines: Warp drive and jump drive. You can have both, but it takes up double the space to accomplish almost the same thing in two slightly different ways.

Different crew have varying skill bonuses, some based on species, and some relating to cultural background. Personality and culture varies what makes them happy or angry. Too much anger and they start to plan a mutiny.

Levels of activity: Custom conditions and alerts can be made. The captain decides on crew shifts as well. Remaining on high alert is bad for morale, since it disregards shifts and downtime.

  • Condition purple: Repair priority. Best used after a battle or hazardous scenario when you’re momentarily safe, but still worried the danger might return. All stations are manned and remaining crew enacts repairs.
  • Condition blue: Safely docked or in stable orbit. Stations are unmanned. Everyone sleeps, relaxes, or otherwise tries to get happier. Content crew members may make repairs.
  • Condition green: Skeleton crew for travel in safe areas. Remaining crew does their own thing.
  • Yellow alert: All stations manned by highest ranked crew, security is active, remaining crew is awake but inactive. Captain on the bridge.
  • Red alert: All stations manned by highest ranked crew, all crew is active. Captain on the bridge.

So, that’s my imagination gone wild this afternoon. Your thoughts?

4 responses to “Getting the Creative Urge

  1. This sounds horrifyingly complicated! If you’re a beginning programmer, I’d make something smaller as a test run first. Also, Java may not be the best idea? It’s a bit infamous for its memory leaks and being slightly slow. On the other hand, Java is completely portable between machines and no modifications should need to be made if you wanted, say, a Mac version, but that seems low-priority.

    As for the actual game mechanics as laid out, they seem pretty solid. Keep in mind that being on a moving object is often a little weird to code, though, and grids won’t necessarily help that.

    • Yeah, I realize it’s big, but that’s what came to mind. I’d build incrementally if I committed to it. Alternatively, I’d get help from more experienced coders.

      • In that case, be sure to document your code well. Either other people will read your code, which means it needs to be documents, or you’ll program incrementally, which means coming back to old code after a while, which suuuuuucks.

    • Anyway, on having crew moving inside a moving ship, I was thinking movement of the whole ship would be abstracted like in FTL: The game metaphorically rolls the dice, rather than calculate velocity on velocity for everything. Enemy ship fires at you, roll accuracy versus evasion, and you get an appropriate animation for the result.

      Alternatively, I could have a level of separation: There’s a simple proxy ship that you fly, and hits just tell the internal map where on the grid to generate randomized damage. Proxy ship gets hit from behind, it randomly picks a cell in the aft section as the center of the damage.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s