i personally would have no problem licensing it (if the price were a lil lower) while waiting for the BMax 3D module... if that were the only consideration...
its the attitude of the person who seems to be in charge that would be my determining factor... i'd feel more confident waiting 'till Evak gives the go ahead before making a final decision... he seems to have a better grip on the reality of marketing and promoting this to a group of experienced coders... Anthony, on the other hand, appears to need a lil more training in the art of product marketing and promotion :)
i think that Aurora looks like it could be a real asset to the BMax developer, in the short and long term...
@Lars...
... but lets take a quick look around at some of the ones that definitely qualify as game engines.
ok... from OGRE...
from Crystal Space...
from Nebula...
as you can see, the concept of a running code entity, something that can dispatch and query messages, appears to be universal to the definition of an engine...
--Mike
its the attitude of the person who seems to be in charge that would be my determining factor... i'd feel more confident waiting 'till Evak gives the go ahead before making a final decision... he seems to have a better grip on the reality of marketing and promoting this to a group of experienced coders... Anthony, on the other hand, appears to need a lil more training in the art of product marketing and promotion :)
i think that Aurora looks like it could be a real asset to the BMax developer, in the short and long term...
@Lars...
Running something in a thread doesn't automagically make it an engine,
you are right... and i never said that it did...... but lets take a quick look around at some of the ones that definitely qualify as game engines.
ok... from OGRE...
EventProcessor* eventProcessor = new EventProcessor(); eventProcessor->initialise(root->getAutoCreatedWindow()); eventProcessor->startProcessingEvents(); // event engine is running, now we listen for keys and frames (replaces while loops) CSimpleKeyListener* keyListener = new CSimpleKeyListener(); eventProcessor->addKeyListener(keyListener); CSimpleFrameListener* frameListener = new CSimpleFrameListener( eventProcessor->getInputReader()); // you can have many frameListeners root->addFrameListener(frameListener); //---------------------------------------------------- <b> // 8 start rendering //---------------------------------------------------- [b]root->startRendering();</b> // blocks until a frame listener returns false. eg from pressing escape in this example[/b]
from Crystal Space...
void Simple::Start () { csDefaultRunLoop (object_reg); } /*---------------* * Main function *---------------*/ int main (int argc, char* argv[]) { iObjectRegistry* object_reg = csInitializer::CreateEnvironment (argc, argv); if (!object_reg) return -1; simple = new Simple (object_reg); if (simple->Initialize ()) <b> simple->Start ();</b> delete simple; simple = 0; csInitializer::DestroyApplication (object_reg); return 0; }
from Nebula...
// trigger the gfx server once every frame 00075 // Trigger() returns false if you close the window 00076 while (gfxServer->Trigger()) 00077 { 00078 gfxServer->BeginFrame(); 00079 gfxServer->BeginScene(); 00080 gfxServer->Clear(nGfxServer2::AllBuffers, 0.0f, 0.8f, 0.6f, 0.4f, 0.0f, 0); 00081 00082 gfxServer->EndScene(); 00083 gfxServer->PresentScene(); 00084 gfxServer->EndFrame(); 00085 00086 // allow Windows to multitask 00087 n_sleep(0.0); 00088 }
as you can see, the concept of a running code entity, something that can dispatch and query messages, appears to be universal to the definition of an engine...
--Mike