Technology Update on Godus
Today we are giving you an update on our prototype. We wanted to release a gameplay montage but the prototype wasn't quite ready yet (as you will learn in the video) so we've taken a slightly different approach.
22Cans is a relatively new startup so we haven’t yet had the opportunity to invest hundreds of man-years in a cool engine and tool technology. We’re not afraid to experiment though. Our first ‘experiment’ – the super massively multiplayer Curiosity was built on a mixture of different technologies including 8 different programming languages, the Unity game engine, Amazon cloud servers and of course Apple and Android devices. While some may see it as a drawback not having a welter of technology at our beck and call, the benefit for GODUS is that we’ve been agile and able to home in rapidly on exactly the pure uncluttered art style and game simulation that Peter is so passionate about.
While we’ve been looking to see if some of the existing engines such as Unity could speed up the prototype or later development phases for GODUS, it’s also the case that with the right team simply going back to basics can yield extraordinary dividends in a remarkable short space of time. Those basics initially were a scripting language called Python and a low-level graphics library. We are fortunate in having a passionate and talented development team lead by the superb, experienced Senior Engineer Gary Leach. The wide skill-base in the team has quickly allowed us to concentrate on the implementation of the delightful art style. Concept art for this was first put forward by our Head of ArtPaul McLaughlin and his team about 5 weeks ago. I’ll hand over to Gary to dive into just how our prototype came together.
Story so far
We started developing the prototype in order to test out various ideas for the look and feel of the game we were describing.
Our design process is extremely fluid, with constant testing and feedback being central to our flow, so the programming team wanted to give design a first stab at something to flesh out the ideas.
Work started when Paul Mac presented the terraced terrain visualisation. We instantly knew that this was something a bit different from terrain systems we had seen and worked on previously, but it was an intriguing idea which we wanted to test out.
Our programmer Fabs produced the initial demo over the course of a weekend, written in Python. This gave us the proof-of-concept and he continued to flesh this out while the rest of the team were working on Curiosity updates.
By the time we were ready to move other people into the project Fabs had added various features, including basic people movement, and had done an initial port to C to get the speed up.
At this point we put together an feature list and assigned tasks to people – Pavle was to manage people movement including house building, Paul headed up land sculpting and Fabs and I managed tech including porting to other platforms. This code doesn't run on a third-party engine, it's written directly in the OpenGL graphics language and C++ which keeps us as flexible as possible, but it does have downsides – we had to knock together a complete asset pipeline (we based this on Autodesk's Fbx libraries for graphics)
The time-line for getting the demo together was aggressive to say the least, but we feel we now have something that at least gives a flavour of the game to come.
We still have a lot that we'd like to do to the demo before production starts in full, and hopefully your feedback will continue to help us define the game, but we think it's come a long way in a short time! Thanks for your support and ideas! Keep them coming.
Tim Rance CTO, Gary Leach Lead Engineer
We are very happy to see we now have over 10,000 people backing Godus for a total of £300,000 of our £450,000 goal. With only 6 days left the pressure is really on, but we'll keep updating all of you and showing our prototype.