Design Scope

From PioneerWiki
Revision as of 06:26, 2 January 2023 by Zonkmachine (talk | contribs) (Notes for new contributors: Fix broken link - IRC channel)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Pioneer: A game of lonely space adventure

That pretty much sums up the spirit of Pioneer. You are one person in a vast universe that does not care about you. The day-to-day happenings of the universe will continue regardless of your presence of absence. At best, you can hope to influence the course of events somewhat.

This is a page of things you should know before you start making things for Pioneer. Its what has generally been agreed on by the current Pioneer devs. It is not set in stone (working code changes everything) but be prepared to make a convincing argument if you want to change any of it.

Note that this applies to the core game only. Its expected that mods can and will do all sorts of things that the engine can support but we consider too difficult to maintain. Epic story arcs are an example.

Guidelines for design

  • Balance realism and fun. Pioneer is a game, and so needs to be fun. Realism is great but only if its not boring. If being realistic would be boring then go for fun instead, but try to make it sound plausible.
  • Generate content. We don’t have the resources to fill even a tiny corner of the universe with interesting things. Instead, if you can, write code to generate story, missions, planets, etc.
  • Emergence. Make things that respond to changes in the game world rather than wait for a specific series of events to take place. That way things can be added and removed from the world (eg via mods) without breaking stuff.
  • Single player. Pioneer is not a multiplayer game.

Notes on specific game mechanics

A collection of things that we’re more-or-less in agreement about.

  • Our physics model is Newtonian. The speed of light appears to be infinite.
  • There will be no gripping story that you can play from start to finish. We just can’t produce that.
  • The player is not important. The universe goes on without you, while you only look after yourself. You can do a mission for a faction, but you cannot join them.
  • Your hard-earned spaceship is your avatar, and also your home. A player should become attached to it. Spaceships should be very expensive to own and maintain.
  • You will not be able to exit your ship and go for a walk. You will not be able to drive a car around. This is a space game, and you are your ship.
  • Switching a spaceship will not happen frequently (except maybe ditching a cheapo starter ship), so there should be more possibilities for upgrading and customization.
  • There may be opportunities for “owning” things that aren’t directly attached to your ship (eg secondary ships garaged at a starport, or a private “home” base to store things), but these won’t have an effect on the game world. You will not own and command a fleet. You will not own an active starbase or run a colony.
    • You might however be able to launch a shuttle or drone from your larger ship so you can go and explore planets.
  • Mining and crafting should be possible. Acquire raw materials and take them somewhere to be refined, etc. It just shouldn’t be a large operation that will turn you into a millionaire.
  • Exploration as a mission category is good, but it would be odd if you would constantly come across rare alien artifacts and new unexplored worlds.

Notes for new contributors

Things you need to know before you start.

  • The project has a fairly well-understood direction, but not a lot of specifics. You need to make a lot of it up as you go along.
  • Most of the devs don’t have much spare time to discuss design up front. You’ll usually do better by coming up with something roughly working and asking for feedback.
  • The code is a mess, though we’re slowly fixing it. If you see something that looks wrong, it probably is.
  • The best place to get an answer is the IRC channel. If you can’t or won’t use it then you can open an issue.