Irrlicht Game Engine

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
Jedimace1
Posts: 16
Joined: Fri Aug 01, 2008 12:59 pm

Irrlicht Game Engine

Post by Jedimace1 »

Hello. I am going to create a game engine using Irrlicht as the rendering engine. I want to know the best way to go about this. Should I just build my engine right on top of Irrlicht, or should I modify the actual source? If I should mod the source, can someone show me some material to help me understand? Whatever I do, I want it to use the Irrlicht project configuration, so I want to add all the files into Irrlicht's project, also resulting in letting users access the Irrlicht graphics engine. I plan to use Newton for physics, OpenAL for sound and to create our own networking library. I am making this project Open Source, so if you want to help, contact me and I will add you to the source forge project. Can someone help me with how I should implement my game engine?

-Jedimace1
Image
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

Well, if you did that, it wouldn't be your game engine. It would be mofications of the Irrlicht engine.

I had an idea of making a drag-and-drop style game engine such as Blender, but more high level like the commercial engines. (will attempt). That would be my own binary game engine, but if I were to add a few files to Irrlicht and then put it up to download, that would be Irrlicht with my modifications.

That's how I see it, anyway. I think the rest would as well.
Josiah Hartzell
Image
roelor
Posts: 240
Joined: Wed Aug 13, 2008 8:06 am

Post by roelor »

It would still be his game engine as irrlicht is only a render engine. I would change te irrlicht libary to make it work together with the game engine more quickly, Remove functions the game engine doesnt use (comment it or something.), then write a dll to do all the collision checking (or use an existing) and make another dll for other functions.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

If you start editing the library code you'll immediately start losing ways to update to new Irrlicht versions etc. Better watch for separation of concerns and apply proper patterns. This will simplify your life and it's definitely just yours.
Eigen
Competition winner
Posts: 375
Joined: Fri Jan 27, 2006 2:01 pm
Location: Estonia
Contact:

Post by Eigen »

Before you start writing your game engine, please read the Write Games, Not Engines article. I think it makes a great point.
Most hobby developers who “finish” an “engine” that was designed and built in isolation (with the goal of having an engine, not a game, upon completion) can’t ever actually use it, and neither can anybody else. Since the project didn’t have any goals, any boundaries, or any tangible applications, it essentially attempted to solve aspect of the chosen problem space and consequently failed miserably. These “engines” tend to be little more than an inconsistent and messy amalgamation of random functionality that isn’t terribly practical, robust or reusable.
Ask yourself, do you really need to write a game engine. There are thousands of those out there, what would make yours stand out? Otherwise you are wasting your time that would've been better spent on writing an actual game.

I'm not trying to crush your idea, so sorry if this sounds too harsh :)
FuzzYspo0N
Posts: 914
Joined: Fri Aug 03, 2007 12:43 pm
Location: South Africa
Contact:

Post by FuzzYspo0N »

there are also a good number of "engines" written with the exact same specs as you mentioned. implementing something like cAudio, newton (through irrphysics or something) and either way, there is a good handful of these "engines" already much further then you could hope for.

I agree FULLY on the create games not engines view
JP
Posts: 4526
Joined: Tue Sep 13, 2005 2:56 pm
Location: UK
Contact:

Post by JP »

