Home‎ > ‎

Ray3d

Navigation

Ray3D   Project Page      
Current features       Techdemo       Screenshots



Welcome to ray3d, a fast, easy and free 3d game engine.

The philosophy of ray3d centers around ease of use and simplicity.
Ray3d should be easy to learn and use, while still retaining the power and speed of any other engine.

Ray3d is still in design/pre-alpha and has no public release yet.
But a hand full of features are already implemented.

Ray3d uses Irrlicht for 3d graphics, completely abstracting the use of Irrlicht but still allowing access to it.
This makes ray3d easy to extend and allows lower-level programming if you need more flexibility.

Download ray3d  (pre-alpha with techdemo)

Update

posted Jul 25, 2011, 1:02 PM by Johnny Serafino

Yikes, how long has it been since the initial release? The current state of the engine is actually quite a ways past there, but so many of the features are incomplete or experimental that I hate to put out an incomplete version of the engine. Still, development hasn't stopped and I really don't have much proof of that. Maybe I should take my schedule focus off of other projects and give more attention to re-factoring Ray3d.

I won't make ANY form of guess about when I'll be releasing the next version. It's important that I don't get stuck wanting to make it better and then never release it because I want it perfect. Version 0.1 doesn't have to be perfect anyway. We'll see how things turn out.


        --LazerBlade

Minor update

posted May 20, 2011, 12:33 AM by Johnny Serafino

I found a broken image on the screenshots page and fixed it.

Long live Irrlicht!

posted Apr 11, 2011, 7:14 PM by Johnny Serafino

Ray3D is staying on the Irrlicht engine permanently, check here for details.

Ogre RAM usage

posted Feb 9, 2011, 2:25 PM by Johnny Serafino

Gah!

I take back what I said about Irrlicht having unreasonable memory usage. Ogre is at least as bad.
This leaves me with two choices, write my own engine and probably end up having worse resource management, or just make games with high system requirements.

Rendering and more

posted Feb 8, 2011, 10:07 AM by Johnny Serafino   [ updated Feb 9, 2011, 10:20 AM ]

It's been almost 2 months since I posted any updates here. Don't worry, this project isn't dead. I've still been developing my screensaver, and it's almost done. But that's not all there is to it.

I posted awhile back about the possibility of changing rendering engines. Then, I didn't have too many reasons to switch to Ogre3D. Now however, I have one more. A big one.

Irrlicht has a memory footprint, a HUGE memory footprint. It takes up way more memory than it ought to for a simple scene or project. I looked around, but it seems it has nothing to do with any problem of mine. Irrlicht takes up to much RAM, there doesn't seem to be any way around it other than rewriting substantial parts of the rendering engine. The whole reason I would use someone else's rendering engine is to save me from spending large amounts of time writing the rendering engine. Spending large amounts of time rewriting someone else's rendering engine wouldn't be much better. As far as I can tell, Ogre3D has no such problems. Plus there are all the other reasons I posted about and linked to earlier in this post.

So unless something happens to change my mind, I'll probably be switching to Ogre3D within a month or two. At which point I will release my current Irrlicht based Ray3D, which is a big mess. ;)

Projections and updates

posted Dec 29, 2010, 11:49 AM by Johnny Serafino   [ updated Feb 4, 2011, 6:43 PM ]

If you follow Ray3D, you're probably wondering why I don't have a new version out by now.
There are a few things which I consider to be of some importance that are incomplete.

Awe dang this formalism.

I'm holding off on the release until I finish my screensaver. Another spiffy demo will add a lot to the presentation.
I still need to do something about documentation, it's not like I'm going to spend the next year writing the documentation
all by myself. This sets the stage for something I've been chewing on for awhile. Name a successful 3D game engine
that didn't have a forum or chat somewhere in cyberspace. Seriously, the documentation could fill itself in if I gathered some
interest on a forum where people could ask questions.

Besides all that, I've been busy.

I don't really have much of an idea anymore about when the next release of Ray3D will be "ready".
Probably not for another few weeks at least. Even then, it wouldn't be 100% foolproof. I really don't think it has a probability
of finishing soon.

And now in order to throw that un-optimistic ending off, I'm going to use a subconscious suggestion.




                    ------>!HAPPY!<------


Later,

    LazerBlade

Documentation, particles, and more

posted Dec 19, 2010, 2:49 PM by Johnny Serafino

I finally managed to get particle systems to clear the right way after quite a bit of work.
But it's finally done, and I think Ray3D is feature ready for version 0.05.

