I've just finished week two of development for Starlight Revolution. This week, my main focus was on the AI-driven narrative aspect of the game.

What do I mean by "AI-driven narrative"? Well, one of my goals with Starlight is to have the player feel like they're a part of a living universe, one which not only reacts to their actions, but also creates conflicts and interesting situations for players to react to themselves. The way I'm looking to achieve that is by using an AI to drive a procedurally generated plot.

So far, I've only written the framework for that feature. Right now, the system can load plotlets from a file and fill out the plot's roles with characters that closestly match a given set of criteria. So, for example, if a plot requires an insectoid villain, it can search all the existing characters for one that has the "insectoid" tag. If it doesn't find one, it will create one instead.

I am hoping that by carefully using tags and queries, the system will be able to string together plots in a manner that makes sense to the player. Because the system tries to use the best matching existing character, it's possible for characters to have their own interesting story arcs. You might anger a priest from Solatab III at the start of your game, only to find later that they've left their order and devoted their life to making you miserable. Further encounters could involve ambushes, hired thugs, and even the priest starting a criminal empire.

Another thing I did this week was to continue my survey of spaceship designs. I focused primarily on the look and feel of spaceship engines. This is an interesting area, because we really have no ideas about what an engine capable of FTL travel would look like-- but even so, I've isolated some common shapes and will be playing with them in the future.

Finally, this week I also setup a mailing list, which you can subscribe to here. I'll be using this list to send out monthly progress emails, so if you're interested please sign up. Also, If you've got comments or questions, or just want to chat, drop me a line on twitter @JeckDev.

comments powered by Disqus