As a software architect by trade, I like not having to reinvent the wheel.
Sure it’s great to write tasty code but code has bugs, no matter how good you are and if you can minimise risks there you can instantly improve the quality of your game.
In this blog post I will briefly cover the tools in our stack that really made a difference and why they have helped us to get to where we are today.
I won't be covering art tools like Blender in this article although it's possible they deserve their own post in the future by the guys who know them better than I do.
I guess I can start here since it’s the engine our game runs on. As I am not a professional game developer I can’t say for a fact if this was the best choice for game engine. I certainly wouldn’t want to turn this post into a flame war of the sort of 'Unity vs X'.
The point is it’s the best I one I found back when we started based on the information we have.
Having worked on it for a while now here are some pros I can see with working with Unity:
- Asset Store - This one is a biggie as an indie dev. If we didn’t have this we wouldn’t have been able to create something that at least proves that this game is worthwhile and can be done, so that then you replace with proper artwork (or other assets). And I mean, Unity’s asset store is HUGE.
- Cross Platform - Another important one. With Unity we can easily support any platform, even VR and Consoles, which a great advantage in terms of future proofing our game.
- Community - Probably the most important one from me, coming from Open Source myself. Leveraging a community is a critical aspect of a successful tool and I think Unity’s community is vast and very helpful.
There are also many less good things about it, like the very strange release cycles and the buggy lighting engine, but overall I am happy with this, considering it’s a free tool.
Next on the list is Adventure Creator, a really amazing piece of software made by ICEBOX Studios.
I can’t say enough good things about this product. It’s a full fledged adventure making platform as the name implies containing everything you need to create adventure games 3D or 2D even without coding.
Now, the thing that particularly grabbed me on this was it’s extensibility. While as I said above I am all for not reinventing the wheel, as a developer I also don’t want to be locked in to a product that is too rigid. The good thing about Adventure Creator is that it’s completely extensible.
For example when we started using FMOD I wanted to leverage FMOD capabilities straight from within Adventure Creator and by extending the core system I was able to do just that. The ability to write code if necessary is essential for us.
The documentation is stellar, full of tutorials and practical examples to get you going as well as a thorough API for more technical users like myself.
And most important of all, the support. Chris Burton is the man and always prompt in assisting with any issues that come up. Chris if you read this thank you so much for this amazing product, it helped us make our dream come true!
Okay this is another gold medal, developed by Pixel Crushers. In fact I venture to say it’s probably the best asset in Unity Asset store.
If your game has dialog, just buy this right now (go on, quickly!). Having a VERY flexible dialog system that can do everything short of taking our coffee is very important. Particularly for story based games like adventure games and RPGs this is a must.
Similarly to Adventure Creator it’s easily extensible and easy to ‘hook’ into parts of the architecture to run your own components and scripts. And best of all it has integrations with a bunch of other tools, including Adventure Creator.
Last but not least, the support provided by Tony Li is ridiculously good. Sometimes I wonder if Tony is actually a team of guys working in the background providing prompt support and feedback to hundreds of people. If not, Tony you are a machine.
The documentation is superb as well and the API is very pleasant to work with.
Although I won’t go too much into this (maybe a future blog post by Richard), all I can say is this changed the way we approached music in our game.
It’s workflow engine allows us to set parameters that can we can call from Unity which then run seamless workflows in the audio engine.
For example imagine there is a music in the background for a particular area and then you start dialog. That can call a trigger than just drops some instruments from the score.
The separation of concerns here is amazing as developers only need to call these triggers and the composer handles what happens when they called in his own authoring tool.
Wrap it up
Tools aren’t what make a good game but they are essential to the success, and particularly the productivity, of the game development experience.
Not having to worry about everything allows us to give more flexibility to non technical team members to ‘play around with things’, allows us to have less bugs in our code base as these tools are already maintained and allow us to focus on what’s actual different in our game. Focus on what matters.
Hope this helped some of you that are planning on creating a game.
As always let us know your feedback below and feel free to show your support by following us on Twitter or Facebook.
If you are interested in this tools we definitely recommend you checking them out. Here are the links: