The GPG team has submitted a candidate for Beta 2 early this morning for testing. The big hang up has been the Internet integration between Demigod and Impulse Reactor.
It's a very interesting discussion I think that I thought I'd share with you guys.
Impulse Reactor is an overall platform that allows developers to make use of a whole range of Internet services from Impulse without having to have Impulse loaded. So there is a DLL called ImpulseReactor.dll in with the game or application that uses it.
Inside of Impulse Reactor is the less sexy named Common Virtual Platform (CVP) that are the actual APIs that developers make use of.
CVP calls include everything from storing saved games on the server, intelligent multiplayer match-making, achievement handling, storing files in the cloud, sending and receiving game setup data, etc.
CVP is premised on the idea that developers will send back and forth XML data. If you wanted to save a binary saved game, you would submit that file on its own along with XML data on how to describe it in the database.
Demigod uses LUA scripts and has a very clever way of handling multiplayer setup in that it literally sends over LUA bits back and forth to control the screen.
In essence, Demigod establishes trust relationships between the computers in a given game. If I press the "Ready" button in my game, I send over the LUA script to command the other clients to press Ready for my name too.
In short, CVP is designed for sending XML data, Demigod is designed to send LUA commands. So even converting LUA to XML isn't as straight forward an option as one might think because it still gets back to one side expecting the game to interpret the data and the other side sending the actual already interpreted command.
So we've been having to make changes on CVP and Demigod to make sure they can work together.
The result will be totally worth it though. You'll be able to do some really cool things in Demigod that I don't think people have seen in games before.
Let me give you an example: Demigod's CVP based match-making will support games of 2 versus 5. That is, if there are 2 really good players on one side, it will balance it with the other side even if it requires putting 5 people on that side. That means a greater number of possible games (and before anyone asks, yes, we plan to have configuration options to let players have as much control over this as possible down the line).
You still have regular skirmish games like every other RTS out there has. The stuff we're talking about is somewhat new. Sort of a "super" instant action type setup.