An indie flight simulator gmae without any game engine, just C++ and some libraries.
This project trys to make a little bit modern remake of the classic F-15 Strike Eagle II and others flight simulators made by MicroProse back in the 80s.
The magic of those games comes from the fact it is not really a simulator, and it is not really an arcade. It somthing between just genius like Sid Meier can create :).
Check out the development blog for updates ot the Wiki for more information.
Still in progress, but...
cmake --build cmake-build-debug
./cmake-build-debug/se- Do not use game engine and or LLM
- I have to re-learn CPP and linear algebra (ohh, trigonometry)
- To have fun
I spent so many hours flying this beast on my XT-16MGhz machine with monochrome CGA resolution screen. I tried to play it again, it was fun but somthing is missing. No, I don't want another DCS neither an arcade game, I want the same gameplay I got from this magic game, so this project has begun.
Leftovers from the ESC refactoring:
- fog shader
- complete configuring the terrain streamer
- performance optimizations: change read only view data to const reference
- autopilot controller
- navball widget
module;
// includes only here:
#include <vector>
export module MyModule;
// import only here:
import JsonConfig;
export class MyClass { ... };- Modules
static_castfor castingif-initstatementsautofor type inferenceconstexprfor compile-time constantsnullptrinstead ofNULL
Style Rules
- Use
PascalCasefor class names, structs, and enums - Use
snake_casefor variables, methods, and functions
The project require C++ compiler with support for C++20 modules, and CMake 3.25 or higher.
I'm using LLVM. My configuration looks like this (macos):
export CC=$(brew --prefix llvm)/bin/clang
export CXX=$(brew --prefix llvm)/bin/clang++
cmake -B cmake-build-debug -S . -DCMAKE_BUILD_TYPE=Debug -G Ninja
cmake -B cmake-build-release -S . -DCMAKE_BUILD_TYPE=Release -G Ninja
cmake -S . -B cmake-build-asan -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-fsanitize=address -g -fno-omit-frame-pointer" -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address"
# clean builds
cmake --build cmake-build-debug --target clean && cmake --build cmake-build-debugNew tiles map, 16m/pixel (world under assets) Tile 2048x2048 pixels Tile hm map 512x512 pixels
flight simulator cpp with raylib and entt ECS architecture 3d word 2d cockpit

