Friday, April 1, 2011

Unraveling UDK

Since last post I have been focusing on the UDK and its scripting language UnrealScript. We will not touch the native C++-code running the low-level engines as it is far too complex for me to mess about with alone for such a short project. UnrealScript runs on top of the C++-code and handles most of the gameplay, being based heavily on classes and inheritance. As it is originally built for Unreal Tournament 3 it can be modified to pretty much any sort of first-person shooting game without too much trouble. While you can create basically any sort of game in UDK the more you diverge from the action-shooter the more tinkering needs to be done and it becomes increasingly complex to handle the inheritance-structure.

Since our game is a turn-based strategy game with multiple player-input I will need to decide what parts of the original class-structure we need to use and where to branch off. Things like camera-positioning, actor-creation and placing pawns can most likely be implemented without too much trouble. Adapting the input/player controller and setting up the main game-class to run in game-loops and ignore the event-based setup normally used in games created in UDK will be trickier. As it is we will not be needing complex physics and can probably skip that part completely.

Not researched yet is interface, cut-scenes and sound-management. Ideally I would like to implement networking as well, enabling each player to run a copy of the game and still play together instead of the arcade setup we got going now. A simple AI would also be useful so players don’t need to find three living and breathing opponents for a quick game. As expected there is a long list of features we would like to have in the game but being realistic we will not be able to implement them all to the 27th of May when we are to show the game at Gotland Game Conference.