Jump to content
  • Advertisement
Sign in to follow this  
  • entry
  • comments
  • views

2D Space RPG

Sign in to follow this  


Hello, this is my first post.

I have been working on a small 2D space RPG in my spare time for a few months now. Originally I intended a cross between Asteroids and Lander, with a bit of extra stuff such as levelling up and ship upgrades. I am using C#, Monogame and Farseer for physics. The initial proof of concept was a small planet with a thin surface and a camera that always faces up. I

The scope of the game has since changed to be an open world RPG of a solar system which the player flies around. There are some influences from minecraft and similarities with elements of elite and kerbal space program. This is not going to be up to the level of an indie game, as indie games tend to be quite polished these days so I would guess it's an NEI (not-even-indie). Still haven't ironed out the details yet as I am constantly hitting things I can't do and having to redesign the game around them. A few things I am set on:

  • Keyboard controlled only, so that the player's keyboard and screen feel part of the ship's interface, like some kind of terminal.
  • Unrealistic physics and biology. Real physics and biology is kind of boring with it's insistence on only producing round worlds and life only on one planet (so far). I want to add slightly less realistic stuff like cube worlds, shell worlds and giant space plants. Also realistic physics is kind of hard to code! So it's a convenient excuse for me to make the development easier. Realistic physics is not always good for gameplay either.
  • Realism elsewhere. This one is probably too ambitious, but I would like the game to feel like an actual solar system is being lived in with people (there will probably be no aliens) and realistic (ie boring) politics going on in the background and influencing events which have consequences. I also want all the ships in the solar system to be tracked, no magic spawning in of ships. Every ship came from somewhere.

    Here is a video of a recent update.

    On the subject of unrealistic physics, one good example is friction in space. Real space has no friction, but that causes loads of problems:

    1. No friction means ships can accelerate to large speeds. Large speeds cause problems for the collision system and for gameplay - it's impossible to aim when your target is moving 10,000mph relative to you.
    2. AI is harder to code because it has to take into account momentum (both of itself and other ships)
    3. In zero gravity it's possible to fire your engine a little then drift forever in that direction (or until you hit something). I think exploration would be more challenging if long distances were harder than this.

    So even though Asteroids physics is kind of cool, to be able to fly past a target while turning and shooting, all the problems above make me think to make space in the game kind of like being underwater, so massive friction.
Sign in to follow this  


Recommended Comments

Nice, I like the planets.



If it makes you feel any better, just hand wave it as all vehicles have stabilizing thrusters that auto kick in or something of that sort =)  And I'm in complete agreement that space with friction tends to be a bit more playable.

Share this comment

Link to comment

"No friction means ships can accelerate to large speeds. Large speeds cause problems for the collision system and for gameplay - it's impossible to aim when your target is moving 10,000mph relative to you."

I resolved this issue in a space game by making the engines scale depending on your velocity. i.e. The additional speed gained from firing the engines is something like:

Speed gain = basespeed gain - (component of velocity in that direction / some_constant)
if(speedgain < small_number)
speedgain = 0;


btw, this game looks pretty cool! Your "realism elsewhere" goal sounds particularly awesome.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 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!