The Two Magneteers
This was a 9 person group project for a third year module.
We were tasked to create both an entire Engine and Game from scratch in C++ over 6 weeks.
The group was composed of 4 people on the Games Programming course, and 5 on the Games Development course.
The Engine
The Engine was built from scratch in C++, using only the DirectX Tool Kit, IMGUI and Nlohmann's Json API.
As a team, we wrote up the tasks needed to create a Minimum Viable Product and split the Engine tasks amongst the Programmers.
Our goal was to create an easily extendable Component system that integrates smoothly with the Engine and handles all of the API interactions automatically. Making the Developers' tasks simple was the focus when creating it.
Level Editor
The Level Editor we created provided the Developers with all the tools they needed to quickly build the levels they had designed.
I build a Prefab system to automatically add Game Objects with default values (such as the Player Prefab automatically having the Player Script and an Appearance Component setup to use the Player tile set, etc) that can be cycled through with the Scroll Wheel.
Prefabs can be added using the Right Mouse Button, and grabed using the Left Mouse Button. When an object is grabbed, they can be moved around or be deleted by pressing the Middle Mouse Button.
By using the Inspector window, the level's File Name, Scene ID and Background sprite can be changed. Once Game Objects have been placed, they can be edited by expanding the Game Objects section.
Certain Components provide extra fields that can be edited, such as Appearance Components providing access to their Sprite Texture and Texture Co-ords, and Levers giving ways to change their indivudual functionality.
Personal Contribution
My personal contributions to the project were focused on the Engine's Architecture. I created the game loop and all of the Engine events for Scripts, as well as integrating other people's code into the Component System. I also worked on Data Serialisation, Input Managing, and Audio Managing as well as fixing many bugs.
The Game
The Game is a 2 Player Local Co-Op Puzzle Platformer, featuring 5 levels with the goal being to reach the golden goal coin.
Controls
Blue | Red | Left | A | Left Arrow Key |
---|---|---|
Right | D | Right Arrow Key |
Jump | W | Up Arrow Key |
Magnet | Q | Right Shift |
Interact | E | Right Control |
Levels
Download
The full source code and game is available publicly on GitHub.
Download Source