File Exchange

image thumbnail

Operation Eigenfaust 3D (Tech Demo)

version 1.4 (1.37 MB) by

A playable first-person shooter demo featuring interative objects and real-time ray casting.

11 Downloads

Updated

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:
http://www.permadi.com/tutorial/raycast/

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
--------------------

Enjoy!

Comments and Ratings (9)

Mr Smart

Guan

Guan (view profile)

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 :glnuist@gmail.com,Thank you all.

Kerem tezcan

Timothy

Wow. You have imagination. Thanks!

Well Done!

Mingjing Zhang

Mingjing Zhang (view profile)

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

shashi

shashi (view profile)

I am unable to install the Demo.
Please help me

Mingjing Zhang

Mingjing Zhang (view profile)

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

Ryan G (view profile)

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

Updates

1.4

* 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

1.3

* Upgraded to ver 0.80
* Now doors are fully interactive

1.2

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

1.1

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

MATLAB Release
MATLAB 8.1 (R2013a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video