Level Design in 3D Space Shooter

Started by
6 comments, last by LorenzoGatti 8 years, 2 months ago

I am making my first big game (I have made several small ones before - Pong, Checkers, Risk, etc.), which is a 3D space shooter using OpenGL, writing my own engine. I have much of the framework of the game done (including a working enemy class), and now I need to start designing levels. Unfortunately, I have hit a roadblock.

Having just open space makes for boring levels. Asteroid fields might be one way to make them interesting, but I cannot use them for every level without being repetitive, and having thousands more active physics objects is likely to slow down my game. Space stations and planets would be cool, but unfortunately I have not the time nor the artistic skill to make anything on that large of a scale for very many levels. Any ideas / advice on how to make my levels not just - defeat 5 enemies; now defeat 7 enemies and one harder enemy; now defeat 9 enemies and two harder enemies?

Advertisement

This is the recurring issue with 3D space shooters - space is big and empty. Which pretty much removes all the gameplay-enhancing features one expects out of level design: obstacles, choke-points, etc.

Asteroids are a popular choice, you don't actually need very many if you make them big enough. 10 big asteroids typically have more impact on the gameplay than 100 tiny ones. Depending on the scale or level of realism you are going for, various spatial anomalies can be useful as well: gas clouds/mini-nebulae to hide in, wormholes to teleport around the map, black holes to suck players in...

In a more realistic setting, if you don't have the resources to model them by hand, you can procedurally generate space stations. Procedural generation is also good for distant planets, wrecked spaceships, you name it!

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

What about flying into asteroids through cave networks with mining facilities in them?

Entering the atmosphere of small moons to find and destroy surface buildings?

Entering alternate dimensions composed of tentacles or fluids?

Weird pockets of subspace where the laws of physics are messed up?

Cloud layers of a gas giant where each layer has different atmospheric properties and perhaps some are reactive to your weapons?

Maze like processing facilities with choke points and crushing machines like a recycling plant for space debris?

All of these really don't take any effort to create without much art skill as planets are basically spheres and your buildings can be square... you'd just have to texture it all. Anything more complex can be got for free e.g. from opengameart.org or similar.

Good luck!

@swiftcoder: I tried to click on your link, but it brought me to a blank page. Can you check that?

Thanks guys, you've got some great ideas. Now the question is can I implement them ... smile.png.

A related question - if I do use asteroids or anything else which leaves some open space, wouldn't it look a bit incongruous to have ten asteroids in close formation, but then being able to fly out of them into completely empty space? I would either need some sort of procedural asteroid / nebula / objects of interest generator / deleter (expensive) or some sort of way to enforce boundaries, which is hard to do in space while maintaining a semblance of realism. I suppose I could just design all my missions such that you need to stay in this one area (e.g. to defend a freighter or something) or else you lose pretty quickly, but that becomes repetitive and forced again. Ideas?


@swiftcoder: I tried to click on your link, but it brought me to a blank page. Can you check that?

Give it a while to load - it's typical Blogspot page loading fun.


I would either need some sort of procedural asteroid / nebula / objects of interest generator / deleter (expensive)

These are surprisingly easy to build - you effectively just teleport asteroids from one side to the other of the player when they get too far away. Randomise the location a little, and hey presto, infinite asteroid field.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

I had the same problem when designing my spacecraft game.

I just switched to a near surface setting. Maybe a huge sea with scattered islands (then you can have both aircrafts/spacecrafts and land/sea units/buildings/features)

Its not technically space anymore, but you got a VASTLY bigger palette to draw from when it comes to designing missions/maps. And many of the fun things (scifi-esque flying vehicles, mining, dogfighting, exploring etc) are still there. Plus weapons can now be anti-air AND anti-ground.

Just a thought... :)
Erik

I would expect the game to consist of

  • basic dogfighting in empty space
  • dogfighting with obstacles and cover
  • strafing or bombing, approaching large objectives from specific directions
  • chasing enemies, or being chased, through challenging obstacles (the better pilot increases difficulty and the worse pilot crashes, Star Wars style)
  • racing towards some objective, with undesirable delays such as obstacles and enemy fire

While a surface setting is a rich source of landmarks and varied objects for these applications, as suliman suggests, you can extract a lot of value from realistic and easy to make deep space stuff:

  • spaceship formations, to ensure variation in battle situations even in empty space
  • large spaceships, good as obstacles, objectives, landmarks, and enemies in their own right
  • fields of rocks, usually huge ones that cannot be exited before winning the battle; density and special features provide the necessary range of different danger levels
  • man-made debris, with a similar role as rocks but present in other locations (satellite orbits, near space stations, etc.)
  • medium asteroids (significantly bigger than typical ships) as landmarks, cover, and even military objectives (they can have surface to air weapons)
  • large asteroids (without significant gravity) to provide the same tactical situations as a planetary surface mission with cheaper graphical assets
  • distant and not so distant planets in the background as landmarks

You should probably design your levels as definite missions, i.e. not loitering around and waiting for enemy waves to appear out of nowhere. For example crossing a blockade, shooting down a convoy, escorting a ship, and other reasons to travel with a purpose and accomplish something clear.

Omae Wa Mou Shindeiru

This topic is closed to new replies.

Advertisement