Finished my dice roller and updated to 0.8.
Do tell me if you use this in an acual RPG session!
Source code is also at http://code.google.com/p/dice3/
Regards, way
dice3 for RPGs
dice3 for RPGs
- Attachments
-
- dice3.love
- (33.88 KiB) Downloaded 429 times
Re: dice3 for RPGs
Very nice way! I love it!
Re: dice3 for RPGs
Holy crap, it's like 3D and stuff!!1
My game called Hat Cat and the Obvious Crimes Against the Fundamental Laws of Physics is out now!
Re: dice3 for RPGs
It's old. Look here: viewtopic.php?f=5&t=1692T-Bone wrote:Holy crap, it's like 3D and stuff!!1
Re: dice3 for RPGs
I remember this, it's still crazy impressive that you got basic 3d lighting, collision, and physics. However, it demonstrated the problem of making a 3d game for a 2d engine, in that even on my beefy machine it slows to shit if you add more than 3 dice or so.
Nevertheless, still impressive.
Nevertheless, still impressive.
- Jasoco
- Inner party member
- Posts: 3727
- Joined: Mon Jun 22, 2009 9:35 am
- Location: Pennsylvania, USA
- Contact:
Re: dice3 for RPGs
It's not really that simple. 3D is pretty easy to calculate and images draw pretty fast. It really just comes down to how many images and calculations are being performed per frame.
I've very easily shown that 3D can be pretty fast. It just depends on the details and making sure not to do too many calculations on stuff that isn't even on screen.
Löve just doesn't have tools that would be useful for 3D. i.e. texture distorting. Remember my Star Fox and 3D cube demos? They were simple love.graphics.polygon()'s that were drawn depending on the right condition. The triangle is facing the camera and is on screen. In the update() function, calculations were performed on every triangle. The X, Y and Z 2D locations on the screen and if those three points are in clockwise order. In an optimized engine, every 3D object is separate and the world is divided into sections. The game first figures out what sections are visible, then the polygonal points are calculated and everything visible is rendered to the screen.
Löve has already proven it can perform many many calculations very quickly. And drawing is pretty fast too. If Löve had access to the right OpenGL3D functions, it could do 3D pretty well. Maybe not Crysis level 3D or anything too high poly count, but simpler things could definitely be done with the right optimizations and coding. Not to mention direct access to OpenGL 3D would also allow polygon clipping. And you don't really need to worry about real-time lighting if you just use pre-calculated lighting. i.e. Normals.
It's really all about how much you need to calculate and how fast you figure that out.
If I sat down and decided to actually concentrate, I could replicate Star Fox 100%. Since it has no textured polygons, it would look pretty much the same too. And if I could replicate Star Fox I could easily create a simpler low-polygon platformer. The main difference being that no texture warping means it would have to be single color triangles. But it could be done. The actual hard part is not the 3D, it's the physics and the polygonal animation, and that's where I personally would fail. Since Löve obviously doesn't have libraries for manipulating polygonal objects like Unity would. But Star Fox. Sure. Doable. And on my list. For the long term. But you've already seen my list of things I'd like to do, and it's looooong.
But then again this is off-topic.
Also, I get 100FPS in LuaJIT 0.8.0 with 3 dice.
I've very easily shown that 3D can be pretty fast. It just depends on the details and making sure not to do too many calculations on stuff that isn't even on screen.
Löve just doesn't have tools that would be useful for 3D. i.e. texture distorting. Remember my Star Fox and 3D cube demos? They were simple love.graphics.polygon()'s that were drawn depending on the right condition. The triangle is facing the camera and is on screen. In the update() function, calculations were performed on every triangle. The X, Y and Z 2D locations on the screen and if those three points are in clockwise order. In an optimized engine, every 3D object is separate and the world is divided into sections. The game first figures out what sections are visible, then the polygonal points are calculated and everything visible is rendered to the screen.
Löve has already proven it can perform many many calculations very quickly. And drawing is pretty fast too. If Löve had access to the right OpenGL3D functions, it could do 3D pretty well. Maybe not Crysis level 3D or anything too high poly count, but simpler things could definitely be done with the right optimizations and coding. Not to mention direct access to OpenGL 3D would also allow polygon clipping. And you don't really need to worry about real-time lighting if you just use pre-calculated lighting. i.e. Normals.
It's really all about how much you need to calculate and how fast you figure that out.
If I sat down and decided to actually concentrate, I could replicate Star Fox 100%. Since it has no textured polygons, it would look pretty much the same too. And if I could replicate Star Fox I could easily create a simpler low-polygon platformer. The main difference being that no texture warping means it would have to be single color triangles. But it could be done. The actual hard part is not the 3D, it's the physics and the polygonal animation, and that's where I personally would fail. Since Löve obviously doesn't have libraries for manipulating polygonal objects like Unity would. But Star Fox. Sure. Doable. And on my list. For the long term. But you've already seen my list of things I'd like to do, and it's looooong.
But then again this is off-topic.
Also, I get 100FPS in LuaJIT 0.8.0 with 3 dice.
Re: dice3 for RPGs
If one were to make a Minecraft 3D clone, would that be suitable for LOVE? Would it be better than using java or Unity? I recall seeing Maurice make some kind of Minecraft demo, but it only displayed like 2-4 chucks of blocks and got around 40-60 FPS on my computer.Jasoco wrote:It's not really that simple. 3D is pretty easy to calculate and images draw pretty fast. It really just comes down to how many images and calculations are being performed per frame.
I've very easily shown that 3D can be pretty fast. It just depends on the details and making sure not to do too many calculations on stuff that isn't even on screen.
Löve just doesn't have tools that would be useful for 3D. i.e. texture distorting. Remember my Star Fox and 3D cube demos? They were simple love.graphics.polygon()'s that were drawn depending on the right condition. The triangle is facing the camera and is on screen. In the update() function, calculations were performed on every triangle. The X, Y and Z 2D locations on the screen and if those three points are in clockwise order. In an optimized engine, every 3D object is separate and the world is divided into sections. The game first figures out what sections are visible, then the polygonal points are calculated and everything visible is rendered to the screen.
Löve has already proven it can perform many many calculations very quickly. And drawing is pretty fast too. If Löve had access to the right OpenGL3D functions, it could do 3D pretty well. Maybe not Crysis level 3D or anything too high poly count, but simpler things could definitely be done with the right optimizations and coding. Not to mention direct access to OpenGL 3D would also allow polygon clipping. And you don't really need to worry about real-time lighting if you just use pre-calculated lighting. i.e. Normals.
It's really all about how much you need to calculate and how fast you figure that out.
If I sat down and decided to actually concentrate, I could replicate Star Fox 100%. Since it has no textured polygons, it would look pretty much the same too. And if I could replicate Star Fox I could easily create a simpler low-polygon platformer. The main difference being that no texture warping means it would have to be single color triangles. But it could be done. The actual hard part is not the 3D, it's the physics and the polygonal animation, and that's where I personally would fail. Since Löve obviously doesn't have libraries for manipulating polygonal objects like Unity would. But Star Fox. Sure. Doable. And on my list. For the long term. But you've already seen my list of things I'd like to do, and it's looooong.
But then again this is off-topic.
Also, I get 100FPS in LuaJIT 0.8.0 with 3 dice.
Re: dice3 for RPGs
Maurice made the Illusionary Engine, and while it is capable of rendering a small 3D scene, it's hardly going to have fun rendering out a full minecraft landscape. If you want to make a 3D game, use a 3D engine.
- Jasoco
- Inner party member
- Posts: 3727
- Joined: Mon Jun 22, 2009 9:35 am
- Location: Pennsylvania, USA
- Contact:
Re: dice3 for RPGs
Yeah. Minecraft is WAY too complex. As I said, it's all about how many triangles or image polygons you want to draw at once. And Minecraft needs to render THOUSANDS every frame. Even in "Near" mode. Java is actually much faster than Löve in that department. I wish Löve were as fast as Java. Would be nice. But Java sucks harder than the toilet in an airplane bathroom, so I'll stick with Löve.
Last edited by Jasoco on Sat Apr 21, 2012 12:55 am, edited 2 times in total.
- slime
- Solid Snayke
- Posts: 3166
- Joined: Mon Aug 23, 2010 6:45 am
- Location: Nova Scotia, Canada
- Contact:
Re: dice3 for RPGs
LuaJIT is as fast or faster than Java, AFAIK - especially when you use FFI bindings rather than the traditional lua-c api for things like the OpenGL functions. Check out https://github.com/malkia/ufo and https://github.com/ncarlson/eiga .
Minecraft utilizes OpenGL for most of its graphics work, instead of relying on software-side Java code to transform a 3d scene into 2d screen-space (which is what LÖVE "3D" things are doing, essentially).
Minecraft utilizes OpenGL for most of its graphics work, instead of relying on software-side Java code to transform a 3d scene into 2d screen-space (which is what LÖVE "3D" things are doing, essentially).
Who is online
Users browsing this forum: alexjgriffith and 2 guests