GithubHelp home page GithubHelp logo

dungeon's Introduction

This is an experimental project in an effort to apply basic design principles and OpenGL. The core idea revolves around a first person labyrinth/dungeon game similar to "Legends of Grimrock".
The whole project started after playing Grimrock, which reminded me how huge of a dungeon-crawling R.P.Gs fan I am.
Sample documentation (work in progress) is available at http://zztach.github.io/Dungeon/index.html

How to run on Ubuntu

  • Install SDL2
  • sudo apt-get install libsdl2-dev
  • Install CMake
  • sudo apt-get install cmake
  • Install GLEW under /opt
  • sudo wget https://sourceforge.net/projects/glew/files/glew/1.11.0/glew-1.11.0.tgz; tar -xvzf glew-1.11.0.tgz -C /opt;rm -f glew-1.11.0.tgz
    cd /opt/glew-1.11.0; sudo make install to get the libGLEW lib deployed

    If you get an error similar to "error while loading shared libraries: libGLEW.so.1.11: cannot open shared object file: No such file or directory" during try running "export LD_LIBRARY_PATH=/usr/lib64"
  • Install glm under /opt
  • sudo wget https://github.com/g-truc/glm/releases/download/0.9.4.6/glm-0.9.4.6.zip; unzip glm-0.9.4.6.zip -d /opt;rm -f glm-0.9.4.6.zip
  • Compile Code
  • Go to root project directory and execute "cmake --build . --target Dungeon -- -j 6"
  • Run Executable
  • cmake-build-debug/Dungeon

Core Features

  • Camera
  • Player can move/strafe using the WASD keys and rotate his view with the mouse
  • Image loading
  • Ability to load .BPM/.TGA image files
  • Textures
  • Load texture objects at startup using .xml configuration file

3D effects

  • Particle engine
  • Basic particle engine (used to simulate a fire effect)

2D effects

  • 2D text
  • Display text on screen (e.g FPS Counter)
  • 2D Controls
  • Primitive display of 2D controls like listbox

Libraries Used

  • OpenGL 4.2 core profile
  • SDL2 : window/keyboard/mouse management
  • glm-0.9.4.6 : math operations
  • glew-1.11.0 : OpenGL extentions
  • pugixml : handle xml files

dungeon's People

Contributors

zztach avatar

Stargazers

 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.