Java-Gaming.org Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (763)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (852)
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  
  What technologies should I choose as a newbie java game programmer ?  (Read 2940 times)
0 Members and 1 Guest are viewing this topic.
Offline nanadwumor

Junior Newbie


Exp: 1 month or less



« Posted 2015-07-08 17:16:44 »

Hello fellow java programmers. I am new to programming as a whole. I began teaching myself programming using java as my first language. I love java a lot. I have a bachelor of Science degree in Mathematics. To be honest, java code seems to come natural to me. I am currently reading STARTING OUT WITH JAVA: FROM CONTROL STRUCTURES THROUGH OBJECTS by Tony Gaddis. It is a cool book.
MY aim is to start coding java games. I want to code games completely in java. I don't wanna worry myself learning c++ and others for now. My questions are as follow:

(1) what books should i not miss reading as early as possible ? what books can streamline my path for me?

(2) I understand game development has several units. Correct me if I'm wrong but I understand it comprises.........
     ....GAME ART ,  GAME PLAY LOGIC, AUDIO OR SOUND, GAME ENGINE OR PHYSICS ENGINE etc

My point is ; which of the numerous softwares or technologies should i use for my game art ? I want a free software because I cannot afford one now. I am currently mulling using BLENDER. But people claim it has a steep learning curve. Besides, if there is any so-called scripting language or anything of programming nature , i want it to be java.

For gameplay logic, it must be java. Period !

For audio or sound, well i don't know how. Help ! if any coding is involved, it must be java syntax.

 For game engine, I was thinking of the jMonkey Engine. Can't think of anything else now. Please I want good  ones with bearable learning curve. I want to post my game here in a year's time. Thanks to you all.
Offline KevinWorkman

« JGO Plugged Duke »


Medals: 283
Projects: 12
Exp: 12 years


HappyCoding.io - Coding Tutorials!


« Reply #1 - Posted 2015-07-08 17:21:10 »

If you're an absolute beginner, check out Processing.

If you're not, check out libGDX.

Anything other than that is really up to you. There is no single correct way to approach it.

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

« JGO Bitwise Duke »


Medals: 418
Exp: 13 years



« Reply #2 - Posted 2015-07-08 17:27:23 »

+1 processing.org

as usual Wink
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline KaiHH

JGO Kernel


Medals: 525



« Reply #3 - Posted 2015-07-08 17:52:53 »

Good for you to have a Bachelor's Degree in Mathematics, since that gives you really a head-start to feel right at home when doing 3D rendering! Smiley
All you need there is a little knowledge in Linear Algebra and Projective Geometry, and about the meaning of OpenGL's "Clip Coordinate Space." (if you do OpenGL, that is)
And who knows, maybe you are the first person to actually put quaternions to good use. Wink
So the math side is definitely nothing you need to read books anymore about, I guess.
I would probably recommend you to play right away with libGDX or with the OpenGL API together with LWJGL 3, even though the raw mechanics of the OpenGL API will be the biggest hurdle at the start.
But eventually it depends on the type of game you are after and in my opinion more importantly: how you learn and what you learn with most pleasure. I for myself have always taken great pleasure in learning OpenGL. But you can probably have more fun learning about physics engines, modeling, arts or who knows. Smiley
Like KevinWorkman says, there is no single correct way. At the start, each way is equally good.
And since I guess you are doing it in your spare time for fun and for yourself, you should aim for the learning path that is most pleasureable to you.
But to be more concrete, if you are aiming for a simple 2D-circles-bouncing-around game at the start, then simple Java2D will do just fine. Might also play around with JavaFX for that.
Also keep in mind that no one knows everything, and everyone took the path that he/she chose coincidentally, and we all therefore naturally suggest to you what each of us knows best or has most experience with, in order to help you best with learning it.
Offline KevinWorkman

« JGO Plugged Duke »


Medals: 283
Projects: 12
Exp: 12 years


HappyCoding.io - Coding Tutorials!


« Reply #4 - Posted 2015-07-08 17:57:31 »

Also keep in mind that no one knows everything, and everyone took the path that he/she chose coincidentally, and we all therefore naturally suggest to you what each of us knows best or has most experience with, in order to help you best with learning it.

This is a really important idea that people who ask "what's the best way to do XYZ" should definitely keep in mind.

What's the best way for your? We don't know, you tell us!

HappyCoding.io - Coding Tutorials!
Happy Coding forum - Come say hello!
Offline Za\'Anzabar

Senior Newbie


Exp: 1 year



« Reply #5 - Posted 2015-07-08 19:26:06 »

As one newbie to another, I wanted to share my learning path, and its hurdles.

I spent the last year or so taking classes at my university on Java programming concepts.  While doing so, I worked for about a year now on developing the basic logic for the game I was designing.  I developed this entirely in Java with a little help from Slick Utils for graphics processing.  I started in 2D loading sprites for the graphics and focusing on the logic aspect of making it work, generating a world, etc...

The tutorials by a guy named Darek Banas were very helpful in learning Java code https://www.youtube.com/channel/UCwRXb5dUK4cvsHbx-rGzSgw

