A simple 3D game library compatible with Linux?

Started by
17 comments, last by kop0113 11 years, 9 months ago
So far I have my eyes on jMonkeyEngine because it seems both easy and powerful (and works on Lee-Nukes), but, is there anything else? I'm trying to avoid C++ for now as I am a beginner >.>

Also, the game isn't first person, it's more a top-down strategy view only, so if that changes anything..
Advertisement
Being a beginner is no reason to avoid C++. If C++ really grabs you as a language, learn it.

Learn the language you like first, not the one(s) people recommend to you. Once you've learnt one programming language, additional languages are about a month for competence, three for proficiency.

So, just learn the one you like the most first.
Alright, let me rephrase it.

I don't want to deal with pointers just yet. And even if I did, I still don't know what library to go for.

Alright, let me rephrase it.

I don't want to deal with pointers just yet. And even if I did, I still don't know what library to go for.

What's so hard about pointers? They are just numbers that say where something is in memory.

I'm trying to avoid C++ for now as I am a beginner >.>


I don't want to deal with pointers just yet. And even if I did, I still don't know what library to go for.

Your going to have to deal with pointers in all computer science, they are a very fundamental part of how computers operate. I suggest you get over this fear. If you use C# which would be another good alternative while running mono on Linux your going to have to deal with delegates which is similar to pointers. Most Linux users I know, learn C or C++ though, most even know assembly.

If you like jMonkeyEngine go ahead and use it, you could even try using python with pygames.
I never said I didn't understand how pointers work, but for me it's a hassle that increases the time until I see any progress on my game, so I want something easier but powerful to begin with. If I indeed decided to go with C++, what library should I go for?

So far I have my eyes on jMonkeyEngine because it seems both easy and powerful (and works on Lee-Nukes), but, is there anything else?

There is LibGdx for example.


I'm trying to avoid C++ for now as I am a beginner >.>

Good decision.
For unix there is the open-source Irrlicht 3D engine which provides almost everything required to build a game without requiring developing or finding your own stuff (i.e model libraries).

There are multiple bindings for it if you want to use less common / exotic languages but it obviously works best using C++ (like most games developers should be using regardless of what the Unity / XNA salesmen tell you).

Irrlicht with c++ also doesn't require any memory management because it is all reference counted whereas java for example still requires resource management with things like files and threads etc...

Really.. for linux (and everything else), use C++ or you are going to be shooting yourself in the foot. most distributions dont even provide java in their repos. Just learn C++ and then you will never need to learn any other language.
http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

For unix there is the open-source Irrlicht 3D engine which provides almost everything required to build a game without requiring developing or finding your own stuff (i.e model libraries).

There are multiple bindings for it if you want to use less common / exotic languages but it obviously works best using C++ (like most games developers should be using regardless of what the Unity / XNA salesmen tell you).

Irrlicht with c++ also doesn't require any memory management because it is all reference counted whereas java for example still requires resource management with things like files and threads etc...

Really.. for linux (and everything else), use C++ or you are going to be shooting yourself in the foot. most distributions dont even provide java in their repos. Just learn C++ and then you will never need to learn any other language.


It's true that irrlicht provides a lot of features, but in the end it's only a rendering engine with some very basic collision detection built in. Irrlicht does not provide any general solutions for physics, audio, etc. and it does not support any modern features of current graphics APIs.

This doesn't mean that irrlicht is not a good choice, it definitely is a good choice for those wanting to get into game/graphics development since it pretty much has the simplest API I've ever seen in these kind of libraries, but it does suffer from some bad design decisions IMO (there's a good amount of god-classes to be found in there), and as I said, it's not a complete solution for developing games.

I gets all your texture budgets!

Agreed, (though jmonkey, and libgdx examples above also have the same issue when it comes to complete solutions).

The great thing again about C++ though is it is generally the universally accepted language for libraries so you can pick the best physics engine to add to your game, you can pick the best sound library / api for your game without needing to worry about finding a (usually less supported) binding or writing your own wrapper.
It is less likely that you will find a generic library written in java or C# directly.

So with regards to physics and collision, the Irrlicht tutorials give good examples of using newton and ODE physics in a game.

If you do want much more flexibility (which you may not want as a beginner) then I highly recommend just using raw OpenGL and some seperate libraries.

What I do find a really dumb idea is to use large engines like unreal, source or crytek's offering since not only are these closed-source but there is no way in hell a beginner can keep up with the development of them. Not to mention the massive likelyhood that they wont even exist in the next 5 years. My suggestion is to only use an engine that you know you can personally maintain from the src level and upwards.
http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

This topic is closed to new replies.

Advertisement