Giter Site home page Giter Site logo

maze's Introduction

The Maze Project

Table of Contents

Introduction

Welcome to the 3D Maze Project README! This project explores the exciting world of 3D graphics and gaming by implementing a maze using raycasting techniques. Leveraging the power of OpenGL and C programming, this project combines creativity with technical prowess to provide an immersive and interactive experience. Follow along to dive into the intricacies of raycasting, OpenGL rendering, and maze navigation in a challenging 3D environment. Let's embark on this journey together into the fascinating realm of 3D mazes!

Installation

Clone

Clone repository with running the following command in your terminal:

git clone https://github.com/dietcokechan/Maze.git

Dependencies

After you have cloned the repository, you need install SDL2 on your machine by visiting this link and downloading the VC version of the latest release.

Compile & Run

After you have installed the dependencies, place the extracted folder inside the root directory of the project. Open a terminal inside the root directory and run the following commands:

  1. Build

    cmake -S . -Bbuild

  2. Make

    cmake --build build --config Release

  3. Run

    Windows: start build/Release/Maze.exe base

    Linux: ./build/Release/Maze.exe base

Note: base is the name of the file containing the map to be rendered inside the game.

Usage

Navigation

KEY MOVEMENT
W or UP Arrow Move forward
S or DOWN Arrow Move backward
A or LEFT Arrow Turn left
S or RIGHT Arrow Turn right
M Toggle map on/off

Contributing

  • Read the source files in src folder and the header files in inc folder.
  • Clone the repo and make a new branch:
    $ git checkout https://github.com/dietcokechan/Maze -b [name_of_new_branch].
  • Add a feature, fix a bug, or refactor code.
  • Write/update tests for the changes you made, if necessary.
  • Update README.md, if necessary.
  • Open a Pull Request with a comprehensive description of changes.

Related Projects

2D Mandelbrot Set Fractal is a computer graphics project developed with SDL2 graphics to render the aforementioned fractal, zooming inside the fractal while taking screenshots, which can then be compiled using ffmpeg to create a video.

Kmyt is an educational adventure game prototype developed with Unity Game Engine, serving as my university graduation project.

Licensing

WTFPL

Authors

Habiba Sameh <@dietcokechan> [email protected]

maze's People

Contributors

dietcokechan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.