Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (480)
Games in Android Showcase (110)
games submitted by our members
Games in WIP (547)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Switching from LibGDX to LWJGL good choice?  (Read 2502 times)
0 Members and 1 Guest are viewing this topic.
Offline Slyth2727
« Posted 2013-08-12 01:44:25 »

Alright I have kinda struggled to understand how to do many things with LibGDX. There simply just aren't many resources of information for it, other than looking at the source code which doesn't do much for me because I don't know what I should look at if I want to do anything. I have, however, really enjoyed using libgdx so far because of it's simplicity. I have heard that you can do everything, and more, than LWJGL with LibGDX and if I used LWJGL I would really just be re-writing what libgdx already does but because of the lack of available tutorials and stuff I'm rather torn Tongue.

From what I have seen, if you would like to go 3D and have lots of resources for information e.g. tutorials and web pages for it you should use LWJGL. Am I correct? Should I, for a while, switch to LWJGL to get an idea of the low level stuff? What's your opinion? Would I have it easier if I had a different thought process to looking at the libgdx source code? Should I check out X webpage? Or should I go the harder way (LWJGL) but have more tutorials available to me?

Thanks
-cMp

Was I before Chuang Tzu who dreamt about being a butterfly, or am I now a butterfly who dreams about being Chuang Tzu?
Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #1 - Posted 2013-08-12 01:56:03 »

This strikes me as a bit odd since I've found that there's much more tutorials and references out there for LibGDX than any other Java gaming framework/library I've checked out.

The API of LibGDX is quite well-documented, for starters. If you don't find your answers there, you're bound to find something by Googling unless what you're asking about is really obscure. stackoverflow.com alone has a lot of previously-asked questions re: LibGDX that covers a lot of ground. If all else fails, creating a thread here will usually help as there are a lot of other Java game developers currently using LibGDX.

Offline Slyth2727
« Reply #2 - Posted 2013-08-12 01:57:33 »

Yeah I've created some threads, but I'm afraid of people getting irritated with me about posting a million threads...
I'm also trying 3D and that's where the tutorials are very far and wide.

Was I before Chuang Tzu who dreamt about being a butterfly, or am I now a butterfly who dreams about being Chuang Tzu?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #3 - Posted 2013-08-12 02:02:43 »

Yeah I've created some threads, but I'm afraid of people getting irritated with me about posting a million threads...
Well... as long as you've done your homework (looked at the API, googled extensively) I think creating threads will be not necessary very often. But if you still don't find what you're looking for after doing the research, creating a thread should be perfectly acceptable.

I'm also trying 3D and that's where the tutorials are very far and wide.
Ah, yeah, this might be the problem... I see much more 2D projects than 3D projects so maybe that's it.

Offline Slyth2727
« Reply #4 - Posted 2013-08-12 02:05:57 »

Cool.

So the best way to go would be LWJGL?

Was I before Chuang Tzu who dreamt about being a butterfly, or am I now a butterfly who dreams about being Chuang Tzu?
Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #5 - Posted 2013-08-12 02:12:47 »

I really can't say as I only have several months of game dev experience, and only with LibGDX used for a 2D game Cheesy

Take note though that LibGDX is built mostly on LWJGL iirc.

Offline Slyth2727
« Reply #6 - Posted 2013-08-12 02:14:05 »

Yeah that's what I was thinking. It's built on LWJGL so shouldn't it be easy for the devs to port over some lwjgl tutorials as they know which methods call with lwjgl/opengl methods?

Was I before Chuang Tzu who dreamt about being a butterfly, or am I now a butterfly who dreams about being Chuang Tzu?
Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #7 - Posted 2013-08-12 02:14:29 »

I would say use what you can make work.

If you have a project and can find tutorials for it that helps you accomplish it better in LWJGL than LibGDX, then by all means go for LWJGL.

Offline Slyth2727
« Reply #8 - Posted 2013-08-12 02:15:20 »

Sweet, that's where I'm going now Smiley you should see some 3D terrain gen stuff on here soon by me! Thanks for the advice

Was I before Chuang Tzu who dreamt about being a butterfly, or am I now a butterfly who dreams about being Chuang Tzu?
Offline Jimmt
« League of Dukes »

JGO Kernel


Medals: 128
Projects: 4
Exp: 3 years



« Reply #9 - Posted 2013-08-12 03:20:22 »

Good to learn lwjgl, but I'd say keep the libgdx architecture and just embed lwjgl code into it Smiley
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline davedes
« Reply #10 - Posted 2013-08-12 03:43:12 »

I answered this in another related thread:

LWJGL is bare-bones. It's just a wrapper around OpenGL rendering and a window or fullscreen display. If you want to develop a game, you will need to pretty much write all the things that LibGDX has already implemented for you. A very short list, to give you a broader idea of the challenge involved in "pure LWJGL/OpenGL" gamedev:

- Vector math (LibGDX uses JNI)
- Image and sound decoding
- Sprite batching, shader utilities, and vertex utilities
- 2D GUI toolkit (this in itself is a huge undertaking)
- Asset management and dependencies (also very complex)
- Font rendering/parsing
- 3D scenegraph and shader management (LibGDX's 3D api handles this)
- Camera, texture, input, and various other utilities

On top of all that, LibGDX implements this for far more platforms than LWJGL, allowing you to port it easily if needed.

So, I would recommend to stick with LibGDX. Whether you want to use pure GL calls, or make use of LibGDX's utilities like ShaderProgram and Mesh, or even take a higher-level approach and use the new 3D API and shader managers, any choice would be more suitable than pure LWJGL.

Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #11 - Posted 2013-08-12 03:50:45 »

So, I would recommend to stick with LWJGL.
You mean, stick with LibGDX? Smiley

Offline pploco1996

Junior Member


Medals: 2
Exp: 1 year



« Reply #12 - Posted 2013-08-12 04:16:33 »

Having problems finding LibGDX tutorials?

There you go: http://www.youtube.com/user/dermetfan
                    http://www.youtube.com/user/doctoriley

 Wink
Offline Slyth2727
« Reply #13 - Posted 2013-08-12 04:31:49 »

Thanks for the answers guys! I think though, despite what you said I'm going to learn some LWJGL for a while just to get the underlying concept to all the stuff LibGDX does for me, and after that return to LibGDX with a new sense of what I need to do to create 3D stuff so I can just look it up in the source.
Having problems finding LibGDX tutorials?

There you go: http://www.youtube.com/user/dermetfan
                    http://www.youtube.com/user/doctoriley

 Wink

 Already seen em Wink. Thanks though!

Was I before Chuang Tzu who dreamt about being a butterfly, or am I now a butterfly who dreams about being Chuang Tzu?
Offline HeroesGraveDev

JGO Kernel


Medals: 244
Projects: 11
Exp: 2 years


┬─┬ノ(ಠ_ಠノ)(╯°□°)╯︵ ┻━┻


« Reply #14 - Posted 2013-08-12 05:10:03 »

Yes.

Offline Nate

JGO Kernel


Medals: 145
Projects: 4
Exp: 14 years


Esoteric Software


« Reply #15 - Posted 2013-08-12 07:30:35 »

Take note though that LibGDX is built mostly on LWJGL iirc.
libgdx can run on the desktop (and other platforms) without LWJGL, so it is not built on LWJGL at all. libgdx has 6 official backends and LWJGL is just one of those. If you want to target the desktop, you can use the LWJGL or JGLFW backend. Both of these are just used to access OpenGL from Java and related tasks (windows, input events, etc). The LWJGL backend has ~6k lines of code. libgdx has ~1 million lines of code (including stuff like box2d).

Offline heisenbergman

JGO Coder


Medals: 14


L___ o_ G___ a__ P___


« Reply #16 - Posted 2013-08-12 07:37:20 »

Thanks for the clarification. Apparently, I didn't recall correctly Tongue

Offline Redocdam

Senior Member


Medals: 17



« Reply #17 - Posted 2013-08-12 17:27:43 »

Fight The System! Use Pure LWJGL!

I actually have nothing against engines or libraries and even suffer from engine-envy now and then. Which to use is a matter of how you learn and how deep do you want to go. Do you want to take the blue pill and live an easy life, or take the red pill and live in a world of hell.

I've been developing a 3D project using LWJGL only (not even using their maths) for quite a long time. You seem pretty set on using LWJGL, so here's some heads up things:

-It's going to take a long time.
-It will take longer than you think.
-No really, it's going to take much longer than you initially expect.

It'll break your will and kill your motivation before you even get to render a simple cube. Be warned, after you get that first RGB triangle to render, you're now on borrowed time. You'll spend your days chasing that same high you got from the first triangle, only to find you've gone a month without any visual results. This isn't something you just "do for a couple months", since it'll take a couple months before you even get a simple camera able to look at a 3D object.

It's not that the concepts are that difficult. It's because you'll spend so much of your time creating things you need in order to just do the basic operations. Davedes has already listed a couple of those things for starters.

Aside from the time it takes to accomplish the basic functions, you'll also find there isn't a lot of information for creating everything from scratch for a Java 3D engine. A lot of examples will be done in a C language. But really most of it is understanding the concept and the individual syntax is less important.

Despite seeming negative about going this route, I'm not. I just want to emphasize how much of a marathon this is. It's not about difficulty, it's all about endurance. You'll need a lot of it.

The end result is amazing however. You'll have a greater understanding and won't even need to dodge bullets anymore.

So by all means do it, just be aware of what you're getting yourself into.
Offline Simba Productions

Senior Newbie


Medals: 1



« Reply #18 - Posted 2013-08-12 18:21:57 »

I program using model opengl (4.x with 3.x shaders) using LWJGL.

Creating your first big game/ useful game engine is a long and grueling process, but it is also very rewarding.

In terms of the game you create, it will take you a long time of learning and a ton of code to create a game that even closely compares to the things you can probably make easily in LibGDX, so it all depends on where you want to take yourself.

If you just want to work on games and focus on the higher aspects of the game (the characters/storyline) then don't bother going to LWJGL it would not be worth it for a long time, but if you want to simply learn more about programming, are very interested in game mechanics, and if you like math/physics then LWJGL can teach you a lot and once you get over the steep learning curve it can become very rewarding.
Offline gouessej
« Reply #19 - Posted 2013-08-12 22:18:44 »

Hi

Which to use is a matter of how you learn and how deep do you want to go.
You should wonder how far you want to go as I explained here. I agree with Redocdam, don't underestimate the amount of nice things put into LibGDX and the amount of time to do even 5% of that by yourself with a raw Java binding for the OpenGL API. I have never used LibGDX for 3D, its 3D API is less mature than existing 3D engines written in Java but maybe it is worth a try. Anyway, if you succeed in learning OpenGL in Java, if you understand the basic concepts of computer graphics and OpenGL itself, you'll feel more comfortable with all middle and high level APIs using them.

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

atombrot (24 views)
2014-08-19 09:29:53

Tekkerue (23 views)
2014-08-16 06:45:27

Tekkerue (22 views)
2014-08-16 06:22:17

Tekkerue (12 views)
2014-08-16 06:20:21

Tekkerue (19 views)
2014-08-16 06:12:11

Rayexar (57 views)
2014-08-11 02:49:23

BurntPizza (37 views)
2014-08-09 21:09:32

BurntPizza (29 views)
2014-08-08 02:01:56

Norakomi (36 views)
2014-08-06 19:49:38

BurntPizza (66 views)
2014-08-03 02:57:17
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!