The Game Engine
I made the decision to use a game engine because I will be able to focus more on other aspects of the game rather than spending large amounts of time on making an engine from scratch. This will mean that I can start prototyping the game much quicker and have more time to polish the game so it is at a professional level.
Choosing an engine is a very important part of the entire project as it will determine much of the other software which will be used. It must have features that can be utilised in my game be be easy to learn while still having more advanced features.
I chose the Unreal Development Kit becuase it offers many features which will prove useful in creating my game.
This engine is free to use so I will not have spend a lot of money like many other engines available currently. It also offers licensing options which will be useful if the product is going to be expanded into a full game and marketed.
It has a built-in scripting language and visual scripting language which are easy to learn but also very powerful. This will mean I can experiment with more ideas easily and make changes without too much hassle.
Graphics, physics, animation, sound and more are all handled by the engine so there is no need for sourcing third-party APIs or DLLs and trying to intergrate them with the engine.
A proven industry workflow has been established which incorporates many programs which I am already familiar with, this reduces time spent on learning new programs and workflows.
A large online community and reference material is available for free which means any problems I have should be much easier to fix and will decrease time spent on debugging or wasting time trying to figure out things.The features above as well as iOS supprt make Unreal Engine the best choice for me.
In order to create the textures that will be in the game and to design the User Interface as well as concept art, I will use Adobe Photoshop.
This was the best decision to make because it supports a multitude of file formats which are also supported by the engine and it offers great features. I am familiar with Photoshop and other Adobe products so I will be comfortable with it which should increase overall productivity.
One useful feature which I will take advantage of during texture creation is the ability to modify colour channels. I will be able to combine different textures into one image file by splitting them up into the different colour channels. This will mean the engine will only be accessing one small file rather than many and therefore result in much less memory use. This is important if I want to target a variety of computers.
Although it is not free software and costs quite a bit, I already own a license so there are no financial issues.
I will use a variety of different programs for making 3D models for use in UDK.
Autodesk 3DS Max will be used for modelling basic shapes and structures and perhaps animation if required. I have used it before and it is proven to work well within the content workflow setup by Unreal.
Autodesk Maya will be the other porgram I will use for modelling, I am more comfortable with this program so I may use it more but it will be for more complicated models and techniques. This is alos proven to work well in the intended workflow.
Autodesk Mudbox will be used to modify models and produce high resolution models which cannot be done easily with most modelling programs. Mudbox offers a variety of features which will allow me to easily add 3D texture to a model and bake that onto normal maps which can be used within the game engine.
These are professional software packages and are very expensive however they have the features I need andare relatively easy to use. I have access to them through an educational license which is fortunate as this will not imapct the project financially.
These are the main programs I will be working with for creating the game, I will add more late on.