irrlicht the gane engine

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
etcaptor
Posts: 871
Joined: Fri Apr 09, 2004 10:32 pm
Location: Valhalla
Contact:

Post by etcaptor »

Thanks for reply. XML export is good issue. About idea for new GUI classes, this sounds so promising. The one example that I know about is a IrrTreeView, and I like it. I have been ideas about some classes like spinEditBox gui control , but have not many time to do it, and as you know I'm still non started using gui in my apps. But was found 2 bugs in ListBox and ComboBox. But now I'm bussy with memory managment. Maybe this problem appears only for me..?
ImageImage
Site development -Rock and metal online
--- etcaptor.com ------freenetlife.com
Fred

Post by Fred »

I'd like to see a non-ugly GUI skin. No offence intended!
Nick_Japan
Posts: 98
Joined: Mon Dec 13, 2004 11:47 am
Location: Japan

Post by Nick_Japan »

I quite like the sound of the idea someone had a little way back of a catalogue of code snippets and subsystems that we can pick and choose from. We don't want to start adding components in permanently, because we'll just end up with confusing feature bloat - Irrlicht is so nice and clean and accessible as it is it's much easier in my opinion to put your own stuff on top of it than to try and start cobbling things deep into the guts of it.

One thing we do have at the moment is the wiki - maybe we could start having a more specific code snippets area on that where we can store small self-contained components which do certain things, such as AI or pathfinding or something? Let's face it: other people's code is never plug-and-play for your own projects, you always need to tweak it a little to marry up with everything else. I've personally made a lot of progress out of seeing how people build up their systems and as long as you comment it well and make it clear how the system fits together then I think it's usually pretty easy to understand what's going on and to adapt it for your own work.
phrounz
Posts: 45
Joined: Thu Feb 10, 2005 11:45 am
Location: France
Contact:

Post by phrounz »

I think that it's right that Irrlicht should not be a game engine like Quake II engine, because it would reduce Irrlicht possibilities.


But we could add a lot of features to set irrlicht bigger and simpler. For example sound : there is no sound in Irrlicht features. We could add sound support, using Audiere or OpenAL, and add new classes to Irrlicht using this. Like other people said, there are many other good ideas like that : artificial intelligence, collisions, network, video support, ...
And if some people are not agree with this point of view, we could create two different Irrlicht releases : a small release, with only Irrlicht current features, and a big release, with all the things people would have added.


Another idea is to do like bitplane said : create a lot of addons for Irrlicht (many of them are already done), and add it in a project whenever we want to.
In concrete terms, what can we do :
- Ask Niko to do a page in the wiki where all the people could say what addons they have made. And arrange them with a hierarchy. I think the "links" page in Irrlicht web site is now far from enough. There are already too many addons to mail to Niko every time.
- Ask people who create the addons to create them in the same way (for example always a zip file, with one README.txt in the zip root directory, and an example in the example folder, etc ...) In order to be more easy for the people who will use them.



And sorry for my terrible english. :?
Icy Manipulator

Post by Icy Manipulator »

I am interested in this, I will join your team to create a game engine. I may not know much C++, but i have developed a very versatile Entity Loader, would that help for starters?
MarcoTMP
Posts: 37
Joined: Mon Aug 29, 2005 8:14 pm
Location: Dominican Republic
Contact:

Post by MarcoTMP »

I agree with all of you that irrlicht must be just a Graphic Engine.
BTW, I want to see a Game Engine easy of use like Irrlicht, and of curse "Free".

I'm designing a game engine that look like this below.
Maybe it can be a good starting point to make an easy and powerfull IrrlichtGameEngine.

Code: Select all

GameEngine
    Core
        Engine States, graphic settings, game data, etc.

    Objects
        List GraphicNodes
        List PysicObjects
        List Sounds
        List data
        List PrefabEntity
        ...
    SoundMngr
        Functions to play 3d Sound, doppler effect, etc.
    ScriptMngr
        Functions to run Scripted Based Functions.
    PhysicMngr
        Functions for real physic simulation.
    TaskMngr
        Execute tasks in the game.        
    MAPMngr
        -Loading and saving map functions.


Libs i'm currently using:
    - Irrlicht
    - Audiere
    - Newton
    - Raknet
    - ToLua

Tools (Wysiwyg)
    GUI Editor
        Features:
        -Easy as a drag and drop editor.
        -Built In Dialog Editor.
    World Editor
        Features:
        -Add/edit Graphics, Physic, sound, objects data, and more.
        -Open/save all scene in/from a file.
        -Built In Particle Editor.
        -Built In Sequence Editor.
Example code:

Code: Select all

/*   Setting graphics...  */
Engine->InitGraphic(800,600,"Direcx9",FULLSCREEN); 

//you can load this and other stuff from config file using:
//Engine->InitFromConfigFile();


/*   Loading map.   */
Engine->MapMngr->LoadMap("MAP1.MAP");


/*   creating objects    */
ObjectMngr* Object = Engine->ObjectsMngr;

PlayerEntity* Player1; //built in class... you can create your own with many properties and methods...

Player1->setName("Soldier1");
Player1->setnode(Object->getGraphicNode("Soldier1"));
Player1->setBody(Object->getPhysicObject("Soldier1Body"));
...

Object->RegisterEntity(Player1);


/*   add to task list     */

//call updateplayer each time object need to be updated.
void updateplayer(void* data){    
    //update using a built in update function
    BuiltInUpdatePlayer(DataToPlayer(data));
    //DataToPlayer is like (PlayerEntity*) Player1

    /* 
    or
    PlayerEntity* Player1 = DataToPlayer(data);
    if (keypress("SPACE")) Player1->Jump();
    */
    
    /* 
    or update from script
    Engine->ScriptMngr->RunScriptFunc("UpdatePlayer", data);
    */

    //you can write here AI functions when controling NPC character.
}

Engine->TaskMngr->addTask(updatePlayer, PlayerToData(Player1)); 
//we write PlayerToData instead of (void*) Player1;


/*   running the game    */
Engine->DoGame();
This example load a complete scene, set a function to control the player, and run the game.

I hope you like the idea. :wink:
bakkdoor
Posts: 49
Joined: Fri May 07, 2004 4:31 pm
Location: home

Post by bakkdoor »

sounds interesting :)
FlyHigh
Posts: 111
Joined: Wed Mar 23, 2005 12:05 am

Post by FlyHigh »

@etcaptor:

When you say 'spinEditBox' you didn't happen to mean a box with a caption (eg. Renderer) with a value (eg. OpenGL) and 2 arrows either side which when clicked cycled backwards or forwards to the next or previous option? (eg. DirectX, Software)

I made one for my project under the name of 'cGUIRotateText' (its doesn't spin as such but just cycles through the options)

If you need i'll send it, or when i get some free time i'll put it on the wiki with a tutorial.
Post Reply