There are still a few "loose ends" to tie up though.
Firstly, there's very little documentation and it would be really hard to learn this engine yourself.
But then it would take me ages to write and test documentation for the entire project,
so I'm working on a scheme for that one. Secondly, there's licensing. I've had quite a bit of trouble
picking a license that suits my needs. I'll probably end up releasing the engine under LGPL until I find
or write a better license. And lastly, I think Ray3D needs a forum. I have *no* idea where to start on
that, so expect a long wait. ;)

Compile Time

posted Dec 13, 2010, 11:01 AM by Johnny Serafino

This story is getting longer and longer, so I better dump it on you before it becomes so long that I can no
longer remember everything.

This all started when I noticed a bug in my demo application. One of the attractions is a demonstration of
Ray3D's particle system. This works by allowing the player to fire blue fireball's that have a particle system
attached.

At a first glance there's nothing wrong with the demo. But upon close observation, I discovered that if I fired
a fireball, waited for it to hit a wall, then fired another fireball shortly afterward, the particles from the
previous fireball would reappear. So I though I just wasn't clearing the particles when the fireball died.

Half an hour passed, two hours passed, THREE hours passed. I still hadn't figured out what the pancake
was going wrong. I tried all kinds of things to clear the particle system. After sleeping on the problem,
spending more time trying to figure it out, and drinking some Mountain Dew, I consulted the forums on
Irrlicht, what I use to do lower-level rendering and input handling. There I learned that Irrlicht didn't have
a feature for such things.

So I decided to roll up my sleeves and patch it myself...
Half an hour passed, two hours passed (yes, we're doing this again) , THREE hours passed. Then suddenly

                                                                         -->BING!<--

Someone posts on the forum that a function to clear particles has been added to the SVN trunk.
Okay, I'll just check out the SVN and rebuild the SVN Irrlicht myself.

Half an hour passed, two hours passed--- Aw skip it.

Hmmm, apparently compiling the SVN version and then getting Ray3D to run on top of it is a bigger
order than I thought. And to the writing of this post, I sill haven't got it all working right.
I think I'm closer than I was when I started, but this web of sophisticated and complicated problems
is starting to look about as easy to understand as women.


So an almost long story short, I'm having a great time pulling my hair out over fun little compiling and
debugging blurbs. But at the cost of time. This could really slow down the delivery of Ray3D, but
then again that isn't the point. The point is still to have an awesome 3D game engine, no matter
how much time I end up spending trying to fix weird little problems and drinking Mountain Dew.


    More as it comes...

Demo application updates and more work inside

posted Dec 6, 2010, 10:15 AM by Johnny Serafino

      The ability too fire nifty blue fireballs can really catch eyes.


As you can see, I've been updating the demo application. The user can now fire projectiles which leave
a particle trail. This shows off the particle system.


Unfortunately, a little more work still needs done on the particle system. And collision response is still only
camera-entity. And then theres the tutorial of course. I think there's not a whole lot left to do.


I've been pretty busy though so I can't really even give a guess for a release date. I am hoping to have it
wrapped up within a few weeks though.


    More as it comes...

Particle systems, collision detection and more

posted Dec 1, 2010, 8:36 AM by Johnny Serafino   [ updated Dec 1, 2010, 8:59 AM ]

I *think* I got hardware accelerated mesh skinning working, but my rig doesn't have a graphics card
that supports it. Another reason to get a new one is hereby added to the list...

Meanwhile, I figured things out where static LIBS are involved, and successfully upgraded the lower-level
3d engine to a new version.

"So with all those things done, why isn't there a new engine version available yet" you may ask?
Well with all those updates out of the way, we'll get into 'that other stuff':


                Hooray for a spiffy looking screenshot!

A nifty new feature of Ray3D is the ability to take screenshots with one simple line of code.
This screenshot was taken in-game with no hassle.

There's still PLENTY of features left to implement, and I've also been updating the LPI.

What I've probably spent the most time on, is particle systems and billboarding.
Why billboarding when it was already implemented in the experimental build of 0.02?
Because it had bug, thats why. And it took me several hours to fix that bug.
I'm also adding support for particle systems to the engine, which while quite a deep subject, is also very
enjoyable to work on and very rewarding at the same time. Right now there's only a little you can
do to change the behavior of a particle system though, so I don't think it's ready for the next release yet.

Aside from bug fixes, I've also been working on tutorials, code refactoring, and a new demo program.
The above screenshot is from that demo, and is another reward for my work on particle systems.

Then there's parenting. I've added the ability for entity-to-entity parenting, an addition to the original
camera-to-entity parenting.

There's also collision detection and response. So far only the camera can be set up to collide with another
entity, I'm working on adding support for an entity to collide with another entity or a camera.



What does all this mean?


Version Jump!


I think the next version will be a jump ahead, probably to 0.05 or 0.1.
This means it will probably be a while before I can get it out, but it will really be worth the wait.



    More as it comes...

1-10 of 22