Jump to content
  • Advertisement
Sign in to follow this  
argoneus

A simple 3D game library compatible with Linux?

This topic is 2198 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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.. Edited by argoneus

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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. Edited by argoneus

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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. Edited by DevLiquidKnight

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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. Edited by Karsten_

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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. Edited by Karsten_

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!