Jump to content

  • Log In with Google      Sign In   
  • Create Account






2D Space RPG

Posted by Azathotep, 27 April 2014 · 391 views

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:
  • 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.
  • AI is harder to code because it has to take into account momentum (both of itself and other ships)
  • 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.




That looks really cool :)

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.

"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.

August 2014 »

S M T W T F S
     12
3456789
10111213141516
1718192021 22 23
24252627282930
31      

Recent Entries

Recent Comments

PARTNERS