Originally Posted By: Superku
It's so... beautiful!

No, YOU are beautiful!

Originally Posted By: Nems
I'm mindfull of another user who did similar but not sure how thats going....3DGamemaker or something like that.....

Maybe Blendelf by Inestical? As far as I'm aware, the project is currently pretty much dead, I just checked the github page and the last commit was three years ago.

But yes, there certainly are other engines out there. Skyline, C4, Torque, Leadwerks, you name it. But we think there is space for at least one more engine, mostly because there is no silver bullet. And we don't claim to have the silver bullet either, but we have a spot that's currently void: A powerful and modern engine that lets you drop down to the bare metal if you need to.

The thing is, most engines are old by now, have lots of legacy code and not breaking backward compatibility is kind of a huge deal. We don't have that problem, we could start from scratch, take the newest technology that was available on all our target platforms, and kick some ass.

Originally Posted By: Nems
[...]Another indie offering still in beta but stunning...as others were too in previous attempts...

Oh, yes, the road of dead engine projects is long and filled with... well, dead engines. Saying that you want to make a good 3d game engine is kind of like saying you want to make the next WoW or Windows. It's an ambitious undertaking to say the least, but we think that we can pull this off. We are quite clear about what we want, and it's not a CryEngine or UDK killer, these engines play in a very, very different league and we are nowhere near that.

Originally Posted By: sivan
nice concept, great features, and a cool little homepage written in a lovely style grin

Awwww <3
Could you please tell the last part to Nils' girlfriend? She thinks the website is boring frown

Originally Posted By: sivan
I hope Bullet 3 is really coming soon to get more power, and nobody will miss Nvidia PhysX from the engine...

You can write your own plugin for PhysX, if you really want it. We have decided against it because bullet runs on all platforms out of the box.

Originally Posted By: sivan
Looking forward further news, screenshots, videos, demos, and marketing bullshit.

You know what? Here you go:


Also, we now have a showcase: http://rayne3d.com/showcase/ 30% less content, 95% more pictures and 5% more marketing.

And because we said that Rayne is easy to use and blah, blah, blah, here is the source code for the light part to prove exactly that:
Code:
// Create a dual phase LCG random number generator
RN::Random::DualPhaseLCG rng;
rng.Seed(0xdeadbeef);

// The root node that's going to rotate the whole oderal
RN::SceneNode *node = new RN::SceneNode();
node->SetAction([](RN::SceneNode *node, float delta) {
    node->Rotate(RN::Vector3(10.0f * delta, 0.0f, 0.0f));
});
		
// Create a particle emitter
RN::ParticleMaterial *material = new RN::ParticleMaterial();
material->AddTexture(RN::Texture::WithFile("textures/light.png"));

RN::ParticleEmitter *emitter = new RN::ParticleEmitter();
emitter->SetMaterial(material);
emitter->SetSpawnRate(0); // Don't spawn any particles

// Spawn some lights...
for(int i = 0; i < 300; i ++)
{
    RN::Light *light = new RN::Light();
    light->SetPosition(RN::Vector3(rng.RandomFloatRange(-35.0f, 35.0f), rng.RandomFloatRange(-10.0f, 20.0f), rng.RandomFloatRange(-20.0f, 20.0f)));
    light->SetRange(rng.RandomFloatRange(2.0f, 5.0f));
    light->SetColor(RN::Color(rng.RandomFloat(), rng.RandomFloat(), rng.RandomFloat()));
    
    // Create a new particle
    RN::Particle *particle = emitter->SpawnParticle();
    particle->color = light->Color();
    particle->lifespan = 1000;
    
    // Give the light an action to update the particles position every tick
    light->SetAction([particle](RN::SceneNode *light, float delta) {
        particle->lifespan = 1000; // This is kind of hackish to prevent the Particle from dying
        particle->position = light->WorldPosition();
    });
    
    // Attach the light to the root node so that it inherits it rotation
    node->AttachChild(light);
}



The beauty is that Rayne will do all entity updates in parallel, I've recorded the scene on my MacBook Pro with 8 logical cores (4 physical), so Rayne will update 8 entities at a time, completely automatically for you. And, it also takes care of synchronizing the whole thing, so you don't have to think about synchronization.

Last edited by mk_1; 08/06/13 16:05. Reason: special occasion embedded video ;)

Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com