irrlicht/ogre3d vs unity/shiva

Started by
13 comments, last by nfries88 13 years ago
Hello,
Ive been reading around and playing with various engines. Ive even considered SFML or SDl; however, its probably time for some input.

I have two aims, first and foremost I want to showcase my 3d graphics in an interactive setting with some kind of games industry standard. Second I want to make a turn based 3d galcitic civ / freelancer rpg, at least that's the idea for now. I'm in a BA philosophy but I'm also currently taking as many computer science courses as i can which will amount to almost all my option credits, essentially a second minor. This is my impasse: from what i can tell I have three options (excluding building from openGL, or DX) and I dont know which is 'best'. Where I go when I get here is up in the air, but I have no delusions of applying to the bioware here and working on mass effect 3 or 4 with just a portfolio of art and an indie game. Also, Im not and dont want to be a game designer, I just want to be a game artist who knows enough about whats going on to be a contributor past artwork, and to ensure that my artwork, works.

Unity/Shiva. Unity is much easier and loads assets in a fraction of the time, so i can see it being the common recommendation. ShiVa PLE is better looking and to get it to market costs ~200 bucks. Shadows are a killer for a space sim, just sayin. Anyway, there are other options in this vein like c4 or other 'engines' with cheap indie licenses, so features aren't a primary concern. The reason this is a single option is that they give the user a locked in yet complete set of tools for making a game, like a game in a box. . . sorta.

Irrlicht/Ogre3d. I like Irrlicht because it just seems to look better in the end. But again features arent the concern here. These two are like the mid range engines. Not a game in a box or WYSIWYG, but still not completely off the leash. Seems like a solid foundation for making a game they way I want and learning ins and outs as I go. But lots of ground to cover before i get to even start setting up a large game.

SDL/SFML. Again features notwithstanding, this is the library route, take some libs and mash them together into my game. Tons of freedom, greatest amount of learning, but my end result will inevitably suffer.

My approach will be to establish modular tech demos for different aspects of the game, set up the combat system with ship visuals and mechanics so that I can plug in combat where I need it. World, home base / territory, and leveling systems will each be modules. Ill build them one at a time from a design doc. Each one will start small connecting them from the beginning and Ill be checking the connection as i build on their complexity.

I really hope Im not coming across as another out of the blue "hey Ill make a game" person. The thing is I have a large chunk of my assets and the skills to quickly build more, but Ive seen extremely skilled, AAA quality, artists labor in obscurity. Why I think this is, is that they just have impressive artwork, built for a niche, and nowhere to go. Essentially, I want to build somewhere to go and diversify my skill set while I'm at it. Where I'm at with this is Ive done the unity SHMUP, messed with ShiVa (model loading and assets handling kills this engine IMO), toyed with irrlicht (got the demo up and running, gone through some tutorials), built SDL tic tac toe, and made a few command window text games in class. Essentially Ive sampled from everywhere I can think of except directly building an engine with openGL which i understand to be a waste.

The questions: what is you advice? which option seems to fit best with a portfolio piece, indie game, do I take the easy way and use unity, or will irrlicht give me a super shiny looking game in the end? Maybe I'm underestimating the library route?

Thanks.
Advertisement
I would personally go with Ogre (which is different from irrlicht - I am sure you know this ;) )

It has a massive community and tons of samples/examples. If you post a question on the forums, you could almost be that you will have a response in under ten minutes and most of the time that same response has the correct answer. B)
In contrast to Lonewolf, I'd actually go (and did go) with Irrlicht. I've worked with Ogre3D and Irrlicht, though I can't say anything about Unity3D or Shiva, but from my experience, it's easier to get something running nicely on Irrlicht, then it is on Ogre. I felt that for Ogre I had to do quite a bit more to get something working, and from what I can remember, Ogre doesn't offer basic collision detection, where as Irrlicht does.

In the end though, it's a matter of personal preference more then anything else.
Ive looked into the ogre/irrlicht option some more and Im confused about world building. I realize that this is a general issue when going the coding route. I was hopping someone could point me in the right direction.

