Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (799)
Games in Android Showcase (237)
games submitted by our members
Games in WIP (865)
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  
  Does using a library still expand one's abilities in general game-development?  (Read 3443 times)
0 Members and 1 Guest are viewing this topic.
Offline AvivC

Junior Devvie

Projects: 1

« Posted 2014-03-15 18:16:46 »

Soon I'm going to start using an external library to develop my 2D games (instead of the Swing and Java2D libraries).

My question is:

When using a common library (such as LWJGL, but not only) - Does one still expand his knowledge and abilities in general game development?

I fear that once I start using a library such as LWJGL, a lot of the knowledge I'll acquire while developing games, won't be relevant outside of the library.

I want to constantly advance and become better as a game developer. Studying a library and spending hours developing, only to discover it hadn't made me a better developer overall, is something I fear.

So - Will using an external library to develop my games still allow me to constantly learn new things and expand my abilities - in general game development? (Meaning the experience and knowledge I'll gain while developing will also be relevant outside of the specific library). Are there specific libraries I should avoid, libraries that developing with doesn't allow you to truly become better in general game development?
Offline Opiop
« Reply #1 - Posted 2014-03-15 18:21:30 »

LWJGL is just a graphics library. Trust me, graphics will become the least of your worries one day. Game mechanics are much harder to implement depending on what kind of game you have, and mechanics generally don't differ from library to library.
Offline LiquidNitrogen
« Reply #2 - Posted 2014-03-15 18:22:55 »

even if you were using a full game engine you would have to learn a lot about making games, to actually make something good. a library is just a way to make all the basic stuff work so that you can concentrate on your game design. you will always be learning something new.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline JVallius
« Reply #3 - Posted 2014-03-15 18:23:11 »

Ability to design games has nothing to do with libraries you use. So yes, you will level up no matter what you do or what you use.

Offline dot_Sp0T

Senior Newbie

Medals: 1
Exp: 4 years

« Reply #4 - Posted 2014-03-15 18:29:27 »

As already said you will level up no matter what. At least AS long AS you keep up doing stuff.

For the external libraries question: Programming is 80% being imaginative and 20% knowing the libraries. Programming is using libraries of functions that other people wrote (Unless you're hacking hex of course..).
Offline HeroesGraveDev

JGO Kernel

Medals: 383
Projects: 11
Exp: 4 years

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

« Reply #5 - Posted 2014-03-15 19:07:53 »

Unlike most libraries, LWJGL teaches you things that can be applied outside of it, and even outside Java.

OpenGL is a common API, and in fact by not using LWJGL you are restricting yourself to Java2D

Offline Slyth2727
« Reply #6 - Posted 2014-03-15 21:05:13 »

As others said before me, it's just a graphics library.
I'm using jMonkeyEngine for my current game, and I'm actually hardly using the library. It would be relatively easy to port it to LWJGL, because it's one of those games that is actually mostly logic. So I could take the exact same code -(the rendering code) and use it with a different library.
Offline kutucuk

Senior Devvie

Medals: 5
Exp: 3 years

« Reply #7 - Posted 2014-03-15 22:30:32 »

As a person who knows Java and took a step to LibGDX, I can say most of the stuff actually relies on your Java knowledge, not your library knowledge.
To be honest, there are lots of ready-to-use codes for certain tasks. For instance, if you look for "the most efficient way to render in Java", you'll find some pages. Same goes for any other concepts like collision detection, path finding, score keeping etc.
Don't take anyone's word for it, go look for these codes. You'll see that the codes are more or less library independent.
There are some libraries that removes the need to learn some concepts, though. For instance, people like me who use Box2D for all the physics won't know the logic behind how a character's direction is decided after the collision.
But I imagine you're just talking about libraries like Libgdx, Slick2D or similar stuff.

I have to tell you, it is inevitable for anyone to look at the source code of the library he's using. And that's because of the mistakes he's going to make and the errors he's going to get. I don't know any C/C++ but because of the errors I get, I feel the need to take a look at the source code of Box2D which is written in C/C++.
If you are curious and the library you are using is open source, you still have the chance to learn the deepest stuff.

It is told you many times in this thread that game development skills are independent from library knowledge. I'll let you hear it from a person who is nothing more than a beginner; These two are different things. Just imagine the pseudo-code and the actual code  of the game you're trying to build. You'll find out that it's more logic than rendering the graphics. And, the logic is not handled by any of the libraries. It's still you who have to move the player, shoot the bullet, make the enemy attack and make the platform move.

But for a while, you'll have to stop learning game development to learn the library. This is interestingly a short time. Because you have to practice what you've learnt, and the only way to do this is to try something.

I repeat, game development is more about logic than the other things, so most of the stuff you learn will stay with you if you switch to another library. To be honest, I think libraries make it easy for you to learn the game development logic.
Offline pitbuller
« Reply #8 - Posted 2014-03-16 12:28:48 »

In professional game development you use a lot of libraries, 3rd party tools or at least similar abstractions but made in house. Learning how to use  any given library/tool is really valuable skill.
Offline BoBear2681

JGO Coder

Medals: 19

« Reply #9 - Posted 2014-03-16 21:07:29 »

Like pitbuller says, in software development (not just game development), knowledge of industry-standard libraries is a *good thing*, not something to be avoided.  Someone with experience using the tools of the trade will get more job offers than someone who doesn't, simply because they have a broader skill set.

You're right that you could arguably learn more about certain "low-level" things when re-inventing the wheel, but you'll be a way more productive, and desirable, developer if you make smart decisions about tools and libraries.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline AvivC

Junior Devvie

Projects: 1

« Reply #10 - Posted 2014-03-17 07:59:14 »

Thanks everyone Smiley
Offline Gibbo3771

JGO Kernel

Medals: 128
Projects: 5
Exp: 1 year

Currently inactive on forums :(

« Reply #11 - Posted 2014-03-17 08:32:28 »

I've learned plenty using the standard Java libraries and Libgdx, atm I find myself looking into lower level stuff, not because I intend to make my library but because I hate the black box. I am one of those people that hate not knowing how shite works.

"This code works flawlessly first time and exactly how I wanted it"
Said no programmer ever
Pages: [1]
  ignore  |  Print  

Riven (207 views)
2019-09-04 15:33:17

hadezbladez (4943 views)
2018-11-16 13:46:03

hadezbladez (1822 views)
2018-11-16 13:41:33

hadezbladez (5222 views)
2018-11-16 13:35:35

hadezbladez (1029 views)
2018-11-16 13:32:03

EgonOlsen (4406 views)
2018-06-10 19:43:48

EgonOlsen (5237 views)
2018-06-10 19:43:44

EgonOlsen (2978 views)
2018-06-10 19:43:20

DesertCoockie (3880 views)
2018-05-13 18:23:11

nelsongames (4312 views)
2018-04-24 18:15:36
Java Gaming Resources
by philfrei
2019-05-14 16:15:13

Deployment and Packaging
by philfrei
2019-05-08 15:15:36

Deployment and Packaging
by philfrei
2019-05-08 15:13:34

Deployment and Packaging
by philfrei
2019-02-17 20:25:53

Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45 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‑
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!