File Exchange

image thumbnail

Operation Eigenfaust 3D (Tech Demo)

version (1.37 MB) by Mingjing Zhang
A playable first-person shooter demo featuring interative objects and real-time ray casting.


Updated 19 Jul 2013

View License

Operation Eigenfaust 3D Tech Demo for MATLAB v0.80
Mingjing Zhang, Stellari Studio, 2013
Simon Fraser University

This is the first 3D game (demo) ever made with 'pure' MATLAB available on MATLAB Central.
In this demo, you can freely roam in a quasi-3D environment. The game runs at 40~60 FPS on my three year old Lenovo G460.

The sole purpose of this demo is to show off the discrete ray-casting engine I have written, which is an implementation of the ray casting algorithm on this page:

Right now the engine is almost fully functional. It even renders half-opened doors and objects behind them properly. You can interact with the doors by pressing space while standing in front of them. There is also perfect collision detection.

There is a switch hidden somewhere in this level, but you won't be able to interact with it...

How to play:
WASD - move //
Left/Right arrow - rotate //
Enter - mouse on/off //
ESC - quit demo//
Move mouse - mouselook (when mouse is on) //
mouse wheel - zoom in/out


Cite As

Mingjing Zhang (2020). Operation Eigenfaust 3D (Tech Demo) (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (11)

Mr Smart


dear all.I'm not familiar with ray-casting algorithm,could anybody submit the code of ray-casting.Or send the code to my mailbox,Thank you all.


Wow. You have imagination. Thanks!

Well Done!

1. unzip all files to a folder,
2. set "current directory" to that folder
3. run wolf3d.m
install the app file


I am unable to install the Demo.
Please help me

Thank you for your support, Ryan. I probably won't be able to expand it to a full game any time soon since I still have to focus on my thesis. Also there are some problems to solve before I could use this engine in a real game. For instance, it does not handle walls that are not located on integer locations. In other words, the engine cannot render sliding doors, which are not located on the same plane as regular walls, as seen in the real Wolfenstein game.

Ryan G

Really cool. Are you going to upload any full games (or playable levels) with this?


* Upgraded to ver0.85
* Renamed to 'Operation Eigenfaust 3D'
and several file/variable names were changed accordingly
* Used a customized icon for the app
* Removed textures with controversial content

* Upgraded to ver 0.80
* Now doors are fully interactive

Upgraded to Ver 0.75:
* Added collision detection
* Added rendering for doors

*Updated to v0.50
Now supports arbitrary resolution;
Added mouse wheel support

MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux