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