Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Untitled Space Sim, fresh from my brain  (Read 676 times)

Bronze Dog

  • Bay Watcher
  • Kobold Sympathizer
    • View Profile
Untitled Space Sim, fresh from my brain
« on: March 09, 2013, 06:33:29 pm »

I'm learning Java, and more importantly, learning more about object oriented programming. One thought led to another, and now I've got an idea for a space sim game. I'm mostly interested in getting advice from experienced programmers on how I should organize game objects, especially if they know something about how DF creatures work, but that's not all. I'm also interested in general brainstorming about the game experience and play mechanics. I know I'm dreaming pretty big, but thinking and talking about this might help me grow as a programmer.

So, the general picture:

1. Start with FTL and its aesthetic. You're managing a crew on a ship, you fight other ships, repair and upgrade yours, and you deal with various non-combat situations with the various planets you encounter. Take one thing out that FTL had: A clear end goal. Turn the galaxy into a sandbox so you can play the type of captain you're interested in.

2. Add in some Shores of Hazeron. You can design your own ship, and you have to pay attention to more than spartan crew stations: Crew quarters. Mess hall. Lounge. Vehicle bays. Cargo bay. Guest quarters. Brig. You fill in system rooms with tiles worth of machinery. You can also designate a bridge with crew stations, so the crew can get an efficiency bonus from being in the same room as the captain. Instead of having 3D graphics like Hazeron, I was thinking of something like FTL with z-levels. Ships are constructed out of hull pieces with a certain amount of internal tile space, arranged and connected as the player likes. Think something like a paper doll version of FTL. Some pieces may already have designated content, like "Warp nacelle 1" may be filled with warp engine system tiles by default.

3. And here's where things get even more complicated: You're the captain, and the crew is automated much like dwarves in DF. They have to live on the ship as well as do their jobs. You designate shifts, alerts, and conditions that determine who's manning their stations and who has downtime. Crew get unhappy if you don't tend to their needs, and if they stay unhappy long enough, they mutiny.

So, that's a start. Now onto some nitty-gritty details.

Creatures:
Spoiler (click to show/hide)
Ship design:
Spoiler (click to show/hide)
Commanding the ship:
Spoiler (click to show/hide)
Stuff to do:
Spoiler (click to show/hide)
Logged
Bronze Dog has been feeling rather happy lately. He is fond of scimitars, black bronze, turquoise, and kobolds for their underdog status.

Virex

  • Bay Watcher
  • Subjects interest attracted. Annalyses pending...
    • View Profile
Re: Untitled Space Sim, fresh from my brain
« Reply #1 on: March 10, 2013, 07:41:47 pm »

You forgot two vital space tropes: Sensors and shields :P

