Skip to content

VjiaoBlack/Oriadnos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Oriadnos
========

Can you escape this maze before your torches run out?

Playing
-------

Run `make` and then `./oriadnos` in the main directory. SDL must be installed.
Use the arrow keys or the mouse to rotate the camera, and WASD to move the
player.

Goals
-----

Most of the main goals of the project were achieved, including full perspective
texture rendering, z-buffering, and simple lighting. The game is "playable" but
it does not test for win conditions. We did not have time to implement a
dynamically generated maze, so wall and floor positions are hard-coded.

Note that SDL is only used to display the array of pixels onto the screen in
real-time, and to get user input. All rendering, including loading the image
files (as PPMs) and UV texture mapping, is our own code.

Project Layout
--------------

src/    C source code
res/    textures
demo/   game screenshots
build/  temporary object files

Work Distribution
-----------------

Ben: z-buffering, shading, PPM loading, collisions, speedups

Victor: matrix manipulation/rendering, movement, UV texture mapping, maze data

Known Issues
------------

Walls often disappear when getting too close to them. We know what's causing
this, but we couldn't figure out the math to fix it by the deadline.

Additionally, the game is very slow, often going below 10 FPS on a fairly
decent computer. Steps were taken to reduce rendering time in various
situations, and it is much faster than before, but additional work should be
done. Since a large amount of work that is normally done in the GPU is being
done in the CPU, it is unlikely that the game will ever run as fast as we would
like it to. To mitigate some speed issues, we use delta timing to ensure a
relatively smooth movement speed.

Releases

No releases published

Packages

No packages published