• Stars
    star
    170
  • Rank 223,357 (Top 5 %)
  • Language Makefile
  • Created almost 5 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple pseudo-3d engine implementation. This code allows you to make two dimensional map and draw pseudo 3D image using Ray-Cast.

pseudo3DEngine

Simple pseudo-3d shooter implementation. You can make two dimensional map, add enemy's, shoot and draw pseudo 3D image using Ray-Cast.

Installation:

  1. Download and install OpenAL library for SFML sound support (in current version you can't setup this engine without OpenAL)

    openal: https://openal.org/downloads/

  2. Install SFML on your computer (The compiler versions have to match 100%):

    sfml: https://www.sfml-dev.org/download.php

  3. Open CLion or Visual Studio

    CLion (recommended): https://www.jetbrains.com/clion/

    Visual Studio: https://visualstudio.microsoft.com/ru/

  4. Clone this repository

    rep url: https://github.com/vectozavr/pseudo3DEngine

  5. Built project

For any issues, please, create new issue in this repository.

Added by Neirokan:

  • The network system is replaced by another, WORKING system
  • Fisheye correction
  • Jumps
  • Realistic wall height (seriously, the zero-height wall was like half a player)
  • Realistic circle collision (not just 10 walls)
  • Reflections remain inside the mirrors
  • Menu fix (buttons now detect only mouse clicks, not holding)
  • The application stops reading input and moving the cursor while you are switched to another window
  • FPS limit (no more 600 fps in menu)
  • Missing resources fix
  • Small optimizations

Demonstration of how does this engine work: Project demonstration

Some results of texturing: Project demonstration

We can switch off the textures: Project demonstration

We can smooth floor (performance-heavy): Project demonstration

This engine can perfom some mirrors. As you can see, we get correct reflection image: Project demonstration

Reflection loop included: Project demonstration

Online test: Project demonstration

Jumps (but without camera vertical rotation): Project demonstration

Map editor (importing .obj files): Project demonstration