At long last… I did the thing. After 3 years of work, and an idea that began way back in 2015, From Orbit has launched on Steam!
A big thank you to my collaborators, Jesse, Matt, tenfour, and Allan. These guys really added so much to the project. I also have to thank my Dad who played an absolutely unreasonable amount of From Orbit over the past couple of years and was effectively a one-man QA team.
My last dev-log was back at the beginning of the year, so what’s been accomplished since then? As you might expect at this point in the project, Phases 9 and 10 were all about wrapping things up. Filling in the odd piece of missing content here and there, and smoothing out various rough edges in order to make the game a product that can actually be presented to players.
Phase 9: January-March
Critter Content
A bunch of critter sound effects were added, and some improvements were made to critter pathfinding. Previously some environment generation edge cases would result in very narrow pathways being created between walls. Player units and smaller critters could get through, but medium or larger creatures would try to get through and be blocked by their physics. Checks were added to prevent larger creatures from attempting to path through spaces they won’t be able to fit through.
I was a bit disappointed at how some of the particle effects ended up looking in screenshots, even though they were decent in game. Player blaster effects in particular looked fine in motion, but dull and blobby in screenshots. I updated the particle effects for these to give them more apparent motion and polish when captured as still images.
Winning
Up until this point there wasn’t really any way to win the game. You could exhaust all of the planets and then that was it, you couldn’t play any more. Yay! You won!
A final boss battle was added, with a couple of unique mechanics, and if you survive this battle and defeat the final boss, there is now a short win sequence.
Meteors were added as a new random hazard on planets and also as a part of the boss battle mechanics.
UI Polish
Various UI and usability issues were addressed.
I replaced the resource icons (which I’m pretty sure I had just yanked off the internet somewhere) with new ones that I created.
The game is more cautious with positioning the camera on game load, as it was possible to load into a game and end up looking at a blank screen because the camera had been panned off into an undiscovered area.
At work I was working on Oxygen Not Included around this time and coincidentally, some players reported the same issue on ONI. They would load a save file and just see black, because for whatever reason their game had been saved looking at an undiscovered area. On ONI I added a check on load to see if the camera was positioned in and undiscovered area, and warp it to the spawn point if so.
Back in From Orbit, I added the ability to access the Options screen from the in-game pause menu, and added a UI scale slider to help address personal preferences as well as displaying the HUD sensibly on various resolutions and aspect ratios.
itch.io
For players that would like an alternative platform from Steam, I set up builds for From Orbit on itch.io.
I was pleasantly surprised how straightforward it was to publish builds to the itch platform.
Phase 10: April-August
Seriously though, this phase is really really about getting things really finished off. Really.
Final Content
The Final Boss Was Shipping All Along
In a failure of planning on my part, the final boss creature wasn’t even concepted until this final phase. Concept, modeling, rigging, animation, and sound effects all happened at the beginning of this phase, which is at least better than it happening at the very end.
Various and sundry other visual tweaks were made, including art for the meteors, improvements to the rendering of the x-ray effect that shows units and enemies through environmental obstructions, and tweaks to various particles. The final boss fight was made spookier with some darker lighting, and headlamps added to the units so it was too spooky.
Since it also wasn’t particularly clear what it was you were supposed to be doing on the final boss fight planet, I added markers on the ground indicating a path to the boss (as it moves around), as a hopefully non-intrusive guide.
The crashed escape pods, from which you can rescue additional units, previously displayed a big label that said CRASHED ESCAPE POD very clearly on the screen, which was helpful but kind of stood out. This label was removed and replaced with an engineering icon, and they now require engineers to work on them to release the new unit.
More UI Polish
Certain UI elements don’t really matter that much during development, such as confirmation prompts when quitting the game, or starting a new one and erasing your game in progress. But these can make a big difference to usability for players so people don’t lose their progress due to a mis-click.
UI scaling was improved to a blend of automatic scaling by resolution plus user controlled adjustment to hopefully provide more appropriate default scales at different resolutions.
All of the fonts in the game were replaced with freely licensable ones. A commercial license for the ones I had been using would have run in the neighbourhood of $500-$1000 dollars. This is nothing for a project with a real budget, but given I might not even make that much in total from the game, I decided to go with freely licensed fonts from Google, and I’m pretty happy with the results.
I spent a lot of time on a task I had been putting off, which was revamping controller navigation on the Options screen. This is the most complex screen UI wise in the game, and needs to be fully usable with or without a keyboard and mouse. This motivated me to update Unity from 2018.2.11f1 to 2018.4.5f1 in order to pick up the nested prefab support and boy howdy is it simpler to build UIs with nested prefabs.
I also added a workaround for a Unity bug that causes games launched on Linux to detect that the screen is 1x1 pixel in size, and renders accordingly. A check is added on launch to detect this situation and attempt to switch to a more useful resolution if Unity gets it wrong. This is another issue that also came up in Oxygen Not Included which solves it in a similar way.
Launch Trailer
It’s been almost exactly a year since I put out the last work-in-progress gameplay video for From Orbit. Time to make a proper trailer for launch!
It turns out editing video is a lot of work. To make this trailer, I spent about 2 hours capturing gameplay video, and 10 HOURS editing it. Almost like it’s a real profession requiring experience and skill. Go figure.
For me this was also a learning experience in using Shotcut to cut the trailer together. Previous videos had been made using the old Windows Movie Maker, released in 2012. All things considered, I’m pretty happy with how my first attempt and a “real trailer” turned out.
What does the future hold?
Intermission
The very next thing I’m doing is moving to Japan! Surprise!
Move plans had a pretty significant impact on my scheduling for From Orbit’s launch. I’m going to be both very busy and without my normal development setup on and off for the next couple of months. I really wanted to get From Orbit out the door with enough time to respond to any immediate issues that launch might reveal, and then let things settle down a bit before moving.
A very important point in releasing a game is actually releasing it, and at this point of the process, I thought it was important to get it out into the world and not let it languish on the sidelines with my attention and focus elsewhere.
Follow Through
A lot of what happens now on From Orbit will depend on feedback, sales, etc. Are there showstopper issues? (Not that I know of, yet!) Features that would greatly improve the experience? (Almost certainly…)
I don’t have grand illusions about the size of my potential player base. A result of which it’s likely to be pretty quiet on the support side of things.
At some point I’d also like to do a post-mortem post with some stats on time, budget, sales, and general musings.
Onward
I’ve got some decisions to make for the rest of the year. Do I continue to add content to From Orbit? What about bringing it to more platforms (such as Switch)?
And the big question: what to work on next?
Stay tuned…