That aside, this game is basically "Star Trek: The game", I presume? Sounds pretty interesting. The question is, is it any good? (Sorry, I've been biscuiteering a lot lately)

One way to get a feeling of where the game is supposed to go would be to do the following:

- Say I've just picked this game up and I've went through the tutorial. What do I do next? Describe in general detail the first half hour or so.

- I've been playing for quite a while and have even saved my first planet of hats in distress. Now what do I do? Describe what keeps the game interesting.

- Describe the end game, if any. How do you intend to keep players engaged? How do you keep replays interesting?

- I'm playing the first alpha of your game. What do I do? What goals do you have for the first alpha? And what are your goals for the beta?

- Make a list of design pitfalls that could kill your game. For example, when designing a platformer, poorly responsive controls is a killer. Make a list of the top 5 things you definitely do not want to see in a game like this.

- How much lore do you want? What kind of lore do you want? Do you have a general idea of how the galaxy looks? And how important would the lore be for the game?

- What assets do you need? You mentioned FTL-like aesethics. Can you make these yourself, or do you need someone else to do them for you? What about sound and music? Do you need any special fonts, and if so, are they available for free or do you need to license them? What kind of libraries will you need in order to program things efficiently? Are there any libraries out there that could make things a lot easier?

- What about the development details? Are you going to do this alone, or not? What license do you want (open-source or not, specific clauses)? Do you want to set up a release schedule? Where are you going to store everything? Do you want a versioning system and cloud storage? If so, take a look at the plans offered by storage space providers and especially at their price as well as space, time, project size and licensing limitations. Also, make sure all your tools work before you lose something.

- Identify the fundamental actors in your game. Make a plan of what classes you'll need. Start only with those things needed for the first alpha build. List what functions they should be able to preform and describe what these functions should do, including any corner cases and possible errors.
« Last Edit: March 10, 2013, 07:56:13 pm by Virex »
Logged

Bronze Dog

  • Bay Watcher
  • Kobold Sympathizer
    • View Profile
Re: Untitled Space Sim, fresh from my brain
« Reply #2 on: March 11, 2013, 10:49:34 pm »

You ask a lot of good, important questions, Virex. It's taken me a while to gather my thoughts and type this up. I might have changed my mind about certain things in the process.

Sensors and shields: I put them in the same bullet point as weapons bay for rooms, so you might have missed that bit. Science missions often involve having your science officer manning the sensor station to gather data that you can sell. Shields also covers cloaking shields, which will be weaker than regular shields, but they have find you, first.

For the game's atmosphere, yeah, I'm going for something like the Star Trek feel with nods and shout-outs to other sci-fi series. Maybe poke some good-natured fun at some of the genre conventions here and there.

Game flow: It's intended as a sandbox game, so the player is supposed to have a lot of options, though ship design will put some limits on what they'd be good at. If I can, I'll probably put in some limitations on ship design so it's hard to make a good jack of all trades ship.

Let's say the player takes a military route. They might start with visiting friendly systems, space stations, and so on to get missions. They could be given military targets from an enemy empire, a space pirate to hunt down, a convoy to escort, a space station to defend, and stuff like that. In addition to the mission goals, they have random encounters that occur while traveling to their destinations like those in FTL, which can be combat, trading, distress signals, and just finding interesting locations and people en route. There's also potential drama depending on how well the crew gets along with each other and how they hold up under stress, including losing fellow crew. Hopefully combat and keeping your ship working will be varied enough to stay interesting.

Science/exploration route: The player will head to uncharted space, survey planets, scan negative space wedgies, send away teams to interesting sites on planets, search for artifacts that may trigger quests or have special properties, engage in first contact. I think the interest in the science and exploration is going to be in dealing with the unpredictable while maintaining your ship and crew's well being while away from your home civilization. Every mission is going to be risk versus possible reward. For example, sending an away team to a planet site could get you a powerful mystical artifact with beneficial effects, lost technology, valuable treasure, or it could get your redshirts killed by razor beasts, thrown into a gladiator battle for the Space Romans' amusement, or exposed to hypno-spores from the local giant mushrooms.

Trade: I'm open to ideas to keep this interesting. Unique treasures might be dangerous or attract dangers like greedy pirates, but highly valued if you can sell them. Or they could attract buyers and con artists who know its hidden value and try to cheat you out of it. Unique ship equipment to buy or find could spice things up as well. Space devoted to cargo bays means less space you can use for defenses, so running from space pirates might keep you on your toes.

Endgame: I was thinking there'd be no end game by default. The player keeps going until the captain dies or until the ship is decommissioned, though there could be the option of promoting the first officer to a new captain or buying or being assigned to a new ship. The thought did occur to me to create certain scenarios where the player is given a predefined ship and an overarching plot with objectives that take them all over the galaxy.

Metagame: One thought I recently had was that certain features would be unlocked as you play multiple times. Discovering a lost technology on an away mission might unlock new ship equipment or systems. Finding or buying certain treasures as a trader might increase your starting budget for ship design. Successfully completing first contact missions might unlock new species for crew. Completing large military missions may generate more experienced crew at the start of a game. There could be multiple tiers of play, where a new player starts out seeking easy missions a small, specialized ship can handle while players who have unlocked more options can take on harder missions and/or a wider variety of them. I'm also trying to think of incentives for a player to design and use smaller ships, aside from self-imposed challenge.

Top five things to avoid:
1. Bugs and logic errors that make crew behave stupidly.
2. Too clunky an interface/too much micromanagement. While I want the player to have options to set custom shifts, alerts, repair priorities, and such, the defaults should be generally fine to work with, and the captain shouldn't have to micromanage unless the ship's in really dire straits.
3. Frenzied confusion: You should be able to handle things at a reasonable pace. The worst combat scenarios get should be occasional pausing to check on things, give orders, and resume. Some disastrous events might warrant an auto-pause.
4. Idle time where the player doesn't have anything to do but watch. (Probably need a fast forward button and/or a way to simulate the crew's activities behind the scenes during transitions)
5. Excessive repetition, where the user knows all the encounters and twists to expect.

