It’s now half way through week 3 of Dare to be Digital, and although progress has slowed slightly as we focus on refining our level, things are still coming along nicely.
Although the core gameplay remains the same (swarming, the abilities of various bee classes) we’ve made some huge changes to our level. It’s now far more focussed on platforming and simple obstacles, rather than obscure puzzles, and balanced between the strengths of each type of bee. The gesture controls are working well, allowing all bee actions to be based on circling an object (for example to select some pollen to pick up) or drawing a line (for example to throw a rock in a particular direction), making it fairly easy to interact with objects even when they are moving or quite small, and would have been difficult to click.
Despite a few issues we’ve had with textures, animations and shaders, we’re getting a lot more art assets into the game to replace some horrific coder art which Ian and I added. On the advice of our mentors, we have also made some adjustments to our group plane and camera making the level far more fluid. There are a lot of improvements still to be made but we’re focussing on prioritising each feature correctly, so hopefully we’ll get through all of the most important ones.
Just a short video to demonstrate how the different bee types in the game are used together in the game, and give some idea of how your swarm is controlled. At this stage we’ve got our level blocked out and are working on adding art assets and refining each obstacle, making sure they play well and are… y’know… actually fun.
So, it’s been 2 weeks since Dare to be Digital started and I’ve failed to write anything about it so far, so here’s an update.
Progress
The first two weeks of the competition have gone fairly smoothly. We’ve had problems with exporting models and animations and with collision responses, but no major issues that we haven’t worked past. So far we have the abilities for each of our bee types in place and working in our blocked out level. We’ve designed and redesigned the obstacles involved in the game and we’re happy with the basic progression of these so far, but obviously we’ll continue to change and refine them until we have a complete demo.
XNA, C# and Visual Studio
XNA is working very well for us, and we’re making far more progress than we expected. Compared to the OGRE engine which we worked with on our last project XNA has a lot of similarities – it’s very flexible and allows the developer to decide the extent to which they rely on built in functionality. However, XNA does have an advantage in terms of the amount of features available without relying on third party libraries and although content loading hasn’t been entirely painless, the design of XNA’s content pipeline is really nice.
We’re using our own systems for basic physics and collision detection, so the only external functionality we’re making use of is XNAnimation for skeletal animation and EasyConfig for config file loading. Both of these integrated incredibly easily with XNA and are working very well for us. While early on we did consider using IronPython for scripting support, simply loading values from config files is providing more than enough flexibility for us so far, and the format we’re working with has far less overhead than creating XML files.
Although none of the team had much C# experience before the start of Dare, it didn’t take long to get used to it. Obviously we don’t yet have the same level of understanding of the language as we did with C++, but for most functionality the two are similar enough that it isn’t an issue. The fact that Visual Studio 2008 practically writes the code for us is also helpful here…
Websites and all that
We’ve got some concept art and renders up on our page on the Dare website, where you can also check out the games other teams are working on. We also have a twitter feed, though mostly we just share pictures of bees.
I’ve mentioned SourceMaking in the past for the site’s clear, concise descriptions of design patterns. As well as sections on refactoring and antipatterns, there is now a fantastic UML reference. Given how many horrific tutorials and examples I attempted to follow when I was first looking at UML, this is great news and I’d encourage you to take a look.
As with other content on the site, a premium course with ebooks and videos is also available – if you’ve paid for this, please let me know if it was worth checking out.
We finished the university term with our showcase on Friday, with final year students demonstrating their dissertation projects, and each third year project team showing off their game. So now that everything is over with, I’ve added a page in my portfolio about the game. You can also download the finished executable from there.
The playlist includes a highlight video, the game intro, a progress video from earlier in development, the character animations, and then the complete 10 minute walkthrough. Enjoy!
Apart from that, right now I’m just focussing on XNA and C# in preparation for Dare, and trying to decide upon a topic for my dissertation.