A simple 2D space adventure with pseudo orbital physics.
So this is my current project, I've been working on it since August 2015 and I'm hoping to release it at some point in 2017.
It's a 2D space adventure game where you build your ship, assemble your crew and head out into the cold vacuum of space. You'll take on missions for cash and play your part in shaping how the solar system takes the crises that appear.
Each play-through the randomly generated, although a seed can be set so that the same map is generated each time. Although randomly generated, not all elements will be added to each play-through. Some elements are unique and will appear seldom, these elements include planetary specials, crew specialities, NPCs and news stories.
Here's the current work-in-progress.
My aim is to update this post each week to explain my progress and post the odd demo and video and screenie. All feedback is appreciated.
The game will have the following features:
It felt odd moving away from the weekly updates, but looking at this version moving to monthly updates was 100% the best decision as the weekly updates put a lot of pressure on completing any new features within a much shorter time period whereas this time I could take my time to implement something, test it and adjust it to make it the best it can be.
I'm slightly gutted that I couldn't get this version out for the GDWC2017 as this version is significantly better than the one I submitted. Nevermind.
And here's a video what's been added this time:
And here's what went in:
Added bloom effect
I'm a big fan of shaders and I'd been wanting to add some shader effects for a few versions, but I couldn't justify implementing them when there was so much left to do with the mechanics of the game. Anyway, I've now added a full screen bloom effect which makes everything look a bit nicer. there are some other shader effects in the planning, but I'm saving them for later versions.
Chaged thrust line into a sprite.
As a result of implementing the full screen shader, the line drawing function I was using to show the direction of thrust no longer worked. So I've changed from using a line to using a sprite.
Fixed orbital movement of all elements.
So I haven't been happy with the orbital mechanics for a few versions, but I wasn't quite sure how to fix it. So for this version I spent a long time re-checking the equations and adjusting some of the constants. The mechanics are now a lot more robust and generally feel like proper orbits.
Added escape pods to collect
Having watched a few Elite Dangerous videos I really liked the idea of being able to find escape pods drifting around the system. Plus having played through the game I felt only getting crew when you visited a planet was a little clunky. So I've added escape pods to the random encounters which you can collect which have a random chance of gaining new crew.
Two new parts
The deconstructor gives you the ability to scrap unwanted parts for additional resources.
- escape pods
So since there are escape podsyou can collect in-game I figured you should have the option of having your own escape pod. The escape pod gives you the ability to abandon ship before it is destroyed and it adds your current cash and science to your next play-through.
Animated three parts.
So to give the parts a bit of life I've animated three more of the existing parts.
Changed how part animation's are handled
Previously the part animation were simply looped, but i felt this make some of the parts look like they're glitching. So I've changed the animation to not loop and instead the part animations are randomly triggered to run once. I'm still not 100% happy with this either as some parts actually work better with looped animations so I've be tweaking this again in the next version.
Added a welcome/thank you message when a crew member joins you.
Since we have the ability to rescue crew now I felt they should react to being rescued and thank you for doing so.
Added way to fire crew from the roster.
Since the game now enables you to collect crew at a faster rate now there needed to be a mechanism to release crew if you no longer want them. This is nothing ground breaking, I've just added an "X" button to the crew list which you can press to release them.
Increased oygen depletion rate
One thing I noticed after a few play-throughs was that I was never running out of oxygen. One of the core experiences I wanted the game to provide was that sense of being worried that your oxygen might run out. With it never running out it was basically a pointless resource. So to make this resource more valueable and to try and restore my original core experience I've increased the rate at which your ship depletes oxygen.
Added keyboard navigation for main menu.
Because I'm quite lazy I added the ability to switch through the menu using keys rather than the mouse.
Changed how part upgrades work.
Originally upgrades were implemented by adding scripts to parts and running these scripts when the parts are used. While this worked, it was a little slow and made it difficult to immediately see what the effect on the part was. So the script method has been removed and replaced by simply duplicating the part and modifying the parameters directly. This way is faster and also immediately gives you feedback on what has been updated.
Added part import/export for continuous play-throughs
As a result of changing how the upgrades work I needed to add an export/import function to retain the parts created by the new system.
For completeness updates #5-#7 are described below.
Update #5 came as a smaller update than I had hoped, but real-world stuff has got in the way. Anyway we had:
- added starting crew. Not actually sure about this one. I think starting with zero crew is probably the right way to go, but to help testing for the moment I've decided to start you off with one crew member,
- added new crew personality. Hoping to add one of these each update, this one is a bit gangster.
- added new quests to existing crew personality. So each personality has at least two quests now. Again, I'm hoping to expand these further with each update. This update sees the addition of quests to locate some lost probes.
- expanded and fixed quest code. Having play tested a the quests, I spotted a bug (which is now fixed) and have expaned the code to handle the reward and failure parts of the script.
- added quest load and save routines. So although continuing a game currently breaks the game (I am working on this) I added the functions to handle loading and saving the quests so that they carry over when I've finally fixed that part.
Update #6 was a little bigger than #5 as I managed to spend more time on it than last week. This update brought the following:
I also fixed a few bugs:
Update#7 brought the usual fixes and expansions. Importantly this was my GDWC2017 entry version and from this version i scaled back the updates to monthly updates, rather than weekly. This has made the updates more significant and hopefully more beneficial.
In update#7 we had:
One month after the initial relase of The Vacuum I summarise the changes made in the last four updates.