Irrlicht Game Engine
Irrlicht Game Engine
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
-Jedimace1
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.
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.
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.
Before you start writing your game engine, please read the Write Games, Not Engines article. I think it makes a great point.
I'm not trying to crush your idea, so sorry if this sounds too harsh
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.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.
I'm not trying to crush your idea, so sorry if this sounds too harsh
-
- Posts: 914
- Joined: Fri Aug 03, 2007 12:43 pm
- Location: South Africa
- Contact:
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
I agree FULLY on the create games not engines view
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!)
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.
-
- Admin
- Posts: 3590
- Joined: Mon Oct 09, 2006 9:36 am
- Location: Scotland - gonnae no slag aff mah Engleesh
- Contact:
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
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
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.
-
- Admin
- Posts: 3590
- Joined: Mon Oct 09, 2006 9:36 am
- Location: Scotland - gonnae no slag aff mah Engleesh
- Contact:
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.
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
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
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.
-
- Admin
- Posts: 3590
- Joined: Mon Oct 09, 2006 9:36 am
- Location: Scotland - gonnae no slag aff mah Engleesh
- Contact:
A promising career in middle management awaits!Jedimace1 wrote:No matter how hard it maybe, if I work really hard, I should end up with better results.
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
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
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?
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?