This is the repository containing levels of the custom campaign for the game Turing Complete.
This campaign is usable only on the SAVE_BREAKER/alpha branch of the game
- Introduction to signed fixed-point numbers
- Explaining the basics of rasterization, including color interpolation and barycentric coordinates
- Build a GPU capable of rendering 3D models
First of all, you need to download the campaign:
- Download one of the releases on the right side
- Unpack the contents (You should get a bunch of folders starting with
gpu_
) - Move the folders into the level directory in your Turing Complete game files
- Start the game
Then you have three ways to play the campaign:
-
In the main menu, press
Q
and in the console typeload gpu_campaign
, and pressEnter
. That will load the campaign screen. Unfortunately with this approach you have to load the campaign screen again after completing each level. -
Using
dev_mode
you can add thegpu_campaign
level to the main campaign screen. That makes it much easier to open the campaign each time you complete a level. -
Using
dev_mode
you can add all the levels of the campaign to the main campaign screen. This approach is the most work, but after completing a level you are moved back directly to the campaign.
Legend:
✔️ - Done
🔨 - In Progress
⭕ - Not Done Yet
❌ - Probably won't be supported
- V1:
- ✔️ Fixed-point numbers introduction
- ✔️ Basics of triangle processing - interpolation, barycentric coordinates
- ✔️ Vector and Matrix operations
- 🔨 Setting up the MVP matrix and projecting vertices
- 🔨 Decoding five simple commands (draw, get_status, change_ram_offset, change_triangle_count, change_mvp)
- 🔨 Getting the rasterizer and vertex transformer together into
Hoodoo V1
- V2:
- ⭕ Half-pixel correction
- ⭕ Alpha composition
- ⭕ Backface culling
- ⭕ Hardware dithering
- ⭕ Double buffering
- ⭕ Z-buffer
- ⭕ More rasterizers in parallel
- ⭕ Fully programmable pipeline
If you want to contribute to the campaign, feel free to report bugs, make feature requests and send PRs!
Enjoy!