Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (744)
Games in Android Showcase (225)
games submitted by our members
Games in WIP (825)
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  
  New to the Java scene and looking to begin developing games  (Read 5852 times)
0 Members and 1 Guest are viewing this topic.
Offline NigelNoscopes

Junior Newbie





« Posted 2015-10-09 00:08:39 »

I looked around at the articles and whatnot, and I haven't found much that will get me anywhere. Are there any engines/libraries that are good and well-documented for me to start with? I've just finished reading a few books on the language and I'm pretty fond of it. Some helpful guidance would be appreciated. Smiley
Offline KevinWorkman

« JGO Plugged Duke »


Medals: 272
Projects: 12
Exp: 12 years


HappyCoding.io - Coding Tutorials!


« Reply #1 - Posted 2015-10-09 00:24:39 »

It's hard to answer this type of question, since there are about a million different ways to get started. There is no one single correct way to go about it.

I'd recommend starting out in Processing, which is built on top of Java but uses a simplified syntax that makes it easy to get something visual and interactive up and running. Learn the basic syntax, learn about objects, etc.

From there you can "graduate" to Java, and there are several libraries worth checking out: LWJGL, libGDX, JMonkeyEngine, and JOGL are probably the most popular. Google is your friend.

Be patient. Start small. Make Pong. Go from there.

Shameless self-promotion: I've written a series of tutorials geared towards walking a novice through the process of learning how to program, available here.

HappyCoding.io - Coding Tutorials!
Happy Coding forum - Come say hello!
Offline BurntPizza

« JGO Bitwise Duke »


Medals: 485
Exp: 7 years



« Reply #2 - Posted 2015-10-09 00:34:18 »

Can recommend Processing. Especially since version 3 just came out, it has some nifty things: https://vimeo.com/140600280
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline NigelNoscopes

Junior Newbie





« Reply #3 - Posted 2015-10-09 00:37:47 »

Hey, Processing! I've heard of that before, from Raven Kwok (http://ravenkwok.com/skyline/), he's done some amazing art using it. I'll give it a try. Hopefully it won't contradict what I've been reading about. Thanks for the points you gave there, KevinWorkman.
Offline BCoding

Junior Devvie


Medals: 4
Exp: 4 years



« Reply #4 - Posted 2015-10-09 01:30:40 »

Personally I started years ago with Runescape private servers, which were incredibly fun to work on, lol. Most bases you'll find for that are poorly done and may teach you bad habits, but it may also help you to recognize and avoid those mistakes in the future. If you're not a fan of the RS scene, maybe there's another java game you've played that has a private server community?

If not, try to make simple games such as Snake for example. Use an IDE - I recommend Eclipse. Up to you if you want to try using a library like Libgdx; setting it up and learning the documentation may over-complicate things for you since you're just starting out, though.

WoW, music, and programming. Life is good.
Offline Longarmx
« Reply #5 - Posted 2015-10-09 03:02:47 »

setting it up and learning the documentation may over-complicate things for you since you're just starting out, though.

But it should simplify things, as that is its purpose (once you get to the top of the learning curve).  Wink

Offline gouessej
« Reply #6 - Posted 2015-10-09 08:38:37 »

Hi

When you feel comfortable with Java itself and after having created some 2D games, I advise you to look at JogAmp(JOGL, JOAL, JOCL) and JogAmp's Ardor3D Continuation.

Julien Gouesse | Personal blog | Website | Jogamp
Online princec

« JGO Spiffy Duke »


Medals: 980
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #7 - Posted 2015-10-09 08:50:08 »

Just thought I'd throw in a vote for JavaFX and plain ol' Java 8 here...

Cas Smiley

Offline Opiop
« Reply #8 - Posted 2015-10-09 15:47:44 »

Up to you if you want to try using a library like Libgdx; setting it up and learning the documentation may over-complicate things for you since you're just starting out, though.

Ah yes, good ol' Gradle; the bane of many a LibGDX "newbie" on this forum for whatever reason Wink If you don't use LibGDX because you can't figure out how the Gradle build system works, then I would recommend going back and trying again! Dependency management/build systems make deploying/moving projects around easy as pie and are very powerful. Just spend a couple hours going over the basics of Gradle and I guarantee you'll understand it!
Offline pavul

Junior Devvie


Medals: 3
Exp: 4 years



« Reply #9 - Posted 2015-10-09 21:18:15 »

first set your environment
1.- learn how to use java
2.- Canvas, Jframe, threads, POO in general
3.- learn the parts that make a videogame, colisions, physics, game loop, sprite, etc
4.- read books only the parts you are interested, leave 3D games for now
5.- try to render a picture in the screen, after that, try to move that picture with the keys
6.- you can watch videos in youtube about the issue
7.- use plain java first, after that you might use a framework or library
8.- keep reading about games
9.- ask in the forum

