top of page

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.

©2023 by Aaron King. Proudly created with Wix.com

bottom of page