https://github.com/leaomartelo2/wireframe_game
Game / Game engine using Raylib with a Wireframe visual style
https://github.com/leaomartelo2/wireframe_game
3d c cpp fps-game raylib
Last synced: 8 months ago
JSON representation
Game / Game engine using Raylib with a Wireframe visual style
- Host: GitHub
- URL: https://github.com/leaomartelo2/wireframe_game
- Owner: LeaoMartelo2
- License: mit
- Created: 2024-11-20T20:54:49.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-06T16:46:11.000Z (over 1 year ago)
- Last Synced: 2025-02-06T17:40:02.163Z (over 1 year ago)
- Topics: 3d, c, cpp, fps-game, raylib
- Language: C++
- Homepage:
- Size: 13.4 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Wireframe Game / Game engine
A game / game engine using [Raylib](https://github.com/raysan5/raylib) with a `"Wireframe"` visual style

> [!TIP]
> Please also check out its brother project [Wireframe Editor](https://github.com/LeaoMartelo2/wireframe_editor).\
> A tool for generating Levels for this project.
## Compiling
The project is designed in such a way that compiling should not be a hard task. Thus making compiling extremely convenient and quick.
### Linux
- Dependencies
- [Make](https://www.gnu.org/software/make/) (GNU make or similar)
- [gcc](https://gcc.gnu.org/) or [clang](https://clang.llvm.org/) (edit the `Makefile` to change the compiler)
(or any compiler with C++20 support)
- C and C++ runtime (libstdc++)
- Any other dependencies should be baked in the project itself.
- To compile, just run `make` at the project's root.
- The final executable is named `wireframe`.
### Microsoft Windows
> [!WARNING]
> Build support for Microsoft Windows is not implemented yet.
> [!NOTE]
> You can cross-compile from Linux to Microsoft Windows.\
> Requires: [x86_64-w64-mingw32-g++](https://www.mingw-w64.org/) + everything from Linux dependencies.\
> Run `make win`, the final executable is named `wireframe.exe` and can be run on windows.
### Other Unix-like (BSD / MacOS)
> [!WARNING]
> Build support for MacOs and the BSD-family isn't implemented yet.
> [!NOTE]
> As their structure ends up being very similar to Linux, you can hack your way to a working build on said systems by grabbing a copy of [Raylib 5.5's source code](https://github.com/raysan5/raylib/releases/tag/5.5) and supplying your own built static library to link against.
### Debug builds
You can pass the following argument to make:
`make DEBUG=1`
to get a debug build of the project
Item Drops and a Door with the debug mode bounding boxes shown
The debug mode currently allows you to see bounding boxes / hitboxes of most dynamic objects in the game, as well as giving some helpfull keybinds for debugging.
### Release builds
Use the Make target `release` to generate a release build. This does the following:
- Disables debug info.
- Disables `[DEBUG]` level on logging.
- Enables Optimizations. (-O2 by default).
- Builds: The default target and win. (cross compile to Windows)
- Packs the levels and needed assets to a directory named Release and compacts it accordingly to its target platform.
Not much different from a regular build without debug flag, exept optimizations.
## Logging
This projects integrates with [LogNest](https://github.com/LeaoMartelo2/LogNest).
The engine, by default, writes its log to `latest.log` at the main executable path.

For convenience, it's also suggested [nestreader](https://github.com/LeaoMartelo2/nestreader)\
The CLI tool will automatically print the log, while also coloring each log type with a corresponding color.
## Documentation
WIP.