
2D Game Engine
Class Project (Fall 2022)
C++
Project Description

2D Game Engine was a class project associated with Game Engines at NC State. Over the course of the semester, I was tasked with implementing new features into a basic 2D game engine using C++ and SFML. The project used various libraries for different implementations including SFML, zeromq, and v8. Our job was to create a simple 2D platformer and then at the end make a new game using scripting (as shown in clip at top of the page).
As this was a solo project, I was responsible for all the work that went into the game engine, including:
-
Implementing local multiplayer networking
-
Adding multithreading to the engine server
-
Creating an event management system
-
Implementing a collision system
-
Designing a game object model
-
Adding functionality for scripting
-
Creating two different games using the engine
Roles

Takeaways

This project introduced me to a lot of new programming concepts throughout the class. One major example of a new issue I tackled was networking, previously I had never done a project that included networking. I also was taking the class that would teach multithreading at the same time as this class, so I spent quite a bit of time trying to teach myself about multithreading. I gained a whole host of new abilities through this project, and learned much about how game engines work on a low level. For having never experimented with many of the subjects previously, I am quite proud of the final product.