Home - OverQuantum/DangerGalaxy GitHub Wiki

Table of Contents

About

DangerGalaxy will be space exploration game with huge universe. Lone ship to explore whole galaxy with about 100 million stars, full of aliens, artifacts and other strange things. Various interstellar travels ways will be available - FTL, teleport, stargates, wormholes and more exotic.
Additional idea is that users can easily create micromods - new items, events, features and so on - not only for themselves but for everyone, based on crowdsource or wiki principle.

Details are below and in Ideas. Also there is Vocabulary.
Some ScreenShots are also available.

Game process

Player operating single spaceship, traveling between stars, interacting with aliens in various ways, collecting things he could find.
Galaxy is randomly-generated, so each game could be different from another, while it is possible to replay any of previous galaxies.
Flying in a star systems and hyperspace is manual with autopilot possibility. Gravity affects movements.
Flying between stars at FTL is automatic, with possibility to break.
Battles are in real-time in the same areas as the flying. One against many is possible (and deadly).

Technology

OpenGL for graphics, Irrlicht for engine (DGLE2 is "plan B")
C++ for programming language.
Universe is 2.5D - motions are in single plane, but objects are drawn as 3D. Camera looks top-down with different distance.
All space object is one plane,
Most random generation is based on seeds, so after loading old savegame player will get same galaxy - so called predefined random.

Micromodding

Everyone can add game elements - new items, events, aliens, space object types and so on. Micromodding should be based on scripts, but for easiest mode will script-constructor from specified properties (name, type, rarity, picture and so on).
New elements will be moderated and voted by the community and developers, but it will be possible to use unmoderated elements. For examples, there will be several layers:

  • "Core" - only elements approved by developers, most balanced
  • "Best collection" - plus elements approved by the community
  • "Liked collection" - plus elements with good votes
  • "Total collection" - all new elements without moderation, most fun but could be unbalanced (Ring of Power at all planets e.t.c)

Progress

Development demo is in progress. It is not yet a demo of game, rather experimental grounds. Also a few tests of algorithms ideas performed

  1. Rare items random generator algorithm tested
  2. Several game engines evaluated. Irrlicht, DGLE2, Ogre3D is considered for test (in that order)
  3. Algorithm of stargate address-coordinates conversion developed
  4. Algorithm of wormhole network building developed and tested
  5. Algorithm of PlusMinus engine developed and tested
  6. Writing github wiki (basis done), Ideas is imported and formated
  7. Developing first demo (in progress: ships, stars, planets, moons, zoom, map, seed-based generation of whole galaxy with multiple stars, basic gravity, orbiting, lightspeed limit, basic autopilot, FTL jump, time speedup, basic save/load, basic wormholes, PlusMinus engine, stargates, hyperspace)
  8. Game object hierarchy (in progress in demo)
  9. Scripting engine (estimations)

Open questions

  1. How to increase difficulty for long plays?
    • If difficulty is constant - after surviving at first steps, player will get devices and artefact to explore without problems.
    • If difficulty is very random - it will be very difficult to survive at first steps.
    • Third option is to increase difficulty based on the distance from start location, but it is not very realistic
    • Fourth option is to match player, based on some metric (experience or score or else), but in this case predefined random breaks
    • Fifth option is to increase difficulty based on the distance from galaxy core but with big random variation
    • Sixth option is to randomly generate some "difficulty field" for the galaxy which is low at start location but have peaks in other part of galaxy. This is a model of "power centres" in the galaxy, where several alien races are living.
  2. Collision with planets and stars
    • If yes, navigation and autopilot will be more tricky
    • If no, it is not very clear how to draw ships flying over the stars
    • Plan to experiment on first demo
  3. Scripting engine
    • Universal scripting engines mostly hard to start
    • Simple scripting engines mostly very limited
    • Custom scripting engine requries a lot of work to develop and tests
  4. Sizes and distances
    • Space are huge, objects are small. Ex. Earth orbit is about 23500 of its size and so on.
    • If game is made "to scale", then distances are much larger than planets. Orbiting and interplanet travels requires very different thrusts and so on. It will also helps to choose for collisions.
    • If not to scale, then no way for reallistic gravity - larger orbits of moons are required and so on.
    • Plan to made "to scale", except ships
  5. Time scale
    • If scale is too big, then some moon and some binary stars orbital periods will be very short - less than 1 seconds and so motion of objects is very fast
    • If scale is too small, then sub-lightspeed fly over whole system could be rather long and orbiting of planets around stars could be rather long
    • Plan is 1:1000. 1 second for AM Canum Venaticorum orbiting, 7 seconds for Metis orbiting Jupiter, 11 minutes for Moon orbiting Earth, 2.5 hours for Earth oribitng Sun, 28 seconds to fly Sun-Pluto at 0.5c, 5 hours to fly 1 light-year at 0.999c

Similiar games and elements

  1. Star Control 2 / The Ur-Quan Masters (fly in star system and hyperspace, study the planet, melee)
  2. Strange Adventures In Infinite Space (random stars, events, exploration, easy modding)

Participation

Any contribution is welcomed - ideas, code, content, graphics.

License

Game will have GPL v3 license. Demo source is published under GPL v3 also.

Content of wiki pages of this project by OverQuantum is licensed under a Creative Commons Attribution 3.0 Unported License (CC BY 3.0).

⚠️ **GitHub.com Fallback** ⚠️