lkabuci / Doomcraft

Transformed a 2D Map into Immersive 3D Environment with Textured Walls

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About:

doomcraft is a raycasting game engine written in C language that uses the Digital Differential Analysis aka the "DDA" algorithm.

Overview:

Screenshot from 2023-09-12 00-17-14

Dependencies:

The MLX42 is a minimal graphical library that depends on OpenGL and glfw library.

  • For distribution based on Debian
➜ sudo apt update
➜ sudo apt install build-essential libx11-dev libglfw3-dev libglfw3 xorg-dev

➜ # for Wayldan display server you will need extra packeges
➜ sudo apt install libwayland-dev libxkbcommon-dev wayland-protocols extra-cmake-modules libglfw3-wayland

Setup:

~ git clone https://github.com/lkabuci/Doomcraft && cd Doomcraft
➜  ~ (cd MLX42 && cmake -B build && cmake --build build -j4)

Compile and run:

  • Using Cmake
~ cmake -B build
➜  ~ make -C build
➜  ~ ./build/doomcraft assets/maps/map.cub
  • Using Makfile
~ make
➜  ~ ./doomcraft assets/maps/map.cub
  • Oneline setup
git clone https://github.com/lkabuci/Doomcraft &&\
cd Doomcraft && \
(cd MLX42 && cmake -B build && cmake --build build -j4) &&\
cmake -B build &&\
make -C build &&\
./build/doomcraft assets/maps/map.cub

Resources:

About

Transformed a 2D Map into Immersive 3D Environment with Textured Walls

License:MIT License


Languages

Language:C 88.9%Language:C++ 8.3%Language:Python 1.5%Language:CMake 0.9%Language:GLSL 0.2%Language:Batchfile 0.1%Language:Makefile 0.1%Language:Shell 0.1%