https://github.com/ilyar/jam-game-engine
3D Game Engine — JamLearn
https://github.com/ilyar/jam-game-engine
engine game-engine game-engine-3d jamgame jamlearn
Last synced: 3 months ago
JSON representation
3D Game Engine — JamLearn
- Host: GitHub
- URL: https://github.com/ilyar/jam-game-engine
- Owner: ilyar
- License: cc0-1.0
- Created: 2025-05-24T15:18:16.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-08-03T19:30:34.000Z (5 months ago)
- Last Synced: 2025-08-03T21:20:57.335Z (5 months ago)
- Topics: engine, game-engine, game-engine-3d, jamgame, jamlearn
- Language: C++
- Homepage:
- Size: 607 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- Contributing: contributing.md
- License: LICENSE
Awesome Lists containing this project
README
# 3D Game Engine — JamLearn
## General project structure

## Tasks
The tasks are in the `lesson.cpp` files
You need to implement all the places of the 3D engine that are marked with the TODO label
## Installation and launch
### Dependency
- Download and install the [OpenAL](https://openal.org/downloads/) library, which is necessary for sound support in SFML (without [OpenAL](https://openal.org/downloads/) the engine will not start)
- Install [SFML](https://www.sfml-dev.org/download.php) on your system (**The compiler version must match 100%**)
**Or use your package manager**
```bash
$ apt install -y mesa-utils libsfml-dev freeglut3-dev
```
### Create a new repository
- Click [Use this template/Create a new repository](https://github.com/new?template_name=jam-game-engine&template_owner=ilyar)
- Use type **private repository** - this is necessary so that the solutions to the lessons remain unknown, this is important for the learning process
- Implement and build the project, adding one of the `lesson.cpp` files to the build target
- When you commit and push to your private GitHub repository, the action starts building your solution
> [!CAUTION]
> ❗ Note that for this you need to uncomment the corresponding lines in the file [qa.yml](.github/workflows/qa.yml)
**For local run**
```bash
rm -rf build && mkdir build
cmake -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build --parallel $(nproc) --target TEST_SCENE
./TEST_SCENE
cmake --build build --parallel $(nproc) --target LESSON_
./LESSON_
```
If you have any difficulties working with the repository or find a bug, it is best to create an [issue](https://github.com/ilyar/jam-game-engine/issues)