Jump to content
  • Advertisement
Sign in to follow this  

Space Battles in a Roguelike game?

This topic is 2667 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I had an idea yesterday for a roguelike-style game, with science fiction gameplay/setting borrowed from Traveller/Firefly/etc.

So, you'd play the game in typical roguelike-style, as an individual crew member/captain of a space ship, roaming around the bridge, corridors, etc. Likewise when you're visiting a space station, doing an away mission, repelling boarders...all done in this style on connected 2D maps.

When travelling from point A to B in the system/galaxy, you could wander the ship and talk to other crew members, do maintenance/repairs, possibly do some simulation-training, etc...while the destination counter ticks down with each "move". Or you could just enter cyro-sleep and wake up at your destination, etc. Better upgrades/techs could reduce this timeout as well.

With this style of gameplay, any ideas how to implement ship-to-ship ranged combat? (assuming you're either a fighter pilot or the captain of a ship).

I don't mind computer-interfaces being non-roguelike, i.e. selecting a destination on a starmap, for example. (though I'd prefer nothing realtime, to keep the roguelike aspect intact).

Any ideas?

Share this post

Link to post
Share on other sites

One of the first PC games was a Star Trek simulator where you did ranged combat with other ships. You might look at it for inspiration.

Wow. I actually remember that one. Though I played it a fair few years after it came out.

Thanks for the suggestion, but its a little too basic for what I want to accomplish.

Ideally I'd like to simulate the feeling of the ship battle from the perspective of the crew members on board(including the ones in charge).

So, let's say you're the captain of a small 10-crew ship. You wake in your bunk with a Battle Stations alert going on, and make your way to the nearby bridge. You get briefed on arrival or via communicator. If you've been ambushed, for example, the battle is already taking place, and there may be small(or catastrophically large) signs of this with radio chatter/etc.

Once you take your place on the bridge, you can glance at various computer consoles with radar/scans/damage/etc. information. You can give orders to your crew; set movement trajectories/shield settings/target priorities/etc. You can also communicate to your non-bridge crew to start damage repairs, prepare security details to repel boarders, etc. You can also leave your post to do a specific job yourself, though you won't have the same amount of data access about the battle. If you start to lose the battle, and the enemy seems intent on destroying you, you can try and make it to an escape pod.

And all this is played out in Roguelike fashion(though with data screens for info). Glancing at a console takes 1 "move". Giving an order takes another move. Each footstep likewise.

Now, I could create an abstract "field" around the ship, where entities(enemy ships) are given a vector. Each "move" would then progress this 3D map forward another "step". Ships would have maneuverability/velocity/etc. stats, as would missiles/etc. This data field would also work for non-battles, for example when encountering a derelict ship and sending out a salvage crew.

Essentially, it becomes the same as a proper 3D space battle simulator, except:
  • You don't SEE any of the battle.
  • It's turn-based. In Roguelike fashion, you have all the time in the world to decide your next move, which then progresses time forward by X seconds.
  • Its crew-member focused, rather than ship-centric.So this kind of works, though there may be problems with lulls in the battle...except I don't think it would really work with a single-pilot fighter. (sending crew into single-pilot fighters, no problem, but the experience of the player in this situation).

    Any thoughts/comments/critiques?

    Of course, this would make single-pilot fighters

Share this post

Link to post
Share on other sites
It sounds like it would work fine, but here are some comments:

1. You're only going to be giving commands if you're the captain/acting captain. This is fine, but is there anything for a non-captain to do? If you get an order to press X button on your console then sure, you can select the corresponding option, but is that fun to do?

2. I don't see why the player flying a fighter wouldn't work. It'd be the same as captaining a ship, but the player character would carry out the order directly rather than giving an order for another character to do it. The interface would be much the same.

3. It might be hard for the player to keep track of a 3D field solely delivered through text, though depending on the capabilities of ships and the commands available I can see it not being too bad.

4. It might be a good idea to switch up the number of "moves" needed for different actions. I imagine you're already planning this, "jumping" the appropriate number of "moves" between selected player actions or something, but I just thought I'd mention it.

5. It shouldn't be too bad to actually do the simulation in 3D space. A full-on simulator keeps track of all the same data, it just takes the additional steps of sending graphics information to the screen. The challenge is to provide relevant information to the player without the advantage of the information-dense graphic representation. If you're open to some graphics, a pair of non-interactive maps to show positions on the X/Y and X/Z axes would do nicely.

I like the idea though, I've been hoping to see something like it.

Share this post

Link to post
Share on other sites
I'd skip the "proper 3D space simulation" personally for a few reasons.

I'm reminded of this article. Basically it says to assess what the players "role" is so you can gauge the appropriateness of the actions.

The player's role is the captain, not the pilot, so it's of no concern the exact position; only the implications.

For example...

Firing a cannon shot from high orbit to a low orbit delivers more kinetic energy to the target if using cannons. Suppose there's a fuel cost, and that risk of staying put depends on ship and crew capabilities (and levels) and you need to think and make a decision; e.g. "should I switch to a high orbit where the enemy is or should I stay low?" And this decision depends on information you have about both yourself and the enemy and if you know that information, you can correctly choose a least risky solution.

And the action would be to press a key that causes a switch.

The game state for this doesn't need to model 3-space and newtonian gravity. It needs to have a single-byte tag for each entity called "spatial state" that might have a value for "low orbit" and for "high orbit" and others, and the controller\scripts just decide how to fudge the attack % based on these tags. (e.g. attack advantage if someone in state X fires upon someone in state Y.)

Then you have lines like "He's in a lower orbit, captain" or "he's in a retrograde orbit" or "he's on a hyperbolic trajectory" (leaving the planet).

Brain-dead simple.

