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  
  Newbie to Game Development  (Read 792 times)
0 Members and 1 Guest are viewing this topic.
Offline killbysword

Senior Newbie


Medals: 1



« Posted 2017-11-30 15:45:41 »

Hi everyone!

As stated, I have studied the basics of Java and I want to get into game development using Java. That being said, I understand I should start small . I'm currently following beginner java game tutorials but there some things I don't understand.1) Should I continue even if I don't understand or should I do something even simpler? 2)I am curious how you guys started, 3)what was your approach and 4) how did you feel through out it and how did you see yourself developing to actually writing your own game?Oh and one more question Tongue,5) do you recommend I do my own game or should I see others and copy from them?

P.S. If you have in mind, What game would you suggest starting with?

Many thanks! Smiley
Offline princec

« JGO Spiffy Duke »


Medals: 982
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #1 - Posted 2017-11-30 16:10:53 »

Copy an existing, tiny, simple game. If you can get that right, and finish it you've figured out a hell of a lot.

Assuming you're talking about a "real time arcade game" and not something with discrete turns like solitaire or a roguelike, you could do worse than trying to create Space Invaders or Breakout first. These are simple single-screen games, with trivial graphics and very few "things" going on.

You should be able to make either of those in pure Java using plain Java AWT APIs, or fancier JavaFX APIs. JavaFX is the new hotness and probably more long-term useful.

Cas Smiley

Offline killbysword

Senior Newbie


Medals: 1



« Reply #2 - Posted 2017-11-30 16:13:20 »

thanks a bunch man, will do! Cheesy
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline bmanmcfly
« Reply #3 - Posted 2017-12-02 00:30:48 »

