So... I'm sitting here at 7:20AM, unable to sleep since my brain is wired from suffering several eureka-ish moments in a row.
But first, since I haven't provided an update in awhile I guess I should fill you in:
Here's the situation: KS is coming in the next couple of months, three at the absolute tops. This isn't the first time I've said something like this, I’m totally aware of that. It's probably not even the second, third, fourth, or fifth time. But in this case there's nowhere left to go. I'm at the very edge of my financial resources and there's nowhere left to push things back to. My desire not to put something that is hardly perfect out there for the world to see is now running up against hard physical reality, and reality always wins in the end.
The plan for KS is to put out the most recent version of the full, entire game as a free title, albeit plastered with KS links. My thoughts here are twofold: First, it's a lot easier to get attention with a free game than it is with yet another KS. Second, I fully expect that the final release will exceed the free version by large enough of a margin to avoid cannibalization.
After the KS completes, assuming success, backers (at least at a sufficient tier level – still up in the air whether or not to make it universal) will get beta keys that grant them the latest development version. The free release will only be updated if major bugs are discovered.
Another recent-ish development is that lately I’ve found myself as more and more of a solo dev. It’s always been the case that I’ve borne the majority of the workload, but recently the other active contributors have all had real life issues, some degree of burn out, or both. It’s been a pretty long development cycle, so I think this is totally understandable. AiL has shifted to working on Gladius, and has largely stepped back from DG. As a result, the AI hasn’t done the best job keeping up with new features and so there’s a big tension between enabling those fun features and having a competent AI.
Which brings me to the first eureka moment. Often times as a programmer when you’re dealing with designing big systems, things come to you subconsciously over time. When you eat, when you sleep, when you take a shower… if something is on the back burner for long enough the pieces tend to eventually come together until things click. Well, the main issue I see with the AI currently is that fleet manipulation hasn’t adapted well to starlanes (optional feature) or capital capturing (not optional). The fleet manipulation AI is also almost completely brute force and performance-inefficient, iterating through planets inside iterating through fleets, not looking at the big picture but trying to find the best course of action for each fleet as an individual unit based on a whole lot of expensive tests.
In any case, I think all the pieces have come together in my head so that I can rewrite this into something much improved in a few days time, maybe a week tops, and this could easily double the AI's skill level.
Besides that, there’s another contributor, Dr. Arpad Keleman (who is also our most skilled tester), whose speciality is AI, who has intimated he wants to step up to the plate to help out with AI. By the end of the year, I think it’s more likely than not that we’ll have a full, top-to-bottom AI rework. The fleet AI alone is around a third of that already.
My other big eureka moment was finding a solution to the tech trading conundrum. You see, tech trading is great in terms of game feel, but it’s always been exploitable. A player will trade as many techs with as many other players as possible. If, for example, he trades 5 techs with 5 empires he gains 25 items, but those empires only gain 5 items, putting the player at an enormous advantage. In a world with tech trading then, a competent, liberated AI should trade techs whenever possible just like a skilled player would. But then the ultimate result of that is everyone is trading techs all the time and everyone ends up with the same techs… which obviously sucks. Typically, the solution here is to sacrifice AI on the altar of game feel.
Now, I’ll be the first to admit that DG’s current diplomacy implementation isn’t the greatest. In fact, it’s probably the aspect of the game I’m least proud of. Lack of tech trading certainly isn’t the only thing that makes diplomacy rather ‘meh,’ but it is a significant aspect. So how to eat our cake and have it too?
There’s a simple enough solution: Assign an opportunity cost for tech trading. For instance, make both sides need to pay some credits (not to each other, but to be lost to the ether) based on the level of the technology being exchanged. This cost can even increment each time a technology is traded, so that that cheesy promiscuous trading strategies have a substantial cost. So now we can implement tech trading without ruining the design of the game.
I hope that this update doesn’t sound too bleak, because honestly I’ve never been so motivated about the game. I’m looking forward to getting a lot done leading up to the KS release, and tight concrete deadlines are always excellent motivators. The goals for the KS build are to improve performance and AI, and combat, and implement spying, improve diplomacy, and generally tighten as many odds and ends as possible. Oh, and maybe throw in a random event or two for good measure (Brent’s goal). If we can get half of that, I’ll be pretty happy. Either way, it’s going to be a busy couple of months