An open API service indexing awesome lists of open source software.

https://github.com/babak0t0/wolf-3d

Wolf3D is a school project to learn raycasting concept in C.
https://github.com/babak0t0/wolf-3d

3d 42born2code c raycasting sdl

Last synced: 28 days ago
JSON representation

Wolf3D is a school project to learn raycasting concept in C.

Awesome Lists containing this project

README

        

# WOLF3D

This project consists to create a basic version of Wolfenstein using Raycasting technique

[What is a Raycasting ?](https://en.wikipedia.org/wiki/Ray_casting)

[What is Wolfenstein ?](https://en.wikipedia.org/wiki/Wolfenstein_(2009_video_game))

### Installing

Clone the project

```
git clone https://github.com/BABAK0T0/WOLF3D
```

If you don't have SDL2, run this sript, more details [here](https://wiki.libsdl.org/Installation)

```
./install_sdl2.sh
```

Then execute Makefile to create an executable

```
make
```

### Running

An executable is available in deposit, if you can't `make` the Makefile

```
chmod u+x wolf3d && ./wolf3d
```

You could change map directly in code `src/wolf3d.c`, then execute `make` again and run

```
make && ./wolf3d
```

### Events

| KEYS | DESCRIPTION |
| --- | --- |
| ESC| Exit the program |
| | Explore map - UP |
| | Explore map - DOWN |
| | Explore map - LEFT |
| | Explore map - RIGHT |
| R | Reset |

### Sound

Interstellar Main Theme - Soundtrack by Hans Zimmer

### Example

![wolf3d](./wolf3d.png "WOLF3D_Raycasting")

### Built With

* [SDL 2.0](https://www.libsdl.org/) - The framework for graphical user interface development