its better not know why it works, that know why is not working
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Kami

Senior Devvie


Medals: 16
Projects: 1


I am not a vampire


« Reply #10 - Posted 2015-10-10 16:10:18 »

I would go straight to using libraries like JavaFX or LibGDX. That's what I did, but maybe it isn't suitable for everyone.

"If I can't be the best I sure as hell can be the worst"
Twitter: https://twitter.com/mushkilann
LinkedIn: https://www.linkedin.com/pub/kami-nasri/108/227/436
Offline unlight
« Reply #11 - Posted 2015-10-11 07:41:09 »

I found that ForeignGuyMike's youtube tutorials were the perfect learning platform for myself, but I knew Java pretty well by the time I watched them. Check out this video, he shows you what the series will end up creating right at the start. It uses native Java APIs (apart from the sound effects later in the series) and leaves you with a decent first game engine to continue learning with later.

https://www.youtube.com/watch?v=9dzhgsVaiSo
Offline philfrei
« Reply #12 - Posted 2015-10-12 00:54:22 »

I'm with princec!

JavaFX is the main graphics system now for Java, and has many benefits over AWT/Swing/Java2D.

I'd start with "JavaFX for Dummies" (the best written presentation of several I've tried, actually), and get to the chapter on Animation/Bouncing Balls as soon as you get past the basics. Lowe's "the hard way" is to be preferred and is not at all hard.

music and music apps: http://adonax.com
Offline kaffiene
« Reply #13 - Posted 2015-10-12 08:35:46 »

I know Swing pretty well.  Are there any advantages to picking up JavaFX for someone who knows Swing inside and out?
Online princec

« JGO Spiffy Duke »


Medals: 980
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #14 - Posted 2015-10-12 10:16:55 »

I was (am) an expert in Swing, and it works just fine at making rather dry and boring applications and the API is much more mature. JavaFX however makes a bunch of stuff easier (specifically, graphics, animation and effects) and certainly potentially a lot prettier. It's still at the stage of occasionally coming up against incomplete APIs and occasional bugs, unlike Swing which is by now very robust and complete indeed. However as all further development effort looks like it's going to go into JavaFX from now on it's maybe a good time to jump on the bandwagon.

From the perspective of making games, JavaFX beats Swing hands down, as all the stuff you want to do all works great and most importantly it's consistently fast. I don't think it'd be as fast as using custom made OpenGL-based engines but it wins hands down on ease-of-use.

Cas Smiley

Offline DarkCart

JGO Kernel


Medals: 121
Projects: 9
Exp: 50 years


It's all in the mind, y'know.


« Reply #15 - Posted 2015-10-12 21:16:36 »

Let me get something straight here... the creator of LWJGL prefers JavaFX to LWJGL?

The darkest of carts.
Offline KaiHH

JGO Kernel


Medals: 486



« Reply #16 - Posted 2015-10-12 21:47:07 »

I think if you are the creator of something and are being susceptible about (instead of shun yourself away from) all the things around you, and never let your ego be in your way, then you can be realistic and objectively estimate the usefulness of your creation in certain situations and usecases.
In fact, when you develop something like a library/framework, you would really want to know every other library in that same and adjacent domains to get the most impression and inspiration from those other libraries as possible and to position/scope yourself correctly in the sweet spot (usecases where others are lacking support for).
This enables you to recommend things to people that really suit those people, instead of always recommending your own creation.
And this is because you know that you would damage yourself and the reputation of your creation far more by recommending it to people who then themselves eventually find that it is non-fitting to their needs, than being honest and saying: "Well, it does not suit your needs. Maybe you should try XYZ instead."
In the case of LWJGL, the strange thing that happened a few times on the forum is that recommending people NOT to use LWJGL but instead LibGDX or JMonkeyEngine (because what they wanted to make was a real game), made them even MORE wanting to use LWJGL.
So, simply be honest about what you do and why you do it, and try not to recommend others to use something when there are much better alternatives that those people would benefit more from.
That of course requires that you be on the constant lookout for things. Smiley
Offline Ed_RockStarGuy
« Reply #17 - Posted 2015-10-12 22:12:48 »

  • Don't just think about making the game look amazing, because if it only runs 20~ fps then people wont play it
  • Check out how games prior to 1990's were created since they done some nifty things to push out performance from very slow consoles
Offline gouessej
« Reply #18 - Posted 2015-10-13 10:40:07 »

