A sprite-based video game engine and editor for creating component-based games

Jack Edwards

Supervised by Yukun Lai, Moderated by Paul L Rosin

Modern technology has made it much easier for anybody with a computer to start creating their own video games. Tools like Unity and Unreal Engine are often used by amateurs, but they focus on the creation of 3D games, leaving 2D games as an afterthought. Regardless of this, 2D games are still extremely popular and very much in demand. I propose to create a sprite-based game engine that focuses entirely on the development of 2D games, as well as an editor that allows users to manage aspects of their game through a graphical interface as opposed to managing it entirely through code. To make the engine as usable as possible it will use the Entity-Component-System architecture to easily allow users to add new functionality to their games. Consider the example of a user creating a bird character for their game; the user could write a custom component that causes the character to fly when a key is pressed and then use the editor to create the entity for the character, attach the required components (such as a renderer or collider) and set any initial values for those components (e.g. the character's speed). The purpose of this tool is to make it easier for people with little programming/development knowledge to create games because they only have to focus on creating modular components, without having to consider the structure of the entire game.

Initial Plan

Final Report

Publication Form