You then imagine that the pilot is doing all the maneuvering and have a manual that explains the relation between states and what they mean depending on your weapons.

But back to the roles for a second, it might not even be appropriate to think about combat maneuvering. The scenario described above would be under the captain's jurisdiction because the actions expend fuel which has post-battle implications for the ship.

But. You can pull the player a bit further away from that even.

Basically each turn of combat consumes resources and incurs damage, and now spatial states don't even matter. A tactical officer then can give assessments of how well you're expected to do in a battle. It then becomes a fight or flight decision.

Of course in all the above decisions, information about the enemy is crucial so observation and maybe even espionage can become a factor.

Share this post

Link to post
Share on other sites
Thanks for the replies. Some valid points to consider.

It will be a graphical roguelike, I should mention, and I have no problem with viewing "screens" of data, represented in an easy-to-understand graphics. Like the radar example Khaiy mentioned.

I would like the player to assume any of the roles, including that of Captain/Admiral. I also agree that this means coming up with more to do than just pressing FIRE when the Captain says, "Fire!".

A single-pilot fighter has to operate every facet of their ship. There's less options obviously, but its still inefficient...they don't want to be worrying about non-vital damage repair in the middle of a battle, for example. Instead they'll be looking at target selection, weapon choice/capacity, the decision to flee, and above all the PILOTING of their craft. Even if they have the hardware onboard, they probably don't have the time to complete scanner diagnostics on multiple targets looking for weak points.

At the other end of the spectrum, you have a large battleship with 10 vital crew member positions.

At the bridge/command center:

  • The captain, who wields authority on major decisions.
  • A second-in-command or first mate, who can relieve the captain when sleeping/injured/etc. These first two can also replace other officers if needed.
  • A communications officer who can relay vital information to other ships/fighters, and also scan/jam enemy transmissions.
  • A science officer who can perform scans of enemy ships for strengths/weaknesses and also obtain diagnostics of their own ship's shields/hull damage.
  • A flight controller or helmsman, who can manually steer the battleship. Replaceable with Auto-Pilot(but prone to ship damage).
  • A navigator, who can plot paths, evasive maneuvers from enemy ordnance, etc. Possibly also chaff/decoy/etc. abilities.
  • A tactical officer who can aim and fire weapons at enemy ships, With specific targeting of individual ship systems/areas possible. Also advise any ship-launched fighters.
    Possibly elsewhere on the ship:

    • A security officer, commanding a squad, responsible for internal security of ship whether enemy boarding parties, mutinies, etc. Also leading boarding parties.
    • An engineering officer, possibly commanding a team, primarily responsible for maintaining the ship's engines/power, and also repairs to the hull/systems.
      This also leaves plenty of room for other crew positions tied to certain pieces of optional ship systems/crew, like a telepathic diplomat or a Chief of Teleportation. Also, a mercenary/freelance crew would have a lot more relaxed crew structure than the above, which would better suit an organised or militant civilisation.

      Battles aren't the primary focus of the game, but I think there's still enough depth available for Players to act out their "roles" during a battle. If the Player is a Navigator, then they'll have available data and will have a wealth of choice available for plotting a course through a minefield, or to best evade three incoming homing missiles.

      In the situation where two ships are not evenly matched, the weaker ship should have some means of escape or safe surrender, so that NPC Captains don't continually lead PC crew members to their deaths. Also, there'll be escape pods/etc. as ship destruction should be pretty foreseeable. Also, you'll have very little "work" to do when not in battle. A navigator might need to plot a path using a Captain's choice of destination and other factors. i.e. "Get us to Orthox IV, fast as we can" the player still has to determine a safe strain on the engines. "Take us to Allera, under the radar. Mind our energy reserves.", the player should plot a path with minimum chance of discovery, yet not so far out that it wastes too much fuel.

      The main focuses of the game will be a combination of:

      • a lite-RPG where players can join various races/factions or go rogue as a mercenary/freelancer/space pirate
      • tactical roguelike "away" missions on planets/derelict ships/space stations/enemy ships.
      • dwarf fortress in space
        I'm kind of answering my own question here, but these ideas wouldn't have come to me without the suggestions posted above. Any other comments/critiques/suggestions would be much appreciated.

Share this post

Link to post
Share on other sites
Sure, just make sure that everyone's role is enjoyable. Each role might be a game in and of itself, in which case there needs to be a well developed dynamic else nobody will want to play in that role.

This also ties into whether or not a single person fighter (for example) is a silly idea.

IRL, the operation is simply complicated. Importantly, it's naturally complicated. Most satellites are operated by teams on the ground, but if you want to be able to perform all decision making on-site rather than on a "mothership", than you may need multiple people.

The Soyuz can, in principle, be piloted by 1 person but the fighter version (Soyuz PPK) required 2 people. The Space Shuttle (which was a warbird and could steal satellites) required 2 to fly and more to do anything useful. The Almaz (only spacecraft launched with a weapon) had a crew of 3.

In your game, however, chances are the game state is relatively simple and there's nothing that a single player couldn't do. Remember to think it terms of the player. There's so many one-player spaceship games that this statement is self-evident.

If you're designing for multiple players, you'd probably need a much more complicated situation to handle, or else everyone will be doing busywork along the lines of broken-system-whackamole or at best, mini-games.

If your game is simple enough, a single-person fighter is in fact most advantaged because there's no communication channels. That it isn't done IRL has no relation to your game except as a contrast. Chances are you're not making anything like Orbiter Sim so it's probably not the case that your navigator has a lot of work to do.

You might draw from life for inspiration, or not, whichever, the key point is not to make something like the NASA moon game where you're just doing chores. If you don't have a dynamic for everyone, than everyone is just doing chores.

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!