This is a fun passion/learning project, based on TheCherno's Game Programming Series.
This project is in C++ using the following, despite the original tutorial series being in Java:
- CMake
- clang/clang++,
- Ninja (on Windows)
- Unix Makefiles (on Linux)
- Bash
Current status:
- ✅ I've setup the project with GLFW/OpenGL (using an OpenGL extension library GLAD to retrieve the latest OpenGL 4.1+ functions), and have begun basic rendering commands in C++/OpenGL/GLSL!
- 🛠️ I'm currently working on fixing the rendering of the grass tiles now, and then will add a basic player with movement around the game world.
In order to build this project, you'll need to clone this repo's Git submodules with:
git submodule update --init --recursive
Once your development environment is setup, you can run the following on any platform (Windows, MacOS, or Linux):
# This creates an alias for each of the scripts under the ./scripts folder!
# Run it and see the output of each of the aliases it creates.
git submodule update --init --recursive
source ./cmake-cpp-scripts/aliases.sh
# This calls the build.sh and run-release.sh scripts under the scripts folder, using aliases:
build && run-release
- How to setup OpenGL with pixel-perfect rendering
- LearnOpenGL.com -- Hello Window
- My previous OpenGL tutorial progress
- This will likely be important in abstracting some OpenGL features, but this project will take a 2D-first approach for drawing sprites rather than focusing on 3D geometry and 3D scenes.
- OpenGL Docs