Making a custom game engine vs libGDX

I want to make games in java…

So, to start off with, I took a look at the different libraries I could use.
LibGDX interested me, so I took a look at the documentation, tutos, etc.

Most of the tutorials were REALLY old, and there is a book which still seems to use the older libGDX interfaces.

So i decided to make my own engine, but considering the difficulty of this, I decided to ask here first.

I have an infinite Time Period (until i die, anyway)

So, any comments…

Also some tutos on writing game engines would be nice…

EDIT: I also want to make the engine out of LWJGL,
so I can start off 2D, and later add 3D as well…

libGDX is really good, really fast, ports to many platforms with incredible ease and is also easy to use.
many many many tutorials are in fact deprecated - but overall the techniques are the same and its just easy.

I mean I dont use aaall features, you can still do thinks on your own even when using libgdx…

I did a pure Java2D/Swing custom engine from scratch for Island Forge. I don’t recommend this route. It’s hard to make Swing behave and perform well in this regard. I haven’t had time to get into the other graphic libraries, but from what I’ve seen here in the JGO Showcase, it would be well worth the time to learn libGDX/LWJGL.

On the other hand, if you want to increase your Swing-savvy for non-game projects, consider trying that first. If you learn to properly drive/render a game in Swing, you’ll become well-versed in the intricacies of the Swing architecture. Best wishes!

Documentation of LibGdx is limited and I don’t like everything I came across so far.
But with hardly any knowledge about OpenGL and minimal docs I was able to switch my game client from Java2D to LibGdx. Just yesterday I tinkered with the included particle editor and got a good result with ease. Very nice.
To be recommended.

Writing game engine or frameworks are the hardest tasks generally which I wouldn’t recommend to try without several years of practice working full time as software developer.

Then just do exactly that and grab something ready to use…

My choice is either LWJGL or libGDX…
I only want to make a Game Engine for my use…
Also, i am quite good at Swing, eventhandlers, etc, but I preffer using lwjgl over java2d, because I want to do 3d afterwards…

Usually you should just use LibGDX – in fact I would suggest using “low-level LibGDX” over LWJGL even if you want to build your engine from the ground up. Ultimately LibGDX is just a thin OpenGL ES wrapper with some added functionality.

I can only think of a few reasons for using LWJGL over LibGDX:

  • If you want to build an engine around a JVM language like Scala, Kotlin or Fantom
  • If you want to build an engine targeting specific features (e.g. geometry shaders, tessellation, instancing, etc)
  • If you want to build a utility library without the dependency of an entire platform (e.g. SlickUtil, YUNPM, etc)
  • If you want to learn by reinventing the wheel

Hi

LibGDX/JOGL is a good option. I spent several years in writing my own 3D engine, I learned a lot of things but I don’t recommend this route. It is a pure waste of time if you’re not patient, it is only interesting for pedagogical purposes, there are a few chances that you will write the next “big thing” alone.

I suppose the question is, do you want to write a game or an engine? If you haven’t written any games, you probably don’t have the requisite experience to write an engine.

A game engine is just reusable code. You can’t invent reusable code - it has to be extracted/derived from one or two actually working games. Don’t write game engines, write games.

Nope. Use what we have. That’s how humanity got so far, and that’s how we’ll progress.

Well, under Linux. ::slight_smile: No! We’ll make our own solution to every problem presented! I give you: Objective-C. Jesus Christ on the cross.

[quote]- If you want to learn by reinventing the wheel
[/quote]
Yep, I want to do that…
Well more like making A new wheel ;D

IHMO: You’re better off learning how to roll a wheel and the properties of various kinds of existing wheels before running off and attempting to create a better one…otherwise you’re likely to end up with a 1/3 completed, 20 ton wheel that’s square.

But then you can go on to figure out what went wrong, and make a heavier wheel, with MOAR CORNERS!

Cas :slight_smile:

I really agree that libgdx isn’t well documented. It’s changing rapidly. Even until now I can’t deploy the applet on version 0.9.6 with same code that I use on previous version of the lib. Mostly because all tutorials are for older version and the writter didn’t update it. However among that olds, I recommence this.

Yep, I want to do that…
Well more like making A new wheel ;D
[/quote]
I have worked some years on a few new wheels. You can do that if you’re really knowledgeable in maths and algorithmic, it’s a big challenge.

libgdx has TONS of documentation that is up to date.
You guys are killing me. We have…

So, please, stop the insanity! You still have to put in some effort to learn the library, but there is a wide range of ways for you to learn and get help.

It is true there are some third party tutorials that are out of date. Likely they can still be useful, otherwise there should be plenty of material on the official site that is not out of date to keep you busy.

Sure, not every single thing is documented, but a large amount is and for that which isn’t, you have the forums, IRC, example code, and the library source at your disposal. We opened up documentation to the world and saw an unsurprising influx of almost no one who wanted to write anything. So, before you complain, consider writing some documentation yourself.

I think that link to the video tutorials is outdated(just started learning libGDX.)
'Cuz it uses JOGLApplication, but the nightlies ship with LWJGL stuff. Maybe you can download it separately, I don’t know
Don’t yell at me, I’m a noob ::slight_smile:

People looking for documentation are supposed to write it?

I don’t think it’s that poorly documented, really, though it does have some rough spots, like scene2d. Still, between the samples and tests, it wasn’t really that hard to figure things out.

They are actually decaprecating the JOGL backend. I think it’s because LWJGL gives you the ability to ship as an applet.

Ah yes, that’s what I thought.