RetroFPSStudio
                                
                                 RetroFPSStudio copied to clipboard
                                
                                    RetroFPSStudio copied to clipboard
                            
                            
                            
                        The public repo of Retro FPS Studio (RFS), for educational reading and not for reuse. See license.
Retro FPS Studio

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.
How to use RFS
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.
What is in this repository?
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.