Recently we released the massive V0.9 update to Predestination, our second last major update before we hit V1.0 and officially enter our final beta phase, at which point we can start delivering all of the remaining content (singleplayer missions, kickstarter backer content etc) and heavily polishing the game up for full release. We’ve been busy working on V1.0 and on a few unannounced things since V0.9 went live, and in this Dev Update we’d like to share details of all of that with you along with an updated estimate on the impending release of V1.0.
The biggest change is that we’ve upgraded the Predestination engine from using parts of the old XNA 3.1 framework to using the newer MonoGame framework. This took considerable work but is now complete and will lead to performance improvements, 64-bit compatibility, memory problems solved, more scope for modders, and possibly even cross-platform support. We’ve also recorded voice lines to spice up the Diplomacy system, added a Score screen after each game to let you know how well you did, and we’re part way through developing the first Challenge Map. Also on the agenda for V1.0 are major improvements to fleet combat (both gameplay and graphics improvements), graphical improvements to weapons, new sound effects, notification improvements, building models, and AI improvements.
Upgrade to MonoGame: Predestination is made in our own custom game engine that was built on top of Microsoft’s XNA 3.1 framework, and unfortunately that has left us with a number of technical limitations that we’ve recently started to run up against. XNA 3.1 is 32-bit (which limits the amount of memory it can use), it doesn’t work with newer versions of the .NET framework that have some memory management tools we want to use, and our engine was limited to DirectX 9. This is why the game can crash with an “out of memory” error after a while even if your computer has plenty of memory left, a problem that will only get more common as we add more content such as new models, ship parts, sound effects, voice clips, and user interface elements to the game.
The latest Steam Hardware Survey shows that over 97% of gamers now use a 64 bit operating system, so we finally decided to upgrade from XNA 3.1 to Monogame, the open-source replacement for XNA 4.0 that has 64-bit support, Direct X 10+ support, etc. Switching frameworks like this is a huge undertaking as there are a lot of differences between the two versions, but we wouldn’t be doing it if it weren’t absolutely necessary. It took us a few weeks to make the switch but I’m happy to report that the game now runs properly on Monogame, all we have left to fix is a number of graphical problems and minor bugs that should take no more than another week of work, and then we can get back to finishing the update.
So what are the benefits to you of the new framework? The game should render faster and take up less memory when we’re done, and it will now be able to use more memory when it needs it, so we have the capacity to add new things like voice lines. It also opens the scope of the game for modding purposes as players can make very large mods without worrying about memory issues, and it fixes a number of stubborn crashes and graphical bugs some players currently experience. Monogame also has great cross-platform support so it should be easier for us to release Linux and Mac versions after the main release or even port the game to other platforms.
Score Screen: One small feature of 4X games that always helps increase replayability is a score system, which gives you points at the end of each game. As we continue to add challenge maps and singleplayer missions, you’ll also want some way of knowing how well you did in those. We’ve added a new score screen that pops up at the end of every sandbox mode game, singleplayer mission and challenge map with points for things like number of planets colonised and technologies researched. There are points for the type of victory, eliminated races, extra points for rifts investigated and peace treaties mediated, and also a speed bonus depending on how quickly you win the game and what size the galaxy is. Below is the score screen after winning a colossal galaxy sandbox game via technological superiority in 856 turns.
Singleplayer Scores & Modding: Below is the score screen following the completion of our first singleplayer mission, The Kazzir Story. Each objective you complete in a singleplayer mission can have points associated with it that will increase your final score, and extra points can be made available for hitting bonus objectives or hidden objectives. Each mission can also have hidden endings with bonus points or a bonus for reaching the storyline’s official canonical ending (as in the screenshot below). Each singleplayer mission will give you a star rating (bronze, silver, or gold) based on your performance so you may be incentivised to play it again to get the gold rating — something that is sure to be especially difficult in our challenge maps. All of these things are loaded straight from easily-readable text files so modders will have full access to this suite of tools for their own singleplayer levels and challenge maps.
Diplomacy Voice Recordings: In our original Kickstarter campaign, the final stretch goal we just about hit included a full singleplayer story campaign. We’ve already released one episode of the story and have 11 more episodes in development for full release, and we hope to add voiceovers to the entire story if possible before launch. This month we took a big step toward that by recording voiceovers for all of the diplomacy dialogue for the 6 core races that are currently in the game. This was Brain and Nerd’s first trip to a recording studio and it was a great experience, we’d like to thank Red Apple Audio for the use of its facilities. The audio will need to be processed and filtered and will then be added hopefully as part of the V1.0 update.
In addition to a singleplayer campaign mode, we’ve also promised to add unique challenge maps. These are small self-contained stories or challenges that aren’t tied to the main story, and the first of these will be going live in V1.0! This first challenge was designed by kickstarter level design backer Lee Newsum shortly after our campaign, his ideas have helped shape the tools we built for challenge maps and we’re super pleased with how it’s coming along.
Challenge #1 – The Time Trap: This mission takes place in an alternate ending to the main storyline, and you play as the United Colonies after they’ve captured the Revenant homeworld and are ransacking it for technologies. One of your scientists accidentally activates an unknown piece of Revenant technology, trapping the star system in a time dilation field and attracting temporal rifts every few turns. Time passes much faster inside the bubble so your empire outside the field can only send in a slow trickle of ships and supplies. You have to use limited resources to rebuild your fleet and fend off waves of Revenant fleets that grow in intensity, and your goal is simply to survive until your scientists can figure out how to shut off the device or help can reach you from the outside. Every ship that gets through your defences will do considerable damage to the planet’s ancient infrastructure, and once it’s gone you can’t replace it.
Fleet Combat in Space: Right now you can only attack other races by attacking their planets, but you can’t attack a fleet in space. If an enemy sends a fleet to blockade a star system, you can send your own ships to the system to end the blockade but can’t attack the enemy fleet. You also can’t attack an enemy fleet in an ally’s star system to help them out during a war. We’ll be fixing all of that with a new button on the System window that lets you attack enemy fleets, nice and simple.
Weapon Graphics Overhaul: If you’ve played the fleet combat in Predestination enough, it can’t have escaped you that all the weapons look and sound the same, all the projectiles fire a little rock and all the beam weapons fire a straight line in your race’s colour. That’s boring, so in this update we’ll be taking a little time to add new graphics to all the weapons and also new models for the different classes of shields so you can tell when your enemy has got some new tech.
Nebula Improvements: You’ve encountered some nebulae if you’ve ever sent ships to investigate a temporal rift, and now we’re going to add them to the fleet combat at planets too providing that the planet is inside a nebula. Green nebulas will create pockets of sensor-blocking green gas and laser-dampening dust clouds, blue nebulas will will missile-dampening ice clouds and damaging ion storms, orange nebulae will have dust clouds and explosive plasma pockets that destroy projectiles, and purple nebulae will have plasma and ion storms. This should make the choice of galaxy age in the game options a bit more interesting too, as a primordial galaxy will have nebulas in a lot of star systems.
Missile/Fighter Improvements: Missiles and Fighters currently fly in hex-based paths the same as ships, and sometimes it means they go very odd routes in order to catch up with an enemy. We’ll be changing them to a more freeform system where they always head straight toward their targets, and we’ll see if that improves missile and fighter gameplay.
Bigger Battlefields: Currently larger ships like cruisers and battleships can easily get stuck behind each other. To mitigate this problem, the Fleet Combat area generated by the game will be increased in size significantly and ships will start off further apart from each other. Ships will also always be positioned so that the fastest ships are in front, so the back row of ships shouldn’t get to move until the front row has at least had the opportunity to get out of their way.
Misc Improvements: Minefields will be changed to simply start the enemy ships off damaged instead of spawning mines, as the spawned mines often blew up on your own ships and caused other bugs. We’ll also be adding a chance of immobilising an enemy ship if you hit it in the rear when its shields are down, and fixing some bugs like the missing Plasma Field weapon (this was removed intentionally due to a bug it caused with explosions, which is now fixed). We’re also considering completely removing the ammo system for bombs and missiles as it turned out to be just not very fun to have to constantly go back home to re-load ammo, and will rebalance those weapons accordingly.
Bugfixes and Iteration: Fleet Combat has a number of strange bugs and inconsistent behaviours, and it has some pretty big memory leakage over time in long games. We hope to do a quick iteration on the Fleet Combat gameplay either in V1.0 or shortly after, starting by fixing all of the memory leaks and adding a new State system under the hood to combat most of the existing bugs and crashes. We then hope to replace the user interface panels with ones that fit in better with the rest of the game.
AI Trade Routes: One thing that always strikes me about the screenshots that come in with your crash reports is that a lot of you are using the Trade Route system pretty extensively, setting up separate shipyards, food planets and energy harvesting worlds exactly as we intended! We’ll be upgrading the AI to form its own trade routes to make the AI empires more efficient so that it’s a fair fight, which will also provide you with the opportunity to blockade their star systems and cause some economic havok. This may not make it into V1.0 depending on time, as it’s low-priority and we really want to get this patch into your hands ASAP.
Declare War on Race: The new diplomacy coercion system is working beautifully, and we want to expand on it with the addition of a new coercion: Declare War on Race. It’ll be extremely difficult to convince another race to agree with this, though they’ll be more likely to agree if you’re in a military alliance with them. As part of this change, the AI will also sometimes ask all of its military allies to join in on wars it’s pursuing and will threaten to cancel the alliance if you refuse.
Star Claim Improvements: You’ve probably noticed that the AI now periodically sends you territorial claims for star systems, but this system could use some improvement. Claims should last for a lot longer than 50 turns (possibly indefinitely), and Homeworld systems should be automatically claimed. We’ll be adding some kind of visual indicator of who claims a particular star system so you know in advance that you’re about to cause a Diplomatic incident by colonising a planet. You’ll also be able to lay claim to star systems you already have a colony in, which can be handy if you spy a colony ship en route to one of your systems and want to convince them to turn around.
Notification Improvements: Every type of window that pops up in the taskbar will be getting its own unique icon and sound effect so you can quickly tell the difference between a ship exploring a new star system and a survey mission completing. At the same time, we’ll be adding a small checkbox on every notification window (and in the main menu) that lets you disable that type of notification so you never hear about it. We’ll also be looking into adding a copy of each taskbar notification icon onto the galaxy map so you can see exactly where the notification is coming from.
Optimisations: When converting the game over from XNA 3.1 to Monogame, we identified several big targets for optimisation that we’ll be tackling when we have time. When the patch deploys, you’ll notice that the star graphics have changed; The technique used to render the star in the system window dates back to the very start of Predestination’s development and it was ridiculously inefficient, so we’ve fixed that with a much more efficient one that we think still looks good. There are a few other places we can save memory and some places we can make the game render faster, and we want to explore some of these before releasing V1.0 and test the game on lower-spec computers.
Buildings: With the memory limitations caused by XNA 3.1 no longer limiting us, we’re free to start adding more content without worrying about increasing crashes. The Factory (tier 1, 2, and 3), Research Lab (tier 1, 2, and 3), Food processor (Tier 1, 2, and 3), Industrial Market, The Forge (Robotic city), The hatchery (Reptilian city), Robot Fuel Factory, Support Centre, Military Barracks, and a few others have been added to the game and are now just getting final tweaks.
Sound effects: We’re looking into adding new unique sound effects for each weapons, things hitting shields, explosions, and user interface elements.
Thanks for reading another massive dev update, and thanks again to everyone patiently waiting on the V1.0 update. We’d usually be releasing a patch on Steam about now, but this one is taking extra time due to the switch over to Monogame so there are still a few features left to complete. With such a big change, we also need to make sure we test it thoroughly on the Steam internal build with a variety of computer systems. We’re aiming to get V1.0 fully complete, tested, and in your hands within the next 2-3 weeks. We’ll do another dev update when that patch lands, summarising how development of this portion went and looking at the next step for Predestination V1.1 and beyond.
The next wave of Early Access invites is going out this weekend, so if you’ve sent us a request in the past month you’ll be getting a key in the next day or so. If you’re a Kickstarter backer and you’d like a key as part of this wave, as usual please just send us an email to firstname.lastname@example.org with the email address you used on Kickstarter and we’ll send you a code right over. Once we hit V1.0 and we’re happy it’s stable, we’ll also send everyone out their codes via email and Kickstarter messages even if they haven’t requested one yet.
— Brendan, Lead Developer