Homebrew [W.i.P.] Lua RayCast3D - 3D Game Engine for lpp-3ds

  • Thread starter Thread starter Rinnegatamante
  • Start date Start date
  • Views Views 11,590
  • Replies Replies 38
  • Likes Likes 18

Rinnegatamante

Well-Known Member
Member
Joined
Nov 24, 2014
Messages
3,162
Reaction score
3,513
Trophies
2
Age
31
Location
Bologna
Website
rinnegatamante.it
XP
4,879
Country
Italy
Lua RayCast3D

Lua RayCast3D is a 3D Game Engine for Nintendo 3DS which runs under Lua Player Plus 3DS (lpp-3ds).
It uses Ray-Casting algorithm (https://en.wikipedia.org/wiki/Ray_casting) to generate a 3D world starting from a 2D map.
It runs fullspeed on N3DS with any accuracy value but runs smooth on O3DS only with accuracy values >= 3.

At the moment these are the Features Lua RayCast3D offers:

  • Different tile size maps
  • Automated camera and player position management
  • Support for huge maps (pratically there aren't limitations)
  • Support for sky rendering and floor rendering
  • Automated minimap renderer with player position
  • Textured walls support
  • Wall Collisions check
  • Shading support
What this engine needs to be finished is listed in this TODO List:

  • Player collisions with walls
  • Sprites support for animations
  • Bullets physic
  • Editable FOV
  • Support to textures for walls, sky, floors
A cool TechDemo recorded by @ihaveamac can be watched here:


Screenshots:
PhbDCSX.jpg


Credits:


Repository:
https://github.com/Rinnegatamante/Lua-RayCast3D/tree/master


Download:
Here you can download the first alpha version (v.0.1) with a sample tech demo and a short documentation for the available functions: https://github.com/Rinnegatamante/Lua-RayCast3D/releases/tag/0.1
 
Last edited by Rinnegatamante,
God dammit, you beat me to some sort of 3D engine for 3DS homebrew! >_<

Good work, though! :)
 
Hah, I found this on ihaveamac's YouTube today, and I thought it was some old dead unfinished homebrew, but then I find it here and that it is still being updated.
Thanks for this and good luck!

I started working to this engine like 2 or 3 days ago just to learn how Wolfenstein 3D works (i needed it to understand why it uses such coordinates system which make difficult to implement stereoscopic 3D) but when i seen the results, i decided to make this project public.

God dammit, you beat me to some sort of 3D engine for 3DS homebrew! >_<

Good work, though! :)

Technically this is not a real 3D engine but a fake-3D ones :P
 
Added support on camera movement to look up and down (tricky way but works quite good).

Texture support is also quite finished but it seems lpp-3ds (and so sf2dlib) have some problem with image scaling + cropping. Anyway here's a quick screenshot with the work in progress texture support (minimap is correctly textured):
bmydLmT.jpg

It will be also extremely easy to use textures and you can also use different textures for different walls (this code is what generated the map of the screenshot):

Code:
W = Graphics.loadImage(System.currentDirectory().."/wall.png")
map = {
   W,W,W,W,W,W,W,
   W,0,0,0,0,0,W,
   W,0,W,W,W,0,W,
   W,0,0,W,0,0,W,
   W,0,0,W,W,0,W,
   W,W,W,W,W,W,W
}

Next thing i'll add after texture support are shading effects (for fog, underwater, night, depth of field effects)
 
Last edited by Rinnegatamante,
Added support on camera movement to look up and down (tricky way but works quite good).

Texture support is also quite finished but it seems lpp-3ds (and so sf2dlib) have some problem with image scaling + cropping. Anyway here's a quick screenshot with the work in progress texture support (minimap is correctly textured):
bmydLmT.jpg

It will be also extremely easy to use textures and you can also use different textures for different walls (this code is what generated the map of the screenshot):

Code:
W = Graphics.loadImage(System.currentDirectory().."/wall.png")
map = {
   W,W,W,W,W,W,W,
   W,0,0,0,0,0,W,
   W,0,W,W,W,0,W,
   W,0,0,W,0,0,W,
   W,0,0,W,W,0,W,
   W,W,W,W,W,W,W
}

Next thing i'll add after texture support are shading effects (for fog, underwater, night, depth of field effects)
Github isn't updated?
 
I started working to this engine like 2 or 3 days ago just to learn how Wolfenstein 3D works (i needed it to understand why it uses such coordinates system which make difficult to implement stereoscopic 3D) but when i seen the results, i decided to make this project public.



Technically this is not a real 3D engine but a fake-3D ones :P
Whoot! whoot! I can't wait for your finished Wolfenstein 3D. I lost so much of my childhood locked in my room to this game, Descent, and 7th Guest... Lol!
 
Last edited by Ripper00420,
  • Like
Reactions: Jack_Sparrow
  • Like
Reactions: Rinnegatamante
First alpa version released!

Download:
Here you can download the first alpha version (v.0.1) with a sample tech demo and a short documentation for the available functions: https://github.com/Rinnegatamante/Lua-RayCast3D/releases/tag/0.1

Note that the engine is in a early stage, it's not very much accurated (some graphical glitches with textures and models generation) but it's fully working and usable for homebrews creation.
 
Last edited by Rinnegatamante,
  • Like
Reactions: Jack_Sparrow

Site & Scene News

Popular threads in this forum