about 4 or 5 months ago I decided to scrap the 2D and go full 3D.  Due to experience with mods for Minecraft and their use of OpenGL through LWJGL, I decided that is where I wanted to start.

After a bit of research I came across a tutorial series which worked great for LWJGL 2
https://www.youtube.com/user/TheCodingUniverse
I learned OpenGL 2.1 ways of creating a window (goodby Swing once and for all), creating basic graphics (called Immediate Mode - good place to start, but don't stay there), and adding colors, textures, normals, lighting, fog, Display Lists, even importing .obj files and displaying some pretty complex objects in my world so I could fly around it FPS style.  I was getting really impressed with my handywork.

With upwards of 40k triangles on screen at a time, I then turned my attention to performance.  That's when I hit a wall.  Been stuck here for over 2 months.  Almost got it I think though with the help of this site.

With the new graphics hardware and software out there now, if you want to stay modern, you upgrade to LWJGL 3, and OpenGL 3.2+.  In these, Immediate mode and Display Lists are both removed.  The only way to render an object now is with Vertex Array Objects (VAO) and Vertex Buffer Objects (VBO) and shaders.  Implementation of this new type of rendering is complex and it is extremely hard to figure out due to the hundreds of tutorials out there that all talk about different aspects, different versions, different features, and some outright contradict eachother.

Last night I decided to ditch LWJGL 2 and focus on LWJGL 3 exclusively which has a completely different way of doing things.  I made that decision when I discovered the tutorials on the LWJGL3 website.  They are amazing!!!  Slow, step by step explanations of each command, with links to very good, simple easy to understand explanations of complex concepts like Matrix multiplication.  Everything you need to get from zero to running.  I am about half way through them myself as I write this.
For an example program go here: http://www.lwjgl.org/guide
For the wiki tutorials, you can click the wiki link Just under the code, or go directly here https://github.com/LWJGL/lwjgl3-wiki/wiki/2.6.-Tutorial-Index

IF you decide on going with OpenGL 3+ as a cross platform solution, consider these resources.

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

Sometimes it pays to stay in bed on Monday, rather than spending the rest of the week debugging Monday's code.
Offline philfrei
« Reply #6 - Posted 2015-07-08 20:57:45 »

If you're an absolute beginner, check out Processing.

Processing is cool, but is it really suitable for game making? OP sounds ready to go. I thought Processing was mostly for making interesting animations. Happy to be corrected.

For game loops and example programs, there are a lot of resources and tutorials which can be reached via the links under the Java-Gaming logo on the top left.

Deciding whether or not to go with OpenGL is a big question, which I can't answer for you. I've only dabbled there, and instead have more experience with Java2D.

For sound, the library TinySound (can do a search for posts by the author on JGO's site) will do 90% of what any game programmer normally wants, eliminating the learning curve for javax.sound.sampled library. But if you go for a framework or library like Libgdx or JMonkey Engine, it will also have functionality to simplify dealing with sound.

Mostly, I think you should just jump in with a learning project or two and ask questions here when you get hung up. A lot of resources are scattered all over the place. The main text books on Java game programming are growing progressively obsolete. Welcome to the bleeding edge! (You aren't in Kansas University any more.)

If you do read any general programming books, my #1 suggestion is to pick ones that emphasize how to write code that is first and foremost easy to read and modify. You are going to be doing a LOT of rewriting over the next months (years), and kicking yourself every time you come back to something and ask "WTF was I doing?"

music and music apps: http://adonax.com
Offline gouessej
« Reply #7 - Posted 2015-07-09 12:33:58 »

JogAmp

Julien Gouesse | Personal blog | Website | Jogamp
Offline KevinWorkman

« JGO Plugged Duke »


Medals: 283
Projects: 12
Exp: 12 years


HappyCoding.io - Coding Tutorials!


« Reply #8 - Posted 2015-07-13 12:48:36 »

Processing is cool, but is it really suitable for game making? OP sounds ready to go. I thought Processing was mostly for making interesting animations. Happy to be corrected.

Processing is not a game engine or framework. But it is designed to make it easy to get something visual and interactive up and running and deployed in just a few minutes, which makes it a great option for beginner game developers.

It also makes it a great option for people just getting into game jams. There are usually a bunch of Processing entries every Ludum Dare- Recluse comes to mind.

Sure, you have to handle collision and gravity and whatnot yourself, but you also don't have to worry about all the boilerplate that comes with core Java or more complicated game frameworks. And you can get libraries for it that do a ton of great stuff.

With stuff like Processing.js and p5.play, I think Processing is a great option for beginner (and not-so-beginner) game developers.

Shameless self-promotion: In fact, I believe all of the above so much that I've been writing tutorials that take you from Processing and into Java, available here!

HappyCoding.io - Coding Tutorials!
Happy Coding forum - Come say hello!
Pages: [1]
  ignore  |  Print  
 
 

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

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

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

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

nelsongames (1025 views)
2018-04-24 18:15:36

nelsongames (1058 views)
2018-04-24 18:14:32

ivj94 (1637 views)
2018-03-24 14:47:39

ivj94 (562 views)
2018-03-24 14:46:31

ivj94 (1459 views)
2018-03-24 14:43:53

Solater (567 views)
2018-03-17 05:04: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!