This week I tackled one of the most unmanaged systems of all our previous game engines; the user input system. Our previous game engine, Troll, which was used for the development of Filbert Fledgling, had a very clear abstraction layer. However, there was no system in place for remapping input or adaptation. If a new game was developed using the Troll engine, the game inputs were hard coded into the core source code. If any remapping was done, that too would have been hard coded. This was a very rigid and unfortunately non-polymorphic in design. So I spent this week incorporating not only an abstraction system, but an adaptable and scalable system which would allow for any game to be developed with custom input mappings to the keyboard, XBox controller and mouse. This can now be done without any changes to the core of the engine therefore there is no recompiling needed from game to game. Also all the input devices can be custom designed at the development time of each new game such that the developer can specify what is remappable for each device and what must remain. Some things you don’t want to remap. With this mapping system in place I can develop our games worry free of any input mapping issues.
You can read more and follow me and Neuron Games, Inc. here: