/wolf3d

Primary LanguageC

wolf3d

  • Inspired by the famous eponymous 90s game that was the first First Person Shooter, this project allows to tackle the technique of ray-casting. The goal is to represent a dynamic view inside a labyrinth in which one can move.

Language: C

Installation

> make
> ./wolf3d [map file]

Examples of map files are in the examples directory

██╗    ██╗ ██████╗ ██╗     ███████╗██████╗ ██████╗
██║    ██║██╔═══██╗██║     ██╔════╝╚════██╗██╔══██╗
██║ █╗ ██║██║   ██║██║     █████╗   █████╔╝██║  ██║
██║███╗██║██║   ██║██║     ██╔══╝   ╚═══██╗██║  ██║
╚███╔███╔╝╚██████╔╝███████╗██║     ██████╔╝██████╔╝
 ╚══╝╚══╝  ╚═════╝ ╚══════╝╚═╝     ╚═════╝ ╚═════╝

usage : ./wolf3d [map_file]
Size: at lease 3x3
Keys: move   [ARROWS]
      sprint [s]

Mandatory Part :

  • Able to choose size and shage of the labyrinth
  • The management of the window remain smooth
  • Pressing ESC to close the window and quit the program cleanly
  • Clicking on the red cross on the window's frame close the window and quit the program cleanly
  • The arrows on the keyboard allow to move in real time in the maze
  • Display different wall textures

Bonus :

  • Wall collision
  • A skybox
  • Floor and ceiling texture
  • Items in the maze
  • Object collision
  • Earning points by picking up objects
  • Doors can open and close
  • Bad guys to fight
  • Secret doors
  • Animations
  • Several levels
  • Sounds and music
  • A Doom Engine
  • A Duke Nukem 3D engine