Don't just think about making the game look amazing, because if it only runs 20~ fps then people wont play it
I agree with you but if a developer makes a very simple game, maybe he will never have any performance problem anyway. It's possible to make a game look amazing but simple, isn't it?

Check out how games prior to 1990's were created since they done some nifty things to push out performance from very slow consoles
I'm not sure that their nifty things are still relevant now (some of them still are), it depends on what you mean exactly.

Julien Gouesse | Personal blog | Website | Jogamp
Online princec

« JGO Spiffy Duke »


Medals: 980
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #19 - Posted 2015-10-13 11:22:07 »

Let me get something straight here... the creator of LWJGL prefers JavaFX to LWJGL?
Two things... I kickstarted LWJGL way back in 2001 or something when Java graphics/sound performance was miserably rubbish and not hardware accelerated. Since then, others have taken LWJGL and made it into something much more mature, and Java itself is now awesome. JavaFX is highly accelerated.

And secondly, it's not at all an apples to apples comparison. JavaFX is an entire framework for building highly interactive rich client applications... LWJGL is a very thin wrapper over some native libraries, by and large. JavaFX could well be implemented using LWJGL.

If I were to make a new game from scratch today, I'd be seriously considering first whether I could get the performance I want out of JavaFX before deciding whether to go totally bespoke. As it happens, I've got a pretty neat bespoke system already which does everything I want, just not quite so easily as JavaFX. Although it is ultimately somewhat faster at certain things and some things it can't do at all (eg. SVG rendering).

Cas Smiley

Offline pavul

Junior Devvie


Medals: 3
Exp: 4 years



« Reply #20 - Posted 2015-10-13 11:39:02 »

im beign interested in JavaFX, i hope Oracle would be more game oriented in near future

its better not know why it works, that know why is not working
Online princec

« JGO Spiffy Duke »


Medals: 980
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #21 - Posted 2015-10-13 11:54:24 »

Hmm, don't hold your breath on that.

Cas Smiley

Offline gouessej
« Reply #22 - Posted 2015-10-13 15:19:45 »

JavaFX could well be implemented using LWJGL.

Actually, only the hardware accelerated pipeline currently using OpenGL and OpenGL ES (i.e a small piece of OpenJFX/JavaFX) and maybe a small part of the Media Engine (the audio support?) could well be implemented with its third version but not the rest, especially the Glass Windowing Toolkit. This toolkit needs to interact with both AWT, Swing and SWT, it's based on a less capable ancestor of NEWT (the native windowing toolkit of JOGL). The 3D graphics API is more comparable to an higher level scenegraph API like Java3D and some attempts were done several years ago in JavaFX 1 to use Ardor3D with JOGL 1 in Prism.

Julien Gouesse | Personal blog | Website | Jogamp
Online princec

« JGO Spiffy Duke »


Medals: 980
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #23 - Posted 2015-10-13 16:09:14 »

Aye, that's what I meant: the GL-ES compatible backend part.

I really hope they stop and take a big, deep breath on the 3D part, and then go and scrutinise Unity. Very, very closely.

Cas Smiley

Offline philfrei
« Reply #24 - Posted 2015-10-13 23:17:20 »

I really hope they stop and take a big, deep breath on the 3D part, and then go and scrutinise Unity. Very, very closely.
Could you elaborate? JavaFX 3D is the first 3D system that has really appealed to me as an option. But I'm not up on the pros and cons of it or Unity. I can't tell from the comment if Unity is a good example or an example of how things could go wrong.

music and music apps: http://adonax.com
Online princec

« JGO Spiffy Duke »


Medals: 980
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #25 - Posted 2015-10-14 07:03:37 »

Were I to try and "do a 3D system" now I'd basically copy Unity, warts and all. Not necessarily because it's the absolute best way to do things, just because the concepts are now tried, tested, and understood and it sets a high bar for competition. That is, if you're not gonna make something that's at least nearly as powerful as Unity, don't bother.

Cas Smiley

Pages: [1]
  ignore  |  Print  
 
 

 
Ecumene (143 views)
2017-09-30 02:57:34

theagentd (207 views)
2017-09-26 18:23:31

cybrmynd (291 views)
2017-08-02 12:28:51

cybrmynd (283 views)
2017-08-02 12:19:43

cybrmynd (293 views)
2017-08-02 12:18:09

Sralse (286 views)
2017-07-25 17:13:48

Archive (954 views)
2017-04-27 17:45:51

buddyBro (1089 views)
2017-04-05 03:38:00

CopyableCougar4 (1655 views)
2017-03-24 15:39:42

theagentd (1422 views)
2017-03-24 15:32:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05
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!