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

Rinnegatamante

Well-Known Member
OP
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
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,
D

Deleted User

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

Good work, though! :)
 

Rinnegatamante

Well-Known Member
OP
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
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
 

Rinnegatamante

Well-Known Member
OP
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
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,

Jwiz33

Banned
Joined
Jun 5, 2014
Messages
2,654
Trophies
0
Location
in the illuminati headquar—I have said too much!
Website
iwillcleanyourbasement.webstarts.com
XP
1,492
Country
United States
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?
 

Ripper00420

Well-Known Member
Member
Joined
Nov 5, 2013
Messages
740
Trophies
0
Age
41
XP
453
Country
United States
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,

Rinnegatamante

Well-Known Member
OP
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
  • Like
Reactions: Jack_Sparrow

Jack_Sparrow

Ruthless Pirate
Banned
Joined
Nov 17, 2015
Messages
852
Trophies
0
Age
37
Location
The Black Pearl
Website
www.nintendo.com
XP
495
Country
United States
  • Like
Reactions: Rinnegatamante

Rinnegatamante

Well-Known Member
OP
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
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

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Like for micro