Team Development of Model View Controller Software in the Unity 3D Engine

Nicholas Blum


This software development project implements a board game, King of Tokyo, using object oriented (OO) abstractions and MVC (Model View Controller) architecture. Group software development is often lacking in undergraduate computer science curricula, and so this project focuses on teaching software design skills, team skills, and good coding practices.  The game is constructed with the C# language in the Unity engine, self-described as “a flexible and powerful development platform for creating multi-platform 3D and 2D games and interactive experiences.” The engine allows for quick testing and has many well documented instructional resources and tutorials in C#. It uses a component based methodology, which involves the use of renderers, scripts, and controllers to create game objects.

This project combines OO development methodologies with Unity’s standard component-based game design. The software’s MVC architecture provides a separation between the game state (model) and the graphical representation of the game (view), which allows the team to work on both modules simultaneously and easily make design changes. Unity game objects implement this view by displaying graphics and notifying the controller of user input. OO features of C# such as interfaces facilitate this logical separation between the model and the view.

The first prototype is functionally complete, including all major game mechanics. Ideas for future work include incorporating terrain data from Google Maps, adding network multiplayer, AI players, and providing a unified aesthetic for the user experience.


Unity; Computer Science; Programming; MVC; Game Programming

Full Text: PDF


  • There are currently no refbacks.