Skip to content

Jeija/planether

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Planeteher

A pseudorealistic 3d space simulation game written in C++.

Build Status

Screenshots

Earth Saturn Mercury Proxima centauri Flying

Aim

Planether is supposed to show how fascinating space exploration and the solar system we live in can be. We can try to describe planets and stars with words, facts and numbers, but one can hardly grasp the enormous relations and distances between planets, stars or moons and how small we really are. Museums, pictures or models can help our imagination, but despite all these we lack a feel of how gigantic our cosmic neighbors really are.

However, there are only some realistic displays of our solar system, e.g. using correct distances, realistic gravity and size and even fewer computer games that can afford to do that. And that is even though computer games have a history of space-related content, starting with "Asteroids" on Atari and continuing today with well-funded titles like "Star Citizen". Of course, a small game like Planether could never compete with games like these, but it has a different niche: Mostly realistic displays of our cosmos, but also fun to play. Therefore, Planether has to combine two aspects: Fun and closeness to reality. Some critical design issues involve:

  • Fun: As long as it doesn't completely ruin the realistic requirement, fun is the more important aspect. For instance, the planet surfaces are not realistic and there is sound, even though it would be impossible in space.
  • Closeness to reality: While playing, players incidentally realize start to understand the incredible scale of the solar system or basic laws of physics like gravity. Distance, size and mass are therefore very accurate.
  • Technical coneption: Planether takes advantage of multicore processors and highly parallelized GPUs for planetary surfaces. Planets and other objects can easily be added to Planether using an easy object-oriented base.
  • Free software enables portability. Planether uses OpenGL, GLUT, GLM, SOIL, OpenAL and libvorbis for graphics and sound. There are few textures, those supplied are under a free license.

Installation

Archlinux

Planether was developed under Archlinux, so it is the preferred platform (but of course other Linuxes work just as well).

  • Install dependencies using sudo pacman -S base-devel git freeglut glew glu openal libogg libvorbis (You will propably have a lot of it already installed on your system when using a desktop environment)
  • Download the sources; go to your preferred directory and git clone https://github.com/Jeija/planether.git
  • cd planether
  • make -j2 (You may also want to use higher numbers after -j on multicore systems for faster compilation)
  • Run the game using: ./bin/planether
  • You will also find a starter for the game in the planether directory

Debian & Ubuntu

  • Install dependencies using sudo apt install g++ make git freeglut3-dev libopenal-dev libglew-dev libglu1-mesa-dev libogg-dev libvorbis-dev
  • Download the sources; go to your preferred directory and git clone https://github.com/Jeija/planether.git
  • cd planether
  • make -j2 (You may also want to use higher numbers after -j on multicore systems for faster compilation)
  • Run the game using: ./bin/planether
  • You will also find a starter for the game in the planether directory

Mac OS X

  • Install the development tools using xcode-select --install
  • Download and install MacPorts.
  • Install dependencies using sudo port install libvorbis glew
  • Download the sources; go to your preferred directory and git clone https://github.com/Jeija/planether.git
  • cd planether
  • export PATH=/opt/local/bin:/opt/local/sbin:$PATH; export LDFLAGS=-L/opt/local/lib; export CPPFLAGS='-isystem /opt/local/include'
  • make -j2 (You may also want to use higher numbers after -j on multicore systems for faster compilation)
  • Run the game using: ./bin/planether

Windows

(not recommended, I told you)

You may not always get the latest version of the game, but you can download precompiled snapshots. Visit the releases section of this GitHub page for downloads.

Controls

In order of importance.

Key Function
V Change camera view (bound, relative with rotation, relative, free)
Arrow Keys Rotate spaceship
Mouse Movement Rotate camera (pitch, yaw)
Mouse R/L Keys Rotate camera (roll)
C Brake spaceship rotation (that was initiated with the arrow keys)
WASD Move camera in free / relative modes
Space Move camera up in free /relative modes
E Move camera down in free / relative modes
Page up Turn on engine
Page down Turn spaceship in opposite direction of flight
T Open teleport dialog: Choose planet to teleport to using right-left
arrow keys and choose teleportation / navigation using up-down keys
B In navigation mode, move spaceship in direction of planet to navigate to
+/- Timelapse
F / Shift-F Switch to fullscreen / switch back to windowed mode
esc Exit mouse capturing
P/O Change seed (during gameplay)
Mouse wheel Fast-forward/backward of camera in space
Q Quit the game
Numpad Alternative to mouse movement for camera rotation, make sure it uses
number input mode (num key active)
F1 Toggle crosshair visibility
F2 Toggle physics data display visibility
F3 Toggle PlanetLocator visibility

Depending on your mouse, you may also be able to use other mouse keys to move sideways or up-down with the camera.

If the PlanetLocator is activated using F3, it will display locations of planets on small labels. You may hover over one of these labels so that it turns red and open the TeleportWindow in order to teleport to the selected planet / star.

Bugs / Development / Questions

You can report bugs in GitHub issues. New features or patches can be sent via GitHub pull requests (or directly eMailed to me). You can ask questions by eMailing me or using the comment section of the YouTube video for this game (channel norrepli). I may set up a forum and website for this game in case it becomes popular.

Developer documentation is available, just execute make doxygen with doxygen installed in the planether directory. Open doc/doxygen/html/index.html in your browser to take a look at it.

More docmentation? Cross-compilation?

There is more documentation available in a pdf in German as this game was written in the course of a school project.

About

A pseudorealistic 3d space simulation game written in C++

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages