Skip to content

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

License

Notifications You must be signed in to change notification settings

lkabuci/Doomcraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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: