irrlicht Client
  • I'm new so first a little background. I'm A Computer programmer by trade although I have networking background as well. I have wanted to make or be part of an MMORPG for as long as I have known what a MMORPG is at least. Mostly I think because I wanted a truly fun game to play that would last and I figured my choices are wait for someone else to do it or take an active role.

    Anyway now to the point. I was wondering if there are any technical barriers preventing someone from using irrlicht to make a client. I noticed one uses Ogre which makes me think it is possible but I want some direction before I set off down a path leading to a dead end.

    I did a search on the forum for "irrlicht" and came up with nothing so as far as I know this hasn't been attempted yet.

    So now for the big question why? Well I know that making another client would mean repeat work and the people working on the other clients likely have more game coding experience than me However I believe irrlicht has some advantages over from scratch engines or Ogre. Irrlicht is extremely easy compared to what I have seen of other engines. Also it has a built in GUI system so CEGUI wouldn't be required. As a matter of fact as far as I know add in OpenAL, Lua, and Atlas and you would be well on your way to a usable client. I realize that the above is harder than I just made it sound but it seems worth doing to me.
  • Hi, we've actively designed the component stack so to encourage many different types of clients. As you've seen Ember is using Ogre, Sear is using OpenGL, Silence uses gtk, cycmd uses text output. So there's nothing really preventing you from using Irrlicht in a client. There is however a lot of work involved, and one thing that might not be apparent right away is how to provide and handle media. Our current media is pretty much focused on Ogre, providing Ogre meshes and materials. However, all of the source media is in standard formats (the models are mainly in Blender formats) so it's not impossible to provide Irrlich loadable data from it. It's however quite a large task and that's something you will have to do yourself, at least in the beginning.

    Regarding the advantages of using Irrlicht over Ogre I can't comment since I've never used the former. In some sense Ember is designed to be to some degree separated from Ogre, so the base framework and services don't have any Ogre dependencies. However, the main bulk of the Ember code is Ogre specific (all rendering and gui). Nevertheless there's hooks and support there for dropping in another renderer (which would then go into "src/components/irrlicht").
  • First off thank you for your kind and informative response. I started working on the client and although I haven't worked on it allot everything is pretty smooth so far of course it always is in the beginning. :-)

    As for loading Ogre meshes that isn't a problem Irrlicht can load them directly same with 3d studio meshes.

    Materials may be a different story.

    At the moment I haven't even tied in to atlas or Eris though so I'm more concerned about mechanics than appearance at this point. Don't want to shoot too high on my first pass I might discourage myself. :-)


    So I'm basically only presenting the user with a login screen where they can enter their username & password which is then passed to a login function that currently just changes game state without making a server call to authenticate. Oh and I'm currently loading a sample irrlicht scene in the background to make the login screen cooler. Most games I have played do something like this for the setup and set down sessions.

    It's not much but its a start.

    Thanks again for your time.
  • Hi, you should really come on irc, where most developers hang out: http://worldforge.org/doc/irc
    I'm not sure if I follow what you meant by Ogre meshes not being a problem: can Irrlicht load Ogre meshes directly?

    Before you go any further I just want to make sure you understand how much work it is creating a completely new client, and also that you understand the goals of the project. We're not trying to create a game per se but are instead more focused on creating underlying basic technology for virtual worlds. This is why we're working on both servers, protocols and clients. We do have our template world, moraf, but that's just a demo world. So all our efforts must be really generalized to be usable in many different settings. This makes every new functionality quite a bit more complex than if we just had designed it for a certain game or game type (a WoW clone for example, or a Second Life clone).
  • With regards to Ogre meshes yes Irrlicht can load Ogre meshes directly. Take a look at the features section of the project site. It is really pretty impressive at least I think so. http://irrlicht.sourceforge.net/features.html

    As for the amount of work require to make a new client. I'm well aware that it is a rather large undertaking but it is something I would have attempted anyway but this way if I get it to a semi usable state others can benefit from the work. Also I'm planning on using as much code as possible from ember. However I'm using the built in Irrlicht functionality for everything possible such as graphics, collision(simple client side to counter lag), GUI, and events(keyboard, mouse, gui). So that necessitates creating a pretty large chunk of new code. Hence brand new client instead of plugin/extension of an existing one.


    I realize the project goal is not really a game but I'm hoping some good games come out of it. I'm hoping once this project gets far enough along projects will crop up creating fun and interesting games using the world forge code & assets. As a matter of fact that is why I'm interested in this project. Because it is not limited to one style of game play.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Google Sign In with OpenID