I guess what I need to know is how to instantiate objects into a world, and possibly how I instantiate the world itself. I can do it with something simple where everything fits onto the screen like a SHUMP or small arcade game. But I would really like some help getting going with building an expansive and extensible world. Any guidance is greatly appreciated.

Ive looked into the ogre/irrlicht option some more and Im confused about world building. I realize that this is a general issue when going the coding route. I was hopping someone could point me in the right direction.

I guess what I need to know is how to instantiate objects into a world, and possibly how I instantiate the world itself. I can do it with something simple where everything fits onto the screen like a SHUMP or small arcade game. But I would really like some help getting going with building an expansive and extensible world. Any guidance is greatly appreciated.




What aspect of world building are you thinking about? And it's different for both Ogre and Irrlicht, so you'll have to compare the two and make a decision on which one to use before starting to think how to instantiate things. Additionally, I would go through some tutorials first to get to know the engine. Most of what you asked you can derive from those.
I started using Unity recently and I really like it. The IDE is really well-built and it's great that you can do your scripting in C# or JavaScript. I haven't tried the other engines you mentioned so I don't really have a basis for comparison but I recommend giving Unity a try. This guy has some good tutorials:

I tried both: irrlicht and OGRE.
Irrlicht is really easy in a few days I was able to create simple 2D clicker game, but for 3D graphics I assume that it is awkward.
Then i switched to OGRE and I found it excellent for 3D graphics - there is a lot of examples, tutorials and frameworks and I think it is better for commercial games and applications.
There are also ports of Ogre to all platforms (PC, Mac, Linux, X360, iPhone, Android) and a great community!
I create cool-looking Graphical Installers in NSIS:
http://unsigned-softworks.sk/installer
http://unsigned-softworks.sk/en/images/gallery/solutions/solution_1.jpg
http://unsigned-softworks.sk/en/images/gallery/technical/technical_1.jpg

(excluding building from openGL, or DX)


Why?

If you're looking for a portfolio piece to show off to a game company, or to get hired with, they aren't going to want to see what you can do with a full-blown off-the-shelf game engine like Unity or UDK. Those full game engines are doing ALL the work, and really what you are showing off is your artistic ability, not your ability do develop games.

I find writing OpenGL to be cleaner and easier than Ogre3D. I haven't personally tried Irrlicht, but I believe a lot more work has been put into Ogre3D, and I posted a poll a few weeks ago and most people voted Ogre3D over Irrlicht.

Not to mention NeHe posted excellent tutorials on OpenGL. They are very easy to understand, and to go in your own direction and get started on your own projects, based on what NeHe's examples.
You should at least try OpenGL or Direct3D once in your life. Actually you should try them all the time, no matter if those tries are complete failure for you and you continue to return to those engines, crying. :)
Eventually at some point you will feel like you actually understand those APIs and feel comfortable and free with them. You will start to question certain implemenation details and approaches in the full blown engines, and at the end you will scrap them and start your own engine the way you like it. At that point only the sky is the limit.
In fact, if you want to make a game for some reason NOW no matter what, use engines. If you are just interested in 3D graphics and could deducate time and effort - start learning lower level API. You will eventually go further and the programing experience that you'll gain durring the learning process will be priceless for writting the game itself. If you can write reasonably complex 3D graphics using low level API, you most probably could write reasonably complex gameplay and stuff.
Otherwise , you culd spend your life using other people work and fool yourself your are a professional game developer, no matter how good the results look and how fast those results are achieved.
I just wanted to tell you- try some OpenGL / Direct3D examples first. Some of them are even more simple and good looking than setting an Ogre development environment and creating a game loop.

Otherwise , you culd spend your life using other people work and fool yourself your are a professional game developer, no matter how good the results look and how fast those results are achieved.
I just wanted to tell you- try some OpenGL / Direct3D examples first. Some of them are even more simple and good looking than setting an Ogre development environment and creating a game loop.


Can't quite agree with what you say. High level abstractions such as 3D Graphics Engines are able to abstract away a lot of the often more difficult details of how OpenGL or DirectX work. To learn how to build games with OpenGL is definitely important, but I'd say it's also something that you'd do after you know how a game works, not before. Otherwise you're just making it much more complicated for yourself.

This topic is closed to new replies.

Advertisement