3D Game Engine (GF3D)

GF3D is a single threaded 3D game engine written in C, using Simple Direct MediaLayer (SDL2) for user input, audio, image, and text management and the Vulkan API for rendering.

 

Features:

  • Simple Direct MediaLayer (SDL2) *

  • Vulkan API *

  • Entity System

  • Static Entity System

  • Animation System

  • AABB Collision System

  • Rendering System *

(*) Note: Features not responsible for.


About GF3D

This project was completed for my 3D Game Engine Development class at the New Jersey Institute of Technology during 2021. Features above marked with a (*) are to denote sections of the project I did not work on personally. I worked on the project for about 4 months during the semester.

The goal of the project was to build upon the Game Framework 3D (Commit 5bbeac65399) project. This meant, building out the following systems: entity, static entity, collision, projectile, animation, 2D UI layers, and audio. Code samples for each can be found on my GitHub, linked at the top of this page.

Future of GF3D

While I have plans to update GF3D, I plan to eventually build a new engine in C++ with support for multithreading.

I feel GF3D is an important part of my portfolio and in its current state does not entirely show my skillset as a programmer with another 2 years of experience since the end of the project. So the plan is to update and refactor the codebase with improved features.

If you want to see my next project for 2D Game Engine Development, click here!


 

Game Demo

The purpose of this demo is to demonstrate various systems including the: entity, static entity, collision, projectile, animation, and 2D UI