Welcome to Retro FPS Studio, the game making tool for raycasting retro fun! It produces true 2.5D, oldschool goodness alike to the original DOOM or Hexen DOS games:
Note: this public, partial copy of RFS2 is sadly NOT free software and has restrictive terms, see the license for explanations. Hopefully, you still find it informative, and I apologize that it's not more liberal.
To get started, obtain Retro FPS Studio from the website.
To get help with RFS2, visit the community spaces with other creators!
There is a technical FAQ for some basics on how RFS2 Engine works.
RFS is written in C and Lua. The core renderer, physics, and resource handling are in C for speed, while Lua handles the higher level program UI.
Here are some interesting locations:
-
rfsc/folder holds the core C engine-
rfsc/main.ccontains the program entrypoint. -
rfsc/scriptcore.csets up and launches the lua code. -
rfsc/roomcam.chas the camera code, which includes perspective calculation, and calls to the 2.5D raycast renderer inrfsc/roomcamblit.c. -
rfsc/room.hholds the lowlevel map structure definitions of the rooms. -
rfsc/roomserialize.ctakes room data from Lua's so-called tables, or dumps it back to them, for serialization of levels.
-
-
rfslua/folder contains the Lua UI, higher program logic, and gameplay code.rfslua/rfseditor/titlescreen.luasets up and handles the opening screen of RFS when you launch it.

