User: Password: (Register)
Status: TESTING | Game Time: IY2049.272

Generating History

2011-06-27 05:26

As we get closer to milestone 3, there have been a lot of small things that need nailing down but one job has dominated in recent months, and it's not even strictly a part of milestone 3 at all. That is the work of "history generation."

What exactly is this, and why is it a bottleneck?

Most MMOGs have static content, designed by large teams of people. This makes it easier to give a good first impression but comes at a high price. Once you eliminate the possibility of players changing the game environment, the only way left for players to measure progress is to add more bits to their characters. Eventually gameplay becomes a matter of repeating quests and accumulating more and more known loot, keeping up with the virtual Joneses. Players inevitably grow bored with the same old routine, and they leave.

This is not what we want for Imperial Realms. The goal here is for players to be able to shape their worlds as they want (subject to natural laws, of course) so that the possibilities for future play change constantly. The best way to do this is with a procedural engine which simply generates stars, systems and planets as needed. To get estimates of how big the game world is, we then ran the Imperial Survey (mentioned in a previous entry).

Of course, the game environment can't be completely random — we have to have some idea where things are going! In fact, I wrote the backstory (with Bruce Byfield) before we had any game data at all. Now we have the basic game environment but with no obvious connection to the backstory. Fortunately, it is a big game universe, and that gap can be filled simply by analyzing the survey and looking for systems and planets which match what we wrote.

That is what history generation is really all about; generating game content.

The first stage of this is simply to assign actual locations to the early Human Federation worlds mentioned in the history. That was done back around November 2010. Then came a much more formidable job; mapping out the network of spacefolds that connects the worlds, in a way consistent with the backstory. This proved to be very difficult. Consider just the scope of it: with about 250 billion systems, the possible number of connections to examine is on the order of 250,000,000,000 X 250,000,000,000 — a crazy number way too big to address directly. So instead we have to work out strategies for exploring it all.

This is a good thing, though, because those same strategies are needed for regular play. In fact, the history generation as a whole is really an exercise of the simplest aspects of game logic. That is the reason why we're spending so much time on it now. It has turned up a few unanticipated quirks, too, which I may post about in another entry.

At the moment I write this, the history generator has progressed to about IY103, with another 6900 or so years to go and an estimated ETA of two months. It's no longer a bottleneck, though, and nothing will be held up waiting for it.

This is also just the first stage of it. After the locations of the worlds have been assigned, we still need to generate the worlds themselves, as well as their populations, factions and units. All that won't be done until the end of milestone five.

So, you will be hearing more on this subject! For those who are curious to see more closely how it's progressing, I'll tweet and post updates on Facebook. I may comment further here, also.

Leave a Comment

Your Name:

E-mail:

Comment:

Powered by SEBCMS 4.0.0b20