What are the parts that you are struggling to understand? (Don't worry, for me its been about every step of the way)

Are you using any libraries (like libgdx)?

I've started with a tetris, and other similar small projects.  Now, I'm working on a turn based rpg, it is VERY small, 3 maps, 20 characters, random monsters, some quests and a boss.

My approach has been to figure out the basic principles, keeping in mind the big idea that I have, and by building up and learning more I think that the big one will start once I have this project to a point where I can not feel embarrassed adding to WIP.  I havent done that because about 3 times I started a project and realized part way through that the foundations were not setup in a way that coulld be scaled.

Most of the time is a bit of a frustration and research, I work full time so, programming is more like a hobby.

I don't want to tell you the best way to proceed.

To start, think NES games or earlier, breakout or tetris is great to start.  the way I did tetris was c++ directx from scratch.. that turned into about 4000 lines of code, and was just done by array manipulation, lines and squares.. but that was also before I changed to java.
Offline killbysword

Senior Newbie


Medals: 1



« Reply #4 - Posted 2017-12-02 02:08:09 »

Hi, thank you very much for the detailed response! I appreciate it Smiley

I was told not to use libraries so as to not two things simultaneously ( engine & gaming logic). What do you think?
What I am struggling with is really the game logic, not the syntax or any of that. i.e update,repaint,render etc.
These are the fundamentals, I think, but no one explains the logic behind them and everyone just implements them Tongue
So is there a resource where you can understand the gaming logic you would recommend?

Many thanks Smiley
Offline 65K
« Reply #5 - Posted 2017-12-02 06:38:08 »

Definitely use a library. Learn the basics of it, study small library examples.
You get working lifecycle and render hooks that are actually working and are able to concentrate on your game.

Lethal Running - a RPG about a deadly game show held in a futuristic dysoptian society.
Offline philfrei
« Reply #6 - Posted 2017-12-02 07:36:28 »

Hi and welcome!

There are resources listed via a Java Gaming Resources link that is just under the Logo on the top left. That section hasn't been updated in a while, though.

I'd like to plug my tutorial Getting Started with JavaFX Game Programming. With JavaFX, the "game loop" structure is somewhat simplified as the loop timing (maintained at 60fps) and rendering are handled pretty much automatically. Coding mostly involves game logic and manipulating properties. I also like that the coding is closer to being able to take advantage of tech like CSS, given JavaFX's FXML.

We have many other good tutorials in that section (Game Development/Articles and Tutorials), like Eli Delventhal's Game loops! I remember that was helpful when I first started out about 8 years ago. The older tutorials will often be AWT, Swing, Java2D which are becoming more and more "legacy".

And the Wiki area is worth exploring.

Mostly, though, if you have a question, someone here will probably be able to steer you to something pertinent and helpful. Or else they will steer you to something that they are passionate about but which may be tangential. (I've been guilty of this, too.) Such is the nature of public forums!
 Cool

music and music apps: http://adonax.com
Offline killbysword

Senior Newbie


Medals: 1



« Reply #7 - Posted 2017-12-02 13:00:17 »

Honestly, thank you guys for the info. I very much appreciate your input Smiley



Offline ddyer
« Reply #8 - Posted 2017-12-03 21:55:50 »


I recommend starting from the sources of an existing game, the closest
you can find to the kind of game you want to develop first.  It will in effect
have a library of all the things you need, whether that is from a formally defined
library or just the things coded within the game.

By starting with an existing game, you skip the hardest step for a newb, which
is going from a blank page to a functioning framework.
Offline killbysword

Senior Newbie


Medals: 1



« Reply #9 - Posted 2017-12-05 04:01:58 »

Awesome, thanks man! Will do Smiley
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline KevinWorkman

« JGO Plugged Duke »


Medals: 272
Projects: 12
Exp: 12 years


HappyCoding.io - Coding Tutorials!


« Reply #10 - Posted 2017-12-06 02:51:06 »

If you ask 10 programmers a question, you'll get 11 different answers. Do whatever seems right to you.

I respectfully disagree with 65K's advice to use a library. You should stick with the absolute basics. Use Swing to get a simple GUI up and running. Think rock-paper-scissors or tic-tac-toe, or a higher/lower guessing game.

That will help you learn the basics of Java, OOP, events, user input, etc. You need to know all of that before you use a library like libGDX.

In my humble opinion, you should actually start with something simpler than Java. I really like Processing, and I've written a series of tutorials that go from Processing to Java (and soon libGDX) available at HappyCoding.io.

HappyCoding.io - Coding Tutorials!
Happy Coding forum - Come say hello!
Offline bmanmcfly
« Reply #11 - Posted 2017-12-11 16:33:47 »

If you ask 10 programmers a question, you'll get 11 different answers. Do whatever seems right to you.

I respectfully disagree with 65K's advice to use a library. You should stick with the absolute basics. Use Swing to get a simple GUI up and running. Think rock-paper-scissors or tic-tac-toe, or a higher/lower guessing game.

That will help you learn the basics of Java, OOP, events, user input, etc. You need to know all of that before you use a library like libGDX.

In my humble opinion, you should actually start with something simpler than Java. I really like Processing, and I've written a series of tutorials that go from Processing to Java (and soon libGDX) available at HappyCoding.io.

I generally disagree with you on this...

Unless you are talking about someone needing to understand how a render loop works, then sure, get a ball bouncing around the screen.

I went with libgdx because it meant not needing to know how to configure things for various platforms, there's all sorts of functionality where it comes down to "provide these inputs and you get what you need." 

So, I don't need to learn how a* works, I just need to know how to set up the graph, nodes and connections and the algorithm provides useful results. 

Unless your motivation is to learn how those systems work from the ground up, I don't see a point in reinventing the wheel...
Offline princec

« JGO Spiffy Duke »


Medals: 982
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #12 - Posted 2017-12-11 17:31:07 »

THIS JUST IN! New Advice.

If you want to learn to write games and code in general... get Pico-8 from Lexaloffle.

Moving from there to Java will be a cinch. And it's the most fun I've had programming for years.

Cas Smiley

Offline killbysword

Senior Newbie


Medals: 1



« Reply #13 - Posted 2017-12-12 15:10:50 »

THIS JUST IN! New Advice.

If you want to learn to write games and code in general... get Pico-8 from Lexaloffle.

Moving from there to Java will be a cinch. And it's the most fun I've had programming for years.

Cas Smiley

I just looked it up, seems really interesting! Thanks for the update Cheesy
Offline killbysword

Senior Newbie


Medals: 1



« Reply #14 - Posted 2017-12-12 15:20:08 »

If you ask 10 programmers a question, you'll get 11 different answers. Do whatever seems right to you.

I respectfully disagree with 65K's advice to use a library. You should stick with the absolute basics. Use Swing to get a simple GUI up and running. Think rock-paper-scissors or tic-tac-toe, or a higher/lower guessing game.

That will help you learn the basics of Java, OOP, events, user input, etc. You need to know all of that before you use a library like libGDX.

In my humble opinion, you should actually start with something simpler than Java. I really like Processing, and I've written a series of tutorials that go from Processing to Java (and soon libGDX) available at HappyCoding.io.

I generally disagree with you on this...

Unless you are talking about someone needing to understand how a render loop works, then sure, get a ball bouncing around the screen.

I went with libgdx because it meant not needing to know how to configure things for various platforms, there's all sorts of functionality where it comes down to "provide these inputs and you get what you need." 

So, I don't need to learn how a* works, I just need to know how to set up the graph, nodes and connections and the algorithm provides useful results. 

Unless your motivation is to learn how those systems work from the ground up, I don't see a point in reinventing the wheel...


I agree with you. Having started to work with libgdx it really lets you focus on building your game (the amount of tools that it provides is just amazing) rather than the very meticulous details that are not beginner friendly at all and you might not even need to know for simple 2D games. That being said, I think he also had said a great point. If the goal is to learn coding(Java) and
developing games as medium rather than actually developing a game then that's the way to go. That's my humble opinion on the matter. Thank you both for your input, I appreciate it Cheesy
Pages: [1]
  ignore  |  Print  
 
 

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

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

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

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

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

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

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

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

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

theagentd (1425 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!