Welcome to one of the numerous Quake III Arena Source code repository forks! This is (probably) not the repository you are looking for! This repository began as a fork of Quake3Arena and exists as a mechanism for self education and having fun. The idea is to evolve the project while keeping some degree of compatibility with the original media as an excuse to develop new skills etc.
In the past the author completed most of a PhD around network infrastructure for games and simulations before switching topics. This project is intended to be a platform to experiment with new ideas that have been bubbling around in his mind since then.
This page exists purely as a mechanism for the author to document plans and track their own progress over time. The Quake III Arena source code can be considered a relatively large, legacy codebase and the author had limited knowledge about the product before commencing work. If there is a useful product that comes out of this work then this set of documents will provide insight in what it takes to pick up and evolve a legacy product.
Change Log
The major changes of the project are tracked in this table.
Change | Cost (1-10) |
Benefit (1-10) |
Game Impact (0-10) |
Status | Started On |
Completed On |
---|---|---|---|---|---|---|
Update Third Party Libraries | 2 | 2 | 0 | Complete | 2022-04-18 | 2022-07-28 |
Automate Source Code Formatting | 1 | 3 | 0 | Complete | 2022-04-10 | 2022-04-13 |
Improve Build Automation - Phase 1 | 4 | 8 | 0 | Complete | 2022-03-01 | 2022-05-27 |
Convert TGA Assets to PNG | 2 | 2 | 0 | Complete | 2022-04-24 | 2022-05-03 |
Modernize Codebase | 5 | 3 | 0 | Ongoing | N/A | N/A |
Cleanup OpenGL Wrapper code | 1 | 1 | 0 | Complete | 2022-05-16 | 2022-05-19 |
Materials Uplift | 3 | 2 | 0 | Complete | 2022-05-20 | 2022-06-14 |
Wasm - Phase 1 | 3 | 0 | 0 | Complete | 2022-06-20 | 2022-06-29 |
Base project on idSoftware code | 5 | 4 | 0 | 0% | 2022-07-28 | |
Use SDL as the OS abstraction layer | 4 | 5 | 0 | 0% | 2022-07-30 | |
Wasm - Phase 2 | 3 | 0 | 0 | 0% |
These changes have not been started but are things that the project is considering doing.
Proposed Change | Status | Description | Notes |
---|---|---|---|
Asset Bundles | Ideation | Develop a more robust asset bundle format. | Depends upon a custom VFS which has not been specified. |
Settings | Ideation | Rebuild "cvars" as "settings". | Not yet ready for implementation as it impacts a lot of code and should only be attempted once the decision has been made to base development of the initial codebase or the ioquake3 fork. |
Engine Remote API | Ideation | Expose the engine state for control and observation. | Experimentation and prototyping required. |
Synchronised Video Textures | Eye Twinkle | Watch videos within game. | Pie in the sky ... but directly useful. |
References
A set of notes and references that were collected to help work on this project: