We’ve been very busy since the last update! The game is now technically playable, complete with AI that actually plays the game! However, it’s still missing some major features that we want to implement, and some of the existing features require more polish.
Alexander Stumpp, or AiL as he is commonly known in 4X circles, has joined us to work on AI for Dominus Galaxia, and he has made some very good progress on it! Some of you may know of his work on Pandora First Contact’s AI, where he was able to drastically improve that game’s AI post release.
AI players can scout, design ships intelligently, colonize, engage in space battles, invade enemies’ colonies, and develop their own colonies. The AI is undergoing fine-tuning and improvements, but right now you can play against computer players and expect actual challenges. I played a few games to get a feel for things and to look at what needed work on next, but the AI pushed me back, despite my intimate knowledge of game rules and strategies. And it wasn’t even cheating (no free resources, no free ships, no free vision.) It’s fair to say that AI is in good hands!
While our main focus is on making a solid single player game, under the hood things are set up so as to be capable of supporting multiplayer without major changes to the codebase. A good example of this is that we were able implement a cheat code for AI development that lets one assume control of the various AI empires, very similar to hot seat multiplayer. In fact, enabling this took only a few lines of code and worked on the first attempt without any major visible bugs! This is a very good sign for a potential post-release update to add networked multiplayer, and it’s possible we’ll even enable hot seat out of the gate.
We’ve also fine-tuned the ship design screen. It’s full screen, but scales correctly with aspect ratio too. Each ship design can have up to 5 different weapon slots, and 5 different special slots. Each weapon can have up to 999 mounts, limited by size. In space combat, if you fire on a stack, and it gets destroyed, but if you have weapons left over you can fire the remaining weapons on another stack. This avoids the situation when you have 999 death rays and waste them all destroying one measly scout.
Speaking of space combat, stacks are split automatically up to the maximum design slot count (very small stacks will not split, so as to avoid tedium). If you have 1 stack of 1,200 ships, it’d split into 6 stacks of 200 each (at the moment, 6 is our maximum design slot count, but this number is open to change). This eliminates the need for designing the same ship over and over again to take advantage of multiple stacks. We also implemented automatic resolution of combat that is identical to normal battles, but without any visuals. There’s no “approximation”, the auto-resolve will run the exact same code involved in normal combat. So if you don’t want to take control of certain battles, such as a huge fleet versus a pitiful, single ship you can just hit Auto-Resolve. For interesting battles that you want to personally take control over, hit “Manual” and you’ll be thrown into the action. Alternatively, if you don’t want to take control yourself but you do want to watch the action unfold you can still toggle “Auto Mode” from within the combat system. Incidentally, this functionality works as a bit of an ad-hoc tutorial where you can watch and learn the things you’re supposed to do with your fleets. Yes, this is turn-based tactical space combat!
We have ground combat and orbital bombardment implemented as well. Multiple sides (more than two) can engage in ground combat on the same planet at the same time. There’ll only be one victor though, since there can only be one race per planet. Orbital bombardment occurs after combat is resolved and a side has supremacy over the space around a planet.
Additionally, we came up with a new design for colonization that is somewhat reminiscent of Star Lords, otherwise known as MoO zero — the pre-alpha version of Master of Orion Simtex shopped around to publishers back in the day. There are no more colony ships. Instead, you simply transport population to a world to colonize it. This practically eliminates colonization micro, frees up a ship design slot, and is overall more fluid and enjoyable. The main issue with this system in Star Lords was that it made expansion far too cheap, and arguably the galaxy filled up too quickly. To fix this, we’ve moved the cost of colonization to be more back-loaded. When you colonize a new planet, before it can propagate logistics range, send transports, or build starships, it has to first build a star port. This nicely balances things so that one can’t colonize everywhere at once. We can also tweak the overall rate of expansion very easily by manipulating the cost to build a star port. With these mechanisms, we’ve eliminated the need for a colony ship design. All design slots will be purely warships.
What happens if your fleet is suddenly outside logistics range, such as when you lose a colony? It’d be stranded, but you can still order them back to system within your empire’s logistic range. They’ll limp back at the low speed of 1 parsec per turn.
Lastly, star gates have been implemented too. The majority of strategic map elements are there and functioning. Our biggest hurdles currently are UI, balancing, and missing features (diplomacy and espionage). We’re re-working the rest of the UI to match the ship design UI style, and improving visuals in general. After that, we want to attempt something new — let’s just call it simultaneous micro-management. Basically, the ability to select multiple colonies at once and issue directives that every one of them follows. For example, the ability to select a dozen worlds, tell them all to start building the same ship class, and relocate their production to a common rally point. We’ll give you more news on that when we start development of that system. In the meantime, we’ll try to write these blog posts more often. We’re working on the game harder than ever, but we haven’t done the best job poking our heads out and talking about it!