The last 10%…

“The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.”

While the above quote is (so far) an exaggeration in our case, as it is in many cases, it’s not wildly off the mark either. And to a large extent, products that don’t have such a slowdown towards the end of development have a tendency to end up half backed, bug ridden, hard to support, etc. Doubly so for indie developers that don’t have the benefit of a tried and tested workflow that has evolved over the course of many years.

I should apologise for the perennial tardiness of updates on the site. I won’t though, since (given past history) it isn’t obvious that I’ll find the inclination to follow through on putting together more regular posts. I will however, make this post somewhat monstrous as compensation. For the most part, the majority of communication on the project is now occurring on a thread over at explorminate, as well as on our closed beta test forums.

Lack of updates, while often correlating with lack of development, isn’t in this case causal. Thankfully, development has carried on as usual.

A quick update on the business side of things: We’ve had a few preliminary dates for a crowdfunding campaign in the past that have long since come and went. Long story short, I’ve been able to sustain myself without an income for longer than I originally thought possible, and even though it’s hard to say how things might have played out, I’m glad we didn’t create a crowdfunding campaign when we did. The project is substantially more playable and polished today than it was the last time we were thinking about fundraising. That being said, we’ll need to do either a crowdfunding campaign and/or early access towards the end of the year (and no later than the beginning of next) since, barring anything unexpected, I won’t be able to sustain myself for too much longer without a source of income.

Regarding development since the last update, a lot of work has went into polish, UX, bug fixing, performance, and other behind scenes stuff. I’m not entirely sure whether we had diplomacy in the game at the time of the last update, which is a bit of a sad statement for sure, but it’s in there now. We’ve also added a bunch of new features:

— We reworked and rebalanced the old “rung” system from MoO 1 so that rungs are a bit wider, and there are bespoke projects to unlock subsequent rungs instead of happening “magically” (there’s actually a method to how rungs unlock in MoO 1, but few outside of super fans actually understand it).

— We introduced the concept of “craftable ship designs.” Players make designs as normal, but when they go to submit one they get to tweak the resources and time go into development. When a design comes online, several random modifiers enter into play that alter the original design across several dimensions. This lends more character to designs, increases the variety of the designs one might expect to discover in a play through, and creates some strategic tension regarding resource allocation and time management. For anyone who doesn’t want to bother with all this hub-bub, the feature can be disabled on game creation.

— There are now several different colonization modes. These significantly alter the feel and pace of a game. By default in DG, you colonize worlds with transports, but then need to build a starport at that colony to extend logistics range and reach further distant destinations. You can now chose to colony ships instead, just like in classic MoO games, where your fuel range is expanded the moment you settle a world. Or you can choose neither, so you don’t need colony ships to colonize, nor do you need starports to extend range (this makes things work the same way as Star Lords, the unreleased precursor to MoO 1). Lastly, you can opt to need both colony ships and starport construction.

— We also went ahead and added a much requested feature: starlanes! Heh, just kidding. No one requested them. Anyway, starlanes are pretty divisive and the majority of our target audience don’t seem like the particularly want them. But, internally there weren’t many barriers to adding the feature so the thought was “What the heck? May as well add them quickly, and make them an optional feature for variety’s sake.” Then things ended up going the opposite of the way we expected, namely that it took a decent chunk of time to get all the kinks worked out. Also all of our testers ended up preferring playing with starlanes – even though most (perhaps all?) were firmly in the anti-starlane camp previously.

Considering I myself tend to dislike starlanes, this was a curious result. Yes, we allow travel outside the starlane network at a lower rate of speed, but a few other games have done that too and I still haven’t really liked that. I think there are a number of intangibles, including the way the map is revealed and how ships and fleets are given orders that interact with starlanes in a way that makes our implementation especially appealing, but I won’t go into particulars. I’ll just say that as it stands, starlanes are enabled for the default ruleset because, at least according to everyone who has played with them so far, they make the game better. But they’re still an optional feature because, well, there is a sizeable proportion of the market that wouldn’t give DG a second glance if we shoved starlanes down their throat.

Those are the largest additions, at least that I can think of right now (it’s been a very long time since the last update after all, and I’m also writing this fairly late), but there are a decent number of smaller additions that I should talk too much about lest this post becomes a novella. A couple of quick examples immediately come to mind though: Wormholes are now (optionally) transient, so that they start up and shut off at regular intervals, we added some macro and micro management tools, and we reworked sensor range so that it’s decoupled from logistics, which it wasn’t previously. The later change turned fog-of-war, which was always something of a love-it-or-hate-it feature, into a seemingly universally appreciated one.

And what about future development?

Well, I’m currently doing a rewrite of the turn processing logic since a fair number of issues seem to stem from the current implementation (which admittedly isn’t the greatest). In the long run, getting everything gussied up now is probably more efficient than continually applying band aids to fix edge cases as they appear. Significantly, as a part of the rewrite, I’m also adding hotseat (eg. local) multiplayer.

