We released GODUS on 13th September 2013 after organizing a successful Kickstarter campaign in December 2012. The following blog-style updates will narrate the daily going-ons of the development team, they are written by Sam (that's me).
DARKNESS FALLS - 12th December
At this time of year, the sun sets at four in the afternoon in the South-East of England. There’s a certain dreariness about the entire situation when it gets dark this early but what makes up for that is working on one of the most popular games on Steam Early Access. These updates are written for you, our community of players and fans.
On Monday when the sun had already set and I could feel a slight tremble set in from the excessive amounts of coffee drank that day, Peter and I sat down in one of our cozy yet spacious meeting rooms. The topic of discussion were updates, or rather the lack thereof. Our last video update #34 was from 25th October and we’d gone pretty ‘dark’ since. The team have been sending in short updates about their work on Twitter (GODUS Dev Says) but not everyone sees those all of the time so it wasn’t a viable solution to our communication with you. It’s not that we don’t want to release an update but it’s just so damn hard. So hard to make all these systems that the programmers have build, work together.
Peter agrees that we need to post more updates to our players that aren’t necessarily him standing on a soap box...not only do those take quite a bit of time for Jack, Peter’s focus is mostly on doing what a designer his calibre does best; designing. There’s also only so much you can cramp into a short video. We’ll continue to do them but to a lesser extend. So what we agreed is that I’m going to keep my finger on the pulse in terms of what’s going on and post my impressions, the latest gossip and drama right here (hopefully with images). Heck, we might even get guest developers blogging too!
Peter and Jack spoke in the last video update about how they want to completely revamp the timeline and Follower behaviour. The latter is especially significant seeing how it’s what makes the idea of a living, breathing world a reality. It’s pretty sad right now when you build a beautiful land in GODUS, allow for some wicked city- planning, and then none of your Followers do anything with it. There has been so much talk on the forums about what Followers could do and obviously the team has always been planning to expand this part of the game. That’s where Dimitri comes in. He’s a part Greek who codes like there’s no tomorrow. He’s also renowned for being a complete menace! Even though he’s our resident HR representative, when it comes to Health&Safety it’s a completely different matter. Let’s just say he’s quite liberal if it comes to that but I wouldn’t be fair if I also didn’t mention he’s a highly focussed programmer. According to Gary, our Lead Programmer, Dimitri owns this problem completely and couples it with his open mind that’s required to ask questions and utilize other people’s experience. These two elements are essential when tackling the big problems in game development. He also mentioned some expletives which aren’t really fit to be repeated so I’ve omitted those...
However, as Gary puts it, simulation software is inherently complex and GODUS is no exception. Getting the behaviour to feel real but be controllable and not too expensive (in terms of memory) is an enormous task, with many situations where these conflicting goals collide in often bewildering ways but if anyone is up to the task it’s Dimitri. Luckily for us he’s up for taking on crazy complex code.
Doing this is not for the faint hearted, after one of the most intensive and far reaching coding tasks of the entire project, shortly after video update #34 was shot and released, Dimitri checked in a container full worth of code, which completely revamps and reinvents the simulation of all living things in GODUS.
It was so exciting, gathered around Dimitri’s desk, anticipating how this new world would look and feel alive. He compiled the game, booted it up, we all watched as the first two Followers were born. They raised their heads, looked around, and then promptly fell flat on their and died. It turned out that the balance variables that drive the world were not balanced with this new system. Now that Dimitri’s system is in we started to realise its full potential and the guys have been working on that non-stop. The designers have now a world that is full of Followers that react to situations around them, and that have basic wants and needs (or at least in the code). This AI is akin to the AI that drove the creature in a game called Black&White (personal favourite of mine) but instead of working on one character it works on thousands. The knock-on effect of such a powerful system is huge. Tim our animator is working hard to make the animations show off such complex behaviour, Russell needs to go back and re-author all follower SFX, Code wise there’s a lot of systems that plug into this system, and test... well, just how do you test such a diverse world? The reason why we haven't released GODUS since V1.3.1 is simply that the new system is so far reaching that it affects every aspect of the game and the guys need more time to get it ready. There’s also been a tidal wave of feedback that we’re looking into as well as analyzing game analytics.
We thought we’d get V1.4 out with the new Followers and Timeline but it wasn’t meant to be. Like I said, it’s pretty hard getting all these systems to work together and there’s no point releasing a version we know is going to cause more hardship than pleasure. The forums would be fuming! So it’s heads down for the team, to get it to a state where Peter, Jack and Jamie can start playing again. There are loads of new Follower types and how they look in the works, and our art director Paul with the help of Sara have been drawing concepts for Followers throughout the different eras. I’ll save those and their animations, 3D models etc...for a separate blog entry but will leave you with this nice teaser image for now.
I’ll be back with more updates on the development of GODUS and hopefully some more gossip on the team too, so stay tuned. If you want to learn more about the Followers and their simulation then read the following Q&A;
Sam: Dimitri, what are you coding and why? Dimitri: I am implementing a brand new system which drives, animates, networks and persists followers. The followers have gone through many iterations and the existing system has been refactored many times to work with these iterations. However, the point came where it was not able to give us the functionality and robustness we were after. Knowing now how the followers will interact with and react to the world we took the decision to design and create a new system which is dedicated to supporting this behavior.
Q: Why is the Follower simulation such an amazing system? A: The new system is attractive for several reasons, followers will feel more real, they will react to anything that happens around them, and how they react will depend on several factors like their ethnicity and more importantly how much stamina they have left. The other key advantage of this new system is that it is completely data driven. This gives the designers and animators the speed and flexibility they require when balancing and testing new game features. The new system also concentrates on performance, and the ability to have many more people simulated in the world.
Q: Can you tell me some of the behaviours players can expect from this new system they didn't already see in previous iterations? A: Followers can gain jobs and during their jobs they may become tired and decide to go home to rest. Once rested they will return to their job and carry on working. Depending on a Followers fear level they may choose to run over and help put out a fire, however, they may just not have the energy to tackle the fire in which case you will see them run away to safety.
Q: How do you approach coding something like this? A: Getting a full understanding of exactly what the designers where looking for in the system was the most important step. After this I was able to spec it out and identify any core issues. Once this was done and corrected I was able to build the basic framework and test it, and from there I took each portion of the system and implemented it.
Q: When and where do you code best? A: Afternoon/evening time, either at home where its quiet or using music to drown out the loud voices around me.
Q: Is there anything else you can say about coding the Followers behaviour? A: Its a rather large system and it cobwebs out to just about every other system and so there are always new problems to face, but it is very exciting, especially when the followers transform into fully animated characters (for a few weeks the team will have to put up with followers that are rendered as a dot, an arrow and text describing the action they are doing)