Yeah i would say a game engine should be built in tandem with an actual game that's going to use it. If you just build the engine on its own then you're probably not gonna finish it for a long time and you won't exactly know what needs to go into it maybe. If you build it alongside a game then that helps drive the engines development as you'll know exactly what needs doing to get the game going (though of course you may want to think about what different genres of games would require too so you don't end up with an engine specific to the genre of the game you're making, unless that's something you want to do of course!)
Image Image Image
Jedimace1
Posts: 16
Joined: Fri Aug 01, 2008 12:59 pm

Post by Jedimace1 »

I have written games before, using Unity 3d. I have heard this many times before too. I think I am good enough to put my skills together into an engine. After all, I plan to use Irrlicht, Newton, and OpenAL, which will make it extremely easy. I plan to design it for a list of games I want to work on, so I should be fine preparing it for what I need. Just need a little help getting started. I have another question, however. If I did use Irrlicht and seperate them, would I make it so you compile the Irrlicht source by downloading the engine, or just include an Irrlicht DLL for each platform? I have a Mac I'd like to run my game engine on, part of the reason for making one. Pretty sure I want to make a game engine, it's me and 2 people and I have messed with game engine architecture before.
Image
Jedimace1
Posts: 16
Joined: Fri Aug 01, 2008 12:59 pm

Post by Jedimace1 »

Plus, I am fairly sure I have looked through every decent game engine there is and none of them are what I want. Just skip the convincing to stop part, please? =)
Image
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

What are your requirements?
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Jedimace1
Posts: 16
Joined: Fri Aug 01, 2008 12:59 pm

Post by Jedimace1 »

That sounded bad. But I guess I you guys are making sense. I still want making my own engine to be an option, but I will re-evaluate. Will let you know what happens. I was going to make networking, physics, and sound to integrate with Irrlicht but I don't know exactly what is going to happen here. I found some stuff already ready to integrate with Irrlicht, like IrrSound and RakNet, which I would willingly buy the licenses for.
Image
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

And good luck to you. We really are trying to help by prompting you to examine exactly what you intend to achieve, and why, rather than focusing on the how. The easiest mistake to correct is the one that you avoid making.

Writing an engine is great fun, and a good learning experience, but it's mostly learning what not to do. But (IME, and I fully agree with the article linked above) it's vanishingly unlikely ever to be used for anything beyond its own tech demo.

Sure, there are engines out there that get used. But the point is: they already exist. So what would be unique about yours? I mean, in specific, concrete terms. Everyone starts out to write an engine that's (e.g.) "easier to use" than all previous ones. The question is how exactly will your engine allow users to be more productive?

Of course, if you're just doing it for fun, then ignore us and just dive in. "Have fun" is an easy requirement to satisfy. :)
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Jedimace1
Posts: 16
Joined: Fri Aug 01, 2008 12:59 pm

Post by Jedimace1 »

You only get out of it what you put into it. No matter how hard it maybe, if I work really hard, I should end up with better results. I need to make a good decision, and I don't think I want to stick with either option, or even the option of professional engines, which is very possible for me. I was considering C4.
Image
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

Jedimace1 wrote:No matter how hard it maybe, if I work really hard, I should end up with better results.
A promising career in middle management awaits!

There's an old[1] Scots saying: if ye dinnae hae a map, hoo dae ye ken ye're no heading fur Falkirk?

[1] Well, I wrote it before you read it.
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

Post by MasterGod »

Knowing what you need to have could help you decide what you should do.
I recommend making a list of the things you're planning for the beginning, first versions (and be modest).

You can trust me, writing, or at least trying to make a game engine is a lot of fun. I know that I've learned a lot from working on mine which I'm now starting from scratch (for other reasons which I won't bore you with) but when you loose yourself while working you can sometimes spend your time on unnecessary features - don't do that.

An important lesson I've also learned is that thinking "Oh I'm just combining many other libraries which does all the hard work for me so my part is easy, how hard can it be? I'm good enough, I can make it and make it good." - thinking like that isn't the right way.
Its hard to explain but know that using many other libraries creates troubles from configuring stuff to making it portable to make it easy for the user to switch for his audio module (for example) of his own, and don't forget licensing, you need to comply to them all.
Having a lot of great libraries is nice, but when making something like an engine, a Game engine is more than just having a lot of libraries in your arsenal, it means making it modular and generic for multiple purposes and different game genres.
Also think about this, as no one expect you to write a wrapper for Irrlicht your engine users must know a thing or two about Irrlicht and if you don't wrap your other libraries they must learn even more, expect your own API.

A game engine is kind of an operating system of a game if you think about it.
Are you ready to develop this operating system?
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
Post Reply