Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (498)
Games in Android Showcase (115)
games submitted by our members
Games in WIP (563)
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  
  Java programming path  (Read 610 times)
0 Members and 1 Guest are viewing this topic.
Offline Mr.CodeIt

Junior Member





« Posted 2014-04-22 23:25:55 »

I'm having trouble learning game programming. I do know a lot of advanced material from my basics. I can construct a game loop. Render other imager images and refresh screen, and add keyevents to move it. As far as that I don't know what path to take now. I tried reading killer game programming in java and that seemed a bit confusing. I have the book programming video games for the evil genius but he doesn't use a proper game loop to me. I also have beginning game programming in java 2nd edition which is outdated and mainly focused on applets. I REALLY could use a mentor to make sure I take the right paths but I don't think anyone would want to do that for free. Can someone just choose a book that really helped them understand game programming? Huh Clueless Clueless

I'm not drunk, I've just been up late coding.
Offline Spacebeans
« Reply #1 - Posted 2014-04-22 23:34:35 »

Its good to learn Java2D (Java applets) for web development stuff. But when it comes down to it, the best library out there is OpenGL. Java2D is slow, Deprecated, and mostly obsolete. Plus, OpenGL can do everything (including applets, for some wrappers) that java2D can.

If your starting out programming, learn more about the language BEFORE you go into this stuff.

There are mainly two good wrappers for OpenGL out there. JOGL, and LWJGL.
 * LWJGL: http://lwjgl.org/ (Recommended)
 * JOGL: http://jogamp.org/jogl/www/

If you want to make a game and not worry too much about the graphics its good to start with Slick2D then move into LWJGL or JOGL.
 * Slick2D: http://slick.ninjacave.com/

LWJGL is easy to use and has most of everything in it to make some very good looking games.
JOGL can do everything LWJGL can do, but lower level.

Another note, PM me for anything. Really, I'm always open for some pointers.
Offline SauronWatchesYou
« Reply #2 - Posted 2014-04-22 23:35:58 »

My advice is to pick up Slick2D and once you get better, move onto other things like libgdx. Slick2D is great for beginners and about 4-5 days ago I knew nothing about game development and now I have created this:



The forums are great and everyone is friendly. People suggested to me, to learn as I develop and it's really great. Slick2D can be set-up relatively easy, I suggest you look at TheNewBoston's YouTube video's on developing with it. I know you may want a book but learning by doing is even better Smiley
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Mr.CodeIt

Junior Member





« Reply #3 - Posted 2014-04-22 23:40:42 »

Wow this is great! How different is slick and the other libraries from natural java? Are they the same exact coding?

I'm not drunk, I've just been up late coding.
Offline SauronWatchesYou
« Reply #4 - Posted 2014-04-22 23:45:57 »

Slick basically takes out all the boring stuff and allows the user to start creating stuff straight away. It is a great way to learn about actually game programming, rather than just setting up game loops etc. You can learn about all the stuff at a later date when moving onto more advanced stuff. That being said, yes they are the same coding.. if you mean like methods, classes etc Tongue haha.
Offline Mr.CodeIt

Junior Member





« Reply #5 - Posted 2014-04-22 23:49:11 »

Thanks I had no idea. I thought they were just shortcuts but do you know any good places to learn it?

I'm not drunk, I've just been up late coding.
Offline Spacebeans
« Reply #6 - Posted 2014-04-22 23:49:16 »

Are they the same exact coding?

Its really similar in concept, except while "pure" java (Which is called Java2D), is more focused on GUI stuff. Java2D was implemented into java in the first place for developers to create some cool things like text editors, buttons, and email-clients.

While slick2D is made for games. It uses OpenGL to get functions on the computers graphics card to accelerate its speed. Making it allot faster. While also keeping it extremely simple.

Here's a download: http://slick.ninjacave.com/
Very good beginner tutorials: https://www.youtube.com/watch?v=eGOQWNtb5GU
Offline Mr.CodeIt

