In Game Screenshot

Stable Orbit

A game in which you save billions of lives by launching moons for people to live on around planets after a supervolcano eruption.

Awards

Give this entry an award

Scores

Ratings (show detail)

Overall: 3.1
Fun: 2.7
Production: 2.9
Innovation: 3.5

8% respondents marked the game as not working.
Respondents: 11

Files

File Uploader Date
2016-03-05-165303_1000x700_scrot.png
In Game Screenshot
LeopardShark 2016/03/06 10:12
2016-03-05-164930_1000x700_scrot.png
Main Menu
LeopardShark 2016/03/06 10:12
Stable_Orbit_Fixed.tar.gzfinal
Final With Fixes
LeopardShark 2016/03/06 07:28
Stable_Orbit.tar.gzfinal
Final No Fixes
LeopardShark 2016/03/06 07:16
2016-02-28-163037_800x600_scrot.png
Day 1 At 4:30
LeopardShark 2016/02/28 16:32

Diary Entries

Game Basics Sorted

I've got most of the basic, lowdown stuff on my game, Stable Orbit. The idea behind the game is that we have been forced to evacuate the Earth after a major catastrophe. We can't live on the moon (like, there's no air) so we ought to build ourselves a new moon to live on (Do not try this at home). Once Moon II is released the control belongs to gravity. Needless to say, crashes with Earth or Moon I are forbidden, as is letting Moon II fly off into outer space. You'll need to survive until the Earth is safe again. Oh, and, what when it gets full. Gravity simulation is done, as is collision detection. Most of the none-UI graphics are done but I still need a UI, sound, and some way of controlling the creation of this new planet.

Add a comment

Menus In

I've got the menus and backstory into the game. I still need sound and to fix a bug (Oh no!). I spend about 50% of my time identifying and fixing bugs. I really need to learn how to use the IDLE debugger... Instructions also need to be written. Not got much time to write this which is why it's so brief and horribly written.

Add a comment

Only One Day Left

Gosh, I've lots to do. Example: make the game actually work as a game. I also need sound effects, possibly more planets and some more story dialogue between levels. I think that if I manage to do all of these this game will do much better than last time. I just spent about half an hour solving a problem before discovering there would be no way it would work and having to press Ctrl-Z a lot until I made something else, which only took about 10 minutes to implement. The only catch is a 0-3 second wait (depending on how long you are going to last, and how fast your computer is) before each planet launch. Probably need a loading screen for something that long. On a side note, procedural stars look lovely.

Add a comment

Stable Orbit: It Works!

The bits which are important to read are in bold. Please read those if you are playing Stable Orbit. Everything else you can read if you want. I've done a lot better this time than last. The game does not cause you physical pain to play! I actually find it quite enjoyable to play. Last time sound didn't make it but this time I had time to add some in which is quite good considering my experience level with sound: zero.

I had two bugs on the deadline, which I fixed today so I've uploaded two versions. The two bug fixes are the only difference between the two versions. The bugs in the first version are:

-Lesser bug: The "Simulation speed increased" and "Fast-forwarding time" messages were displayed 60 (2.4 seconds) frames too early due to a fix I did to make them slightly after the beginning. I increased this, exaggerating the negative effect until it was 50 frames (2 seconds) too early. I changed this to be 10 frames (0.4 seconds) after. This is merely aesthetic: it makes no changes to actual gameplay.

-Greater bug: If you exit the game with ESC you gained 1000 bonus score. Considering that any score greater than 3570 is impossible, this is quite major. It is a side effect of the 1000 point bonus you get for completing the game.

These are the only changes that were made to the game after the deadline.

What have I learned? Check that fixes work and allow more time for testing.

The entire code for the game is just 588 lines (with fixes). Since a Terraria-style block game (very underdeveloped, more a plaything than a game at the moment) I've made is only 635 lines for the actual game but its world generator is 1035 I don't think (hope) lines of code is too telling about how good a game is. Additionally, I have a pong clone, Bouncy, that is 1477 lines. I think that it is more true to say that code lines ∝ number of times CTRL-V is pressed than code lines ∝ game goodness.

I am very pleased with the overall game at the end. The code for getting the collision point between the two bodies is wonderful. Here it is in case anybody else wants to use it in their future projects: location = [(a.position[0] * b.size + b.position[0] * a.size) / (a.size + b.size), (a.position[1] * b.size + b.position[1] * a.size) / (a.size + b.size)] a and b are the two objects. The graphics of the game, while simple, I think look nice. My favourite part of the graphics is the procedural starry background. I had a Background.png but I ditched it because I wanted to make the background scrollable. If you're wondering what the game is doing while it's initially loading it is generating the background. I am also pleased with the scientific accuracy and mathmaticalness of the game. I wish that Phobos & Deimos were created at 150 times their real size. That is how big I had to make them in the game. The orbits are quite realistic and everything attracts everything as it should. The time speed of the game is 2.5 days per second at normal speed and 50 days per second at hyper-speed ("Simulation speed increased" or "Fast-forwarding time"). This means that each simulation lasts 600 days, or almost one year and 8 months. This means that the entire game is set over 16 years, 5 months and 4 days excluding thinking, planning and simulation time.

My primary worry is that Stable Orbit will be too hard. It's a hard game. That's intentional. However, as the developer you naturally become very good at the game. I can beat anyone you ask at Bouncy: my brain has subconsciously memorised the way the ball goes after every bounce. If you find it too hard, read the tips in the README. Another worry is that the scrolling text gets annoying. It does take quite a long time to pass. You can change the text's scrolling speed (in pixels per second) by adjusting the variable "TDFPS" in line 20 of main.py

The game is only 3.9 MiB, over 75% of which is the background music (It was about 100 MiB before I reduced the image size for the planets and moons). I had some problems with it on Windows. It wouldn't play the MP3 file and came up with a confusing message about C++. I had to convert it to an OGG in order for it to play.

What would I like to do next time? My own sound. FreeSound.org is great, as is Kevin MacLeod's incompetech.com, but when you use somebody else's sound/music I think it seems to make the game less your own. I guess I could have recorded myself saying 'tk' for the menu clicking sound but it wouldn't have sounded that good anyway.

If you look at the code, watch out! It is a mass of tangled logic with may redundant lines and no comments.

A note: Venus's gravity is slightly lower than Earth's. Mars's is much lower.

Add a comment