2D Space RPG
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.
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.