Greetings! This is my first post about my ongoing project: Galactic Warfare: Rise of Drones (GW:RoD). GW:RoD is my Senior Project for my Digital Simulation & Gaming Engineering Technology Bachelor’s Degree at Shawnee State University. In addition to crafting the game, I will also be developing a game engine that I will use to create the game. As this is the first post there is a lot to get into, so let’s jump right in!
Project History
Before Senior Project I had been tinkering with code to devise my own game engine, and before I had tinkered with said code I had already conceived GW:RoD. GW:RoD is a 3D, top-down, multiplayer, spaceship dogfighter where you and up to 7 other friends work together to complete objectives and missions.
After a critical mission goes wrong an advanced aerospace fleet must combat haywire drones in a bid to save Earth and Mars and bring peace to both.
GW:RoD Logline/Essence Statement
I conceived the basic premise of the game years ago when I was much younger. The game has since matured into what it is today. As for the game engine, I started work on that during the Spring semester of 2022-2023 as a term-long project for a course. The game engine is made completely in C using SDL2, GLAD, and OpenGL. I got to the proof-of-concept state with the game engine but did not advance much past that by the end of the semester. I continued working on the game engine over summer, meticulously laying the framework for a Graphics Library Transmission Format (GLTF) file loader. GLTF files are open-source 3D model files that can contain all of the essential data for rendering a 3D model. I was not able to complete this functionality, so it was at the top of my to-do list for next semester.
Milestone 1
Now I can discuss Milestone 1! For Milestone 1 I had several objectives:
Programming
- Load GLTF files.
- Render GLTF files.
- Implement an extensible system for input handling.
Art
- Model player spaceship.
- Texture player spaceship.
- Model testing model.
- Texture testing model.
By the end of the milestone, I was able to load GLTF files into memory and process its data. I came short of my goal of being able to render GLTF files this milestone, and I unfortunately did not have time to implement a system for input handling (when input handling became necessary for testing something I hardcoded it). I was able to model both the player spaceship and testing model, but I was only able to texture the testing model.
Despite the objectives I was not able to complete, I am in a pretty good spot for this milestone. Initially I had thought that the milestone would be at a later date which, if I prorate my work so far against that initial milestone date, means that I am on schedule. Regardless, my future deadlines will align with the given milestone due dates.
I spent much more time than I expected learning the processes of texturing and baking in Blender. However, I would now consider myself proficient in the task which means future development of assets will be faster!
To correct for the shortcomings of this milestone, I will need to adjust my goals for next milestone. In particular, I will need to focus primarily on coding the functionality to render 3D models and on texturing the player spaceship. Both of these objectives are not only vital to the project’s progress, but are also good visual indicators of progress.
Thank you for reading this Milestone post! Future entries should be much shorter, so thanks for also sticking around until the end! Feel free to leave me a comment below!