Project MTP devlog
Project MTP is a 3D adventure game. I’m making it with my custom engine.
Source code: https://github.com/eliasdaler/edbr
UPD (April 2024): The devlog is currently on hold… I don’t have time to write it.
![The latest screenshot](resources/latest_screen.png)
The latest screenshot
The game/engine is written in C++ and works on Windows and Linux.
Dependencies:
- OpenGL 3.3 - graphics
- SDL - input, windows
- bullet3 - physics, collision detection
- openal-soft, libvorbis, libogg - audio
- freetype - fonts and text
- Lua and sol2 - scripting (currently the entire game is written in C++, might port some game logic to Lua later)
- tinygltf, Dear Imgui, stb_image, utfcpp, nlohmann’s JSON, cxxopts
I initially started working on the 3D engine (after several years of making a 2D one) in 2021.
![One of the first screenshots of my 3D engine](resources/2023-03-14-first-progress.jpeg)
One of the first screenshots of my 3D engine
I got a lot of things working - model loading, skeletal animations, cameras… but then I kinda burnt out and went back to 2D until 2023 when I decided to do OpenGL/C++ stuff again.
The new engine was build from the ground up using only a few snippets from the old code base. I wanted to built a “cleaner” engine/code base using my experience writing Go which motivated me to write simpler code. I think I succeeded.
I’m posting a lot more stuff on my Twitter, I’ll post “best of” content of my website for easier reading.
Basic lighting, shadow mapping, dialogues, cat model
![](resources/2023-04-11-shadow-mapping-works.png)
Animation, multiple shadow casting lights, sounds, menu work
![](resources/2023-08-24-utf8-support.png)
PBR, city and room level, dynamic TV screen
![](resources/2023-11-19-room-progress1.png)
Bikeshedding, porting my old platformer game to C++ from Go.
![](resources/2023-12-18-platformer.png)