Tonight, we celebrate — I’ve finished enough of Distant Star that I’m releasing a copy to my beta testers tonight. I spent most of the weekend putting the finishing touches on a ton of polish — the game now has attractive victory/defeat screens and a framework for tracking and reporting gameplay stats, plus a really useful report that you can access after each combat showing you how well your ships fared in battle.
I’ve also put together a really solid Creative Commons-licensed soundtrack; the title track is “Two Swords” by _ghost. There’s some truly amazing stuff over on ccMixter just begging to be dropped into games. Free culture FTW.
Things are really cranking along now, which is good, because October’s almost over and my first-release deadline is almost here. I spent a good chunk of yesterday and today finishing up one of my last pre-release milestones, and as a result Distant Star now sports a functional, if somewhat limited, save slot system. You can access it via the in-game menu, which is another of those functional-but-terrifically-ugly systems (“Save!” “Load!” “Quit!”).
As part of the save/load system I also added a new game setup screen, where you can customize the game before starting. Right now it’s rather limited — there aren’t a lot of interesting customizations yet, ‘mfraid — but the interface is all there; it works and it looks pretty good.
Tomorrow and Friday I’m going to nail down the AI, and if I’m happy with the state of things I’m going to start passing the game out to beta testers over the weekend. Huzzah!
I couldn’t help myself. There are tons of important systems in Distant Star that still need a lot of work (like the non-existant save/load screens!) — but I spent most of the weekend putting the finishing touches on the research and technology aspect of the game. I’ve got four ‘trees’ — Combat, Industry, Defense, and Ecology — completely implemented. Every technology in those trees works; researching ‘Post-Keynesian Economics’, for example, actually improves the rate at which you gain wealth.
I also finished up the last of the combat mechanics (shields now actually work, and automatically recharge) and refactored some nasty code leftover from the prototype. Expect great things. Soon.
After a late night hacking I Distant Star finally has a tech tree. The research system isn't in place yet (so you can't actually do any research...), but all the interface for browsing the tree and selecting technologies is in place. The whole thing is totally data-driven, and insanely extensible. It actually supports multiple 'trees' -- each individual tree focuses on some aspect of your empire. There's a combat tree (better weapons and tracking speed), a defense tree (better armor and shields), and an industry tree (increased production and planetary efficiency). I've got ideas for a couple more trees (science, ecology, etc.) -- but the great thing about building the system in this way is that I can just throw the XML in later.
I'm incredibly pleased with the disparate tools I'm using to assemble trees. I start by sketching them out in a mind-mapping tool (the ever-awesome-and-surprisingly-free MindNode; that sketch feeds into a little Ruby script that spits out plist XML with some reasonable defaults for each tech. At this point I could drop the tree into the game -- but none of the technologies would actually do anything, so before I do that I go in and add an effect or two to each tech. It's surprisingly fun ("Hmm. What should 'Post-Keynesian Economics' do?"), and something I've wanted to do ever since I first played Civilization way back in the day. My very own tech tree!
I've been playing a lot of Civ V lately, which should come as no surprise to anyone. Anyone with even a passing interest in strategy games should give it a try; it's an interesting, albeit very safe, take on a well-established formula. What I like most about it, though, is the changes to the interface -- in previous iterations of the series large empires grew completely unmanageable in the endgame. Just hunting down all the cities and units that needed new orders in a given turn starts to feel a bit like work.
In V, they've introduced a nice interface element that greatly simplifies all of this management: at the beginning of each turn, a queue of icons appears, each representing some action or decision you should probably take during this turn. You can ignore them, of course -- but it's incredibly helpful to have the game tell you when, say, you need to pick a new tech to research or a unit is waiting for orders. It's not an original mechanic, by any means -- but it's incredibly helpful here.
Naturally, I've stolen it for Distant Star.
At the beginning of each turn in Distant Star you get a neat little stack of notifications along the left side of the screen. If something interesting has happened -- a ship was completed, a fleet arrived at its destination, a colony was founded or lost -- an icon appears to let you know about it and, if you tap it, give you more information. I'm finding that it completely changes the way I play, making the game feel like less of a chore. On each turn I scan through the notifications with my right hand, tapping any that I think need my immediate attention. With my left hand I take care of whatever needs doing, whether it be giving new orders to a fleet or queuing up another batch of frigates on an idle system. It's deliriously intuitive, at least to me -- and it completely does away with the tedious scrolling that characterized the game up until now.
A week ago I announced my entry for PoV's October Challenge, an old-school 4X space game (ala Master of Orion) for the iPad called Distant Star. I've made a fair amount of progress since that announcement; Distant Star has gone from a pile of half-finished tech and ideas to a rough playable prototype. Almost all the core features are in place: ship construction, exploration, colonization, combat. Of course, to be properly playable I needed a few basic AIs -- at the moment, you can play against two simple, deterministic AI players, each with their own play style (one colonizes recklessly, while the other builds up small fleets and attempts to capture one system at a time).
Introducing some simple AI players helped point out all kinds of multiplayer bugs I'd introduced so far -- turns out none of my fog of war code worked at all, and resource accumulation was completely borked. The first game I played the AI wiped me out almost instantly.
Based on some early, vicious usability feedback I've made some subtle changes to the map interaction, restricting scrolling outside of the galaxy and highlighting fleets or systems when they were selected. I also played around with a real-time version of the game, but quickly realized that, while it made the early game much more pleasant, things got way too hectic once the AI acquired more than a handful of high-quality planets. They started building ships far faster than the player, especially if the player's empire was quite spread out. Back to turn-based I went.
Up next: research management. Bring on the tech tree!