Junior Member





« Reply #7 - Posted 2014-04-22 23:50:53 »

Thanks! along with it I also wanted to learn the pure java part that these libraries don't teach... I think Huh

I'm not drunk, I've just been up late coding.
Offline Mr.CodeIt

Junior Member





« Reply #8 - Posted 2014-04-23 00:19:07 »

what if after I get good enough in slick and other game libraries, I want to head to pure java game programming. I want to understand how everything works and would it be a bad idea?

I'm not drunk, I've just been up late coding.
Offline Spacebeans
« Reply #9 - Posted 2014-04-23 00:25:55 »

what if after I get good enough in slick and other game libraries, I want to head to pure java game programming. I want to understand how everything works and would it be a bad idea?

I would NOT recommend using Java2D, I doubt anyone really would except for a really really really lightweight test game for fun.

It seems to me that allot of people who start into java always go down the wrong path. Java2D is fun and all, it could tech you the basics of game programming. But it also confuses you into thinking its good enough for the modern day. To clear things up, its bad to learn too much of it, it makes you think of graphics programming in a wrong way.

"Pure Java" is practically slang. Use libraries, they REALLY help. And don't convince yourself you cant do what they do without them.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline HeroesGraveDev

JGO Kernel


Medals: 254
Projects: 11
Exp: 2 years


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


« Reply #10 - Posted 2014-04-23 00:26:34 »

What the heck is going on in this thread?

Some of you are recommending a library that is no longer maintained (Slick2D), while others are saying to use Java2D, which if you haven't picked up, is not very good for use in games.

If you want to do it the low-level way, pick JOGL or LWJGL.
If you want to do it the high-level way, pick LibGDX.
If you want to do it the really high-level way, pick an engine (JMonkeyEngine, etc.)

What option you choose changes on what resources you should be looking for.

I can't say I recommend books. Just use Google and find documentation/tutorials on the internet.

Offline opiop65

JGO Kernel


Medals: 154
Projects: 7
Exp: 3 years


JumpButton Studios


« Reply #11 - Posted 2014-04-23 00:30:14 »

There aren't any really good game dev books that focus on Java libraries anyway. Why? Because game dev isn't a language specific thing. What you don't realize is that in the end, libraries are the least of your worries. You'll find eventually that you know the technology, but the ideas and creativity are what will hold you back. Don't worry about learning the code part, worry about developing your ideas and producing results.

Trust me, I am addicted to Counter Strike now because coding seems like too much of a hassle. Its ridiculous.

Offline Mr.CodeIt

Junior Member





« Reply #12 - Posted 2014-04-23 00:42:12 »

I appreciate this all so much! I've been spending hours upon every day trying to understand java2D game programming alone. I missed hanging out with friends and more just to focus on this. I thought I needed to take a class on java in highschool or collage to understand this. You guys really saved me some free time and less stress about wasting time. I thought libraries were shortcuts in making games without code. I still would think game engines are like that. I used blender and it's less programming and more gravity and logic to me.
Still I don't understand why online people ask for what book to use to learn this java2D and people recommend Killer game programming in java mostly. I seriously thought everyone used pure java for serious game and now a days people were going to use libraries and game engines because they think it's easier.


Aside from all of that, do I just do my software programming purely and use libraries for games? Grin

I'm not drunk, I've just been up late coding.
Offline HeroesGraveDev

JGO Kernel


Medals: 254
Projects: 11
Exp: 2 years


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


« Reply #13 - Posted 2014-04-23 00:46:55 »

Usually you should always use low-level libraries and API bindings for any kind of programming. The stuff they abstract away is not worth much to you unless you want to make something similar to the project itself.

Using high-level libraries & engines is really up to you. Some people like using them, some don't.

Besides, LWJGL is technically lower-level than Java2D anyway.

Online BurntPizza
« Reply #14 - Posted 2014-04-23 02:15:11 »