The plan is to have hotseat working for the next patch of the closed beta. True networked multiplayer is another beast entirely, and something that isn’t likely to see the light of day until post-release, but a theoretical play-by-email method is only a hop, skip, and a jump away from hotseat. Whether and/or when I spend the time on PBM though would depend on how many people request the feature, as well as the veracity of those requests.

Besides that, we plan to have our take on spying and espionage ready before we finally start selling the game towards year end. We want to make spying a major system that interacts with everything, and one of the chief drivers of how empires interact with one another.

So, keeping in mind this is all forward looking and may change, first up will be the “relationship status,” or the “love nub” as it’s known in MoO 1/2, traditionally how much two empires like one another. We’re going to re-imagine this so it’s no longer a metric of how much the AI likes you, but is rather a more abstract representation of how the people of each empire feel about one another.

The advantage here is that “relationship status” has always been a one way street when it comes to AI. While the AI’s decision making is largely governed, if not wholly constrained, by relationship status, the same is not true for human players. The AI might not be allowed to sneak attack a player that it has a harmonious relationship with, but the reverse is certainly not true. Relationship fundamentally only exists as a means to colour AI decision making.

So, in DG one of our goals is AI liberation, where the AI plays by the same rules as the player. That means no handicaps one way or the other, and certainly not any game mechanics that only affect one side (eg. nothing like “diplomacy modifiers” as a racial pick).

At the same time, the aspects that are one-sided can often play a part in crafting the emergent narrative of a game session. Take MoO, where humans have a diplomacy bonus. Expert diplomats? That’s interesting and having that kind of element helps the player to visualize parts of the session so as to craft a narrative. But it’s also really poor design. As soon as you venture into multiplayer, for example, that diplomacy bonus means nothing. Why do I, as a player, care that another player has “+10 diplomacy”? The solution? Give other players a reason to want to be friendly with humans. Maybe trade treaties with humans yield more for both sides. Maybe you suffer a morale penalty when you’re at war with them? Now you’ve accomplished the same thing as before — you keep the narrative richness, but you haven’t inflicted a crack in the armor of your design.

So we want to do something similar with relationship status. Your relationship is driven by events, like border skirmishes, or trade, and actually affects gameplay rather than being an abstract value that only exists to govern AI behaviour and create “immersion”. For example, at high relationship values your trade/research treaties will yield higher and/or have lower overhead. At lower relationship values, because your people are more naturally suspicious, it will be more difficult to undertake spying actions against one another. In other words, there is a reason to want a high relationship value, and a reason to want a low one. Empires that have a very high relationship can be very prosperous but are also uniquely vulnerable to spies from one another. Best way to limit spying from another race? Declare war.

Besides that, I’d like to expand on the espionage concept a fair bit, especially regarding information warfare, or sabotage that affects a specific system at a specific time (eg. disabling the planetary shields, or missile defences, etc.), and have some tension between detection and prevention (eg. you can make it more difficult for enemy spy actions to succeed, or you can be better at correctly identifying the origin of enemy agents).

Lastly, I’ll touch on the far future. In an ideal world, I’d like to support DG for a long time after its release. I don’t much like how most 4X games approach expansions, and optimally I’d like to have all future developments available to purchasers free of charge. This works well when a game is able to maintain a decent pace of sales, but financial realities may not actually allow such an altruistic stance towards monetization and development.

One idea I’ve been toying with, in the event we do release paid DLC one day, is something along the lines of where each pack becomes a bit cheaper every month until eventually it’s free and rolled into the base game. Say over the course of a year. That seems like a good way to have our cake and eat it too. If you’re really into the game, you can buy DLC early. Or maybe you want to wait a bit so you can pick it up cheaper.

Or maybe you didn’t like DG that much, or it has some tragic flaws, but after several expansions it gets significantly better and addresses your grievances. Well, if you didn’t really like the game to begin with it’s not like you’re ever going to buy an expansion pack of all things, so it’s unlikely you’ll ever find out if the expansion pack made things tangibly better. I know I personally have a ton of titles in my Steam library where this is the case. A really sizeable chunk of the major 4Xes to be honest. Having those previously paid expansions slowly folded into the base game gives players a reason to check the game out once more after some period of time away. And maybe then they become fans and purchase some of the current content.

The fear is that maybe nobody will elect to buy DLC in this scheme, and instead the vast majority of would-be purchasers decide to wait it out instead. It’s hard to forecast exactly without any sort of metric. Maybe DLC prices could be tied to number of purchasers of the base game instead, kind of like a stretch goal?

If you’ve been able to read through all of this, then I salute you! I hope we can give you all the space 4X you deserve when we finally reach version 1.0, or perhaps earlier than that, when DG becomes available for purchase around the end of the year. Until the next sporadic update, farewell!