EMgine is a game development tool for designers to give their NPCs "emotions". It does this by providing a library for "generating emotions" given the current state of the game entity "expriencing " emotion and the game world. The end goal is to give designers another option for making believable and emotionally engaging game characters.
Game design is both a creative and technical endeavour, so I am using a user-centric design approach to ensure that both game designers and players are always at the forefront of EMgine's design. This lead to the library design, which affords game designers the choice of when, how, and what parts of it they use in their games. Game designer needs also drove the decision to use C# because it is one of the programming languages supported in Unity Game Engine.