Lore: Still contemplating some of this, since I haven't thought up a lot of species.

Neglectful Precursors: Dead civilizations leaving behind dangerous junk they probably wiped themselves out with, demonstrating that being technologically advanced isn't proof against stupidity.

Kobolds: The cute dog-rabbity DF critters show up as a primitive culture, but they're not like other primitives. They've developed a knack for attracting interstellar visitors, and know what makes for really good idols. They show up in the oddest places and get their hands on the most unlikely things. They're widely known for being a dim species, but sometimes they get surprisingly clever.

Assets: Going to need 2D graphics and animations. I could probably make some myself, though having a dedicated artist would be nice. Probably consult my brother on sound, music, and copyright. Probably search for public domain stuff that isn't too overused or stuff that comes with a game creator.

Objects thus far:

Creature object, subtypes of Captain (player-controlled) Sapient (crew), Droid, and Feral(wild animals and such). Most important functions for the general class would be moving around (so in comes path finding), fighting, fleeing, tracking damage, dying, becoming aggressive or peaceful. Sapients would also have name, affiliations, rank, culture type, skills, preferences, thoughts, hunger, and fatigue. Additional actions would be changing affiliation (like joining your crew), manning a crew station (including 'manning' their beds and such), relieving crew of an occupied station (for shift changes), repairing damage, and seeking out intruders. Droids can perform some crew functions, defined by their type.

Ship: Contains its name, an avatar (representing it on the star maps and such), its internal space, rooms, systems, equipment, crew, guests, intruders. Properties are derived from its contents: FTL speed, impulse speed, evasion, weapons (type, accuracy, range, base damage, charge), sensor range, sensor resolution, shield strength, cloaking effectiveness, energy output, energy consumption. Might be streamlined if NPC ships are "empty," though it might be fun to do boarding parties.

Grid cell: Space on a ship or on an away team site. Ship cells can contain one system or station. Normally only one creature occupies a cell, but two creatures fighting in melee will occupy a cell. A creature standing in a cell doesn't block other creatures from moving through it by default. Cells can be marked as difficult terrain and slow creatures moving through them.

Room: A contiguous group of cells in a ship dedicated to a particular ship function. The room type determines what systems, stations, and other features can be stored in them.

System tile: Counted to determine ship performance. Turns its cell into difficult terrain. Can be damaged when the ship is hit. Can be repaired by Sapients and Droids with the Engineering skill.

Seat: Anything that can be manned by a Sapient. Subtypes include Stations, which contribute to ship performance or perform a job (such as an analysis in the lab), and Comforts, which the crew use to perform jobs that remove hunger, fatigue, unhappy thoughts, or produce happy thoughts. Jobs may require equipment (food for eating, specimens and tools for analysis). Damaged systems might be defined as a Station with a repair job.

Star Systems: Randomly generated at the start of the game. Contain planets, moons, stations, ships, jump gates, and other features. Planets and moons contain Sites for away team missions. Planets have tokens for atmosphere, temperature, and such. Sites, ships, stations, and settled planets may have generated encounters.

Entity: Has a name, culture type, star systems and/or individual planets as territory, ships, and stations. Pre-FTL cultures are restricted to one star system with a habitable planet and primitive cultures are restricted to one habitable planet.

I'll probably think of more stuff, but I figure it'd be best to post what I've got for now. Already spent one night with the post editor open.
Logged
Bronze Dog has been feeling rather happy lately. He is fond of scimitars, black bronze, turquoise, and kobolds for their underdog status.