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!