Usually you should use the right tool for the job.
Low-level frameworks/APIs/libraries are often well suited to game development because the developer needs fine-grained control, and often has lofty performance goals/needs.[Citation needed]

High-level APIs/frameworks/engines/libraries and languages are used when this tight control down to the last detail is less urgent, and fast development time/ease of use is deemed more critical.

Compare the pros/cons of writing your own everything from scratch in C or whatever vs. Unity or PyGame. This applies anywhere in software development, and is not at all limited to games.
Look at various software products and the technologies they were built from. Why were those decisions made? There are usually definite reasons. Consider your own needs when selecting a technology, there are plenty to choose from.
Offline trollwarrior1
« Reply #15 - Posted 2014-04-23 04:04:40 »

Some people here are soooooooooo forgetting the time when they started programming. I would suggest you guys to remember the days when you just started programming, and didn't know anything.

I would highly guess that you were using java2d to make games, because it was much simpler at first, and you didn't need all the performance anyway, because you wouldn't even need more performance in java2d anyway, meaning you were so bad at coding that you couldn't fill the game with stuff.

My suggestion would be to start with whatever you want, but when you want to start a serious game project, move to LWJGL, Libgdx, Monkey Engine or Unity or other leading game engines.

I bet no beginner would understand a thing in Libgdx/Lwjgl..
Offline Longarmx
« Reply #16 - Posted 2014-04-23 04:18:01 »

I think that Libgdx is actually about on par with Java2d (in terms of learning)

Java2D: You setup a new JFrame. Then, you load an image and draw it using a graphics object found in the paint method.
Libgdx: You setup a new LWJGLApplication. Then, you setup a spritebatch (pretty much effortless), setup a texture, then draw that texture.

Many other concepts are similar to Java2D and for this reason, I think that beginners can learn either one.

Offline trollwarrior1
« Reply #17 - Posted 2014-04-23 04:22:25 »

I'm really against people who "think that beginners can do that". Lets the beginners try and tell you what they can do..
Online BurntPizza
« Reply #18 - Posted 2014-04-23 04:41:47 »

I'm really against people who "think that beginners can do that". Lets the beginners try and tell you what they can do..

Time and time again I've seen it proven on this very forum that they can't handle much of anything. Now of course that's highly affected by confirmation bias, but you see my point.

As I said: pick the tool suitable to your needs. If you cannot yet grasp the conceptual weight of OpenGL, you probably shouldn't try using LWJGL; it will more than likely end in frustration.


This is why I also say: get the hang of general basic programming before jumping right off into the deep end of something very broad like game programming. Too often there's the guy in the middle of a (relatively large) project who asks how some fundamental language feature works. That's a bad sign. "The beginner" thought he could do it, and was wrong.
Offline HeroesGraveDev

JGO Kernel


Medals: 254
Projects: 11
Exp: 2 years


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


« Reply #19 - Posted 2014-04-23 05:02:17 »

The issue here is the shortage of tutorials.

Online BurntPizza
« Reply #20 - Posted 2014-04-23 05:05:42 »

The issue here is the shortage of tutorials.

Good tutorials.
Pages: [1]
  ignore  |  Print  
 
 

 

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

The first screenshot will be displayed as a thumbnail.

radar3301 (12 views)
2014-09-21 23:33:17

BurntPizza (29 views)
2014-09-21 02:42:18

BurntPizza (19 views)
2014-09-21 01:30:30

moogie (20 views)
2014-09-21 00:26:15

UprightPath (27 views)
2014-09-20 20:14:06

BurntPizza (31 views)
2014-09-19 03:14:18

Dwinin (48 views)
2014-09-12 09:08:26

Norakomi (74 views)
2014-09-10 13:57:51

TehJavaDev (102 views)
2014-09-10 06:39:09

Tekkerue (50 views)
2014-09-09 02:24:56
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!