Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (777)
Games in Android Showcase (231)
games submitted by our members
Games in WIP (856)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1] 2
  ignore  |  Print  
  Java-Gaming at Minecon  (Read 18516 times)
0 Members and 1 Guest are viewing this topic.
Offline jeb_

Junior Devvie

Medals: 7

« Posted 2013-10-15 14:45:53 »


At Minecon this year (i.e. in roughly 3 weeks), I will hold a presentation called "Getting Started with Game Development". This presentation will mainly target really young newbies that have nearly no programming knowledge, and I will bring up several ways of getting started. Since it's at Minecon, most listeners will be Minecraft fans and will be most interested in hearing about creating games in Java, and the key point I want to tell people is to learn how to find information (I can't teach anyone programming in 60 minutes anyway).

So, I want to tell people about this forum. My question then is, is there any specific tips or guidelines you want me to share with the audience before I send them here?  Cool

// jeb_
Offline SHC
« Reply #1 - Posted 2013-10-15 15:01:34 »

It's great that you are going to give a presentation. Congrats. If they are absolute newbies, I think you can point some tutorials of LWJGL and LibGdx. But be sure to say, "if you want to just develop games, LibGdx suits you, but if you want to find the underlying mechanics and how everything is done, prefer LWJGL."

Offline Mike

« JGO Spiffy Duke »

Medals: 149
Projects: 1
Exp: 6 years

Java guru wannabe

« Reply #2 - Posted 2013-10-15 15:02:25 »

Tja Jeb,

The spam protection already takes care of the ones coming here only to ask what eclipse is, but it would be nice to mention that they should be willing to try things out for themselves as we're not here to spoonfeed people Smiley


My current game, Minecraft meets Farmville and goes online Smiley
State of Fortune | Discussion thread @ JGO
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Mac70
« Reply #3 - Posted 2013-10-15 15:07:54 »

  • start with something easy, possibly text-only game while you learn language
  • experience comes with time - start with making simple text games, then simple graphical games like Pong or Pacman clone before you start working on something harder
  • make many experiments and small side-projects, not only directly related to games
  • TODO lists. These are very helpful - you have more motivation, always know what to do and avoid potential design flaws.
  • KryoNet library is very good both for networking and saving game state
  • don't use Java2d for games
Offline Agro
« Reply #4 - Posted 2013-10-15 15:16:06 »

Wow this'll be a great opportunity for people and for jgo. get ready for some more activity 8D

Offline jeb_

Junior Devvie

Medals: 7

« Reply #5 - Posted 2013-10-15 15:26:01 »

Re Mac70:

Can you explain why I shouldn't tell them to use Java2D? Because that was what I had planned to do, and in that case maybe I shouldn't send them here... don't want to send them into forum fights the first thing I do Wink

I mean, this is made with Java2D, so to me it feels like a good way to begin.
Offline SHC
« Reply #6 - Posted 2013-10-15 15:28:25 »

I too thought the same way in the beginning, why not Java2D. But I soon found the answer when I tested a Java2D game on all the major platforms, it's pretty much slow on mac and linux.

Offline jeb_

Junior Devvie

Medals: 7

« Reply #7 - Posted 2013-10-15 15:32:15 »

Ah ok, thanks. I'll keep this in mind then.
Offline Mike

« JGO Spiffy Duke »

Medals: 149
Projects: 1
Exp: 6 years

Java guru wannabe

« Reply #8 - Posted 2013-10-15 15:35:56 »

For the very, very first game it is okay just to get a hang of things like methods and classes and so on (i.e. a square that moves when you press a key). But for anything more than that you should stay clear of it unless you have a really good reason as it is really slow on some platforms Smiley


My current game, Minecraft meets Farmville and goes online Smiley
State of Fortune | Discussion thread @ JGO
Offline Simn
« Reply #9 - Posted 2013-10-15 16:21:10 »

I just have to ask, are you the jeb_? Tongue

Anyways, as you said, there isn't much you could learn a bunch of people in 60 minutes (in relative to programming), so I'll just bring up some places I went for guidance.

I started with TheCodingUniverse. He has a well done series and gets you going with the basics of LWJGL, OpenGL and simple game design. The thing I don't completely like about his tutorials is the use of deprecated functionality, but he'll get you started.

After getting on JGO and the #lwjgl IRC I got an advice to start on this online book. It's very good for learning modern OpenGL and ra4king has ported the C++ code here. Smiley After that book I finally started to manage to use OpenGL by myself and understand how things were put together. Later, I ran into these tutorials. They're also really great and teaches how to build a 3D engine with the core profile from scratch. Smiley

Those ways are more the hardcore way though. There is going to be for sure great differences (in relative to experience) in your audience and I would recommend these paths to people who want more control and want to learn the OpenGL API.

For people with no or little programming experience it's really important to keep things simple and to get things up and running quick so that they don't loose their interest. It's also important to show that they can edit the code easily and play with it's functionality. Therefore, something like LibGDX is great (On it's documentation page it's lots of info and a video to get you up and running with a project). It's pretty straight forward and on the same line, really powerful.

And at last I would strongly recommend your audience to learn the language before the game making; Not the whole Java API, but at least the core language. In that way they'll save so much time later. For that purpose I will recommend Derek Banas, he's got some great tutorials and a very large library of them.

Good luck!

- Simn
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Redocdam

Senior Devvie

Medals: 18

« Reply #10 - Posted 2013-10-15 16:24:42 »

I don't know if this necessarily fits, but I've noticed one of the most common reoccurring beginner questions I've seen here is:
"should I use LWJGL, LibGdx or JME", which really isn't an apples to apples comparison.

Maybe you could provide a general explanation about the the differences between bindings/OpenGL vs engines. This would hopefully refine their information search, depending on which direction they choose; and even if they choose a different language.
I get the distinct impression a lot of people get confused between the two and ultimately end up blindly selecting one of the options.

Offline Troncoso

JGO Coder

Medals: 20

« Reply #11 - Posted 2013-10-15 16:32:29 »

Ah ok, thanks. I'll keep this in mind then.

I have to disagree about Java2D. While it is by no means an optimal platform for any serious game develop, it is definitely adequate for learning development concepts. For example, considering it's not a game library, that forces the user to writet their own game loop, which is important to learn. Besides that, Java2D is easy to use.

Again, it shouldn't be used for serious big projects, but for learning it is pretty suitable. Many people on here use it, I've noticed, so there wouldn't be too much flaming. Mainly the suggestion here and there that they should consider game libraries.
Offline kpars
« Reply #12 - Posted 2013-10-15 16:57:35 »

Welcome to JGO Smiley

Java2D is great for basic games, just not for massive projects, obviously.
Noting a lot of us make games with retro graphics and don't require a ton of high-fidelity stuff, it works perfectly fine.

It's perfect if you do it right. Here's a little physics demo I made a while back.

Best of luck!

- Jev. (Similar name, eh?)
Offline badlogicgames

« JGO Bitwise Duke »

Medals: 82
Projects: 2

« Reply #13 - Posted 2013-10-15 18:08:17 »

Just chiming in here. Libgdx is definitelynot for absolute beginners. Java2D is fine, a better option may be Slick2D (though that's pretty much dead) or flixel-gdx, which is the Flash Flixel API on top of libgdx, super easy, possibly even more so than slick.

i think the hardest part will be recommending a development environment. Eclipse/IntelliJ/Netbeans are really daunting for beginners. I believe it's a good idea to research the easiest way for newbies to jumpstart themselves in terms of setting up and working with the dev environment. a simple beginner friendly guide would be nice.

best of luck with your efforts. awesome that you guys want to bring more folks into the game dev circle! - musings on Android and Java game development
Offline HeroesGraveDev

JGO Kernel

Medals: 382
Projects: 11
Exp: 4 years

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

« Reply #14 - Posted 2013-10-15 18:55:10 »

How about starting them off with Java by helping them make simple Minecraft mods? Pointing

Offline kpars
« Reply #15 - Posted 2013-10-15 19:02:03 »

That's a great idea, though the Minecraft source code is obfuscated.

I'd probably make a demo project, maybe a really basic top-down game, and then at the panel you can teach them how to add the core functionality, like shooting, menus, etc.
Offline HeroesGraveDev

JGO Kernel

Medals: 382
Projects: 11
Exp: 4 years

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

« Reply #16 - Posted 2013-10-16 04:14:05 »

@kpars: There's Minecraft Coder Pack (MCP).

@jeb: The best thing you could teach them is to use Google first when trying to solve problems.

Offline jeb_

Junior Devvie

Medals: 7

« Reply #17 - Posted 2013-10-16 07:14:48 »

@jeb: The best thing you could teach them is to use Google first when trying to solve problems.

Yes, this will probably be the number one thing I will nag about Cheesy

Thanks for the input! It definitely makes sense to tell people to learn how to code first, and to do text-based apps, and so on. The problem is that it's not what people want to hear. When I started out programming (some 22 years ago), I wasn't interested in doing text adventures. What I did instead was to modify the QBASIC examples (Nibbles and Gorillas) to do weird stuff. Obviously I had no idea what I was doing, but I enjoyed it!
Offline kpars
« Reply #18 - Posted 2013-10-16 08:28:48 »

IMO the best way to learn is to toy around, which is (I assume) how everyone learns.

I still think the best way to go is to make a demo project beforehand and then explain all of its functions at the panel, and possibly add something or two so they can actually use what they've learned. The kiddies will really want something visual, which is hard to pull off if they are just starting out. Though this is in Java, and Java requires quite a bit of boilerplate code for a project like that, boilerplate code that will take some time to explain.

Though you could still pull off a text adventure well. I've not played that many, so I don't know what you'd do about the gameplay.
I'm assuming you'll be focusing on programming 95% of the time, so as long as you and the viewers have fun with it, everything should be perfectly cool Smiley

For resources, I'd highly suggest telling people about the importance of Youtube, Google, and StackOverflow, and you'll have to talk about libraries a bit, as well as some IDEs, though Eclipse will probably be the default for most people. 

Will you be the only one at it, or will a few other people be helping out?
Offline Longarmx
« Reply #19 - Posted 2013-10-16 12:18:47 »

I'm glad you're doing something like this. Here are my tips:

Maybe you should tell them that they will have to exercise patience quite a bit. Games don't just spring up from the ground in a day or two. I think this was one of my biggest problems with game development.

Also, you should probably tell them that copying and pasting code doesn't help you learn things. A lot of what you learn comes from translating a problem into code and understanding how that code works.

One last thing that is important to tell them. I expect they will all try/want to create a game like Minecraft. Tell them to start out small and be proud of little things. Slowly working your way into more complicated things will always bring better quality and quantity of games.

I hope that your words inspire many people, especially kids. They are the future of the gaming industry.

Best of luck,

Offline matheus23

JGO Kernel

Medals: 138
Projects: 3

You think about my Avatar right now!

« Reply #20 - Posted 2013-10-16 17:51:39 »

I don't know whether it has been linked yet, but I think this forum-wiki-page might help you Smiley

Big fan here, btw Smiley

See my:
    My development Blog:     | Or look at my RPG | Or simply my coding
http://matheusdev.tumblr.comRuins of Revenge  |      On Github
Offline RobinB

JGO Ninja

Medals: 45
Projects: 1
Exp: 3 years

Spacegame in progress

« Reply #21 - Posted 2013-10-16 18:02:16 »

Would be so much fun if this was just a troll Smiley
Offline Herjan
« Reply #22 - Posted 2013-10-16 18:16:52 »

Don't tell kids too much about libraries, there is nothing wrong with Java2D (for beginners).
I programmed my first year only in Java2D without any libraries, and it was a nice year.
Java is a really good developed language, you can create very cool games with just plain Java.
As it is more 'low' than OpenGL, they have to think more, creating particle systems theirselves, etc.
Performance is no problem for beginners either, maybe for you, someone who is working on a Skyrim game, but not for beginners, creating simple games.
In other words, don't talk about gaming libraries, that's for later.
That's my opinion, anyways.

And tell them about this forum Wink
Its always nice to have something where you can communicate with people that do the same, learn and to get inspired.

Tell them about the livestream page from Notch, he programs a lot of awesome Java(2D! Just Plain Java) games there, that's what they all want, NOTCH!
I really like his livestreams and I have watched them a lot (his games are cool).
Offline CommanderKeith
« Reply #23 - Posted 2013-10-16 18:21:51 »

That's fantastic about the presentation. If there's a Guinness book of records for inspiring the most game devs in 1hr, you'll be the favourite to win it this year!

Those minecraft fans (of which myself and brothers are included) will be anxious to see something on the screen as quickly as possible.
Perhaps specific no-pain instructions about how to install the JDK and an IDE like Netbeans to code up hello world is best to start:

Then copy some basic game code into the IDE that shows graphics on the screen. I think you were right to think that Java2D is the best graphics library to start with since loading native openGL libs is too fiddly and brittle for beginners. This site looks like it has some great examples:

Also handy:
The java docs:
IDE auto-complete
The cool open source libs that exist. Box2D is pretty wicked IMO, here's the java port
JGO and the resources thread:
The beginnings of minecraft ( and some of the smaller but also very cool games that markus and all of the other talented creative people have had fun making
The way java's free

It would be cool to see your presentation slides after it's all done, if you're allowed to show them.

Offline gouessej
« Reply #24 - Posted 2013-10-18 22:01:23 »

What I did instead was to modify the QBASIC examples (Nibbles and Gorillas) to do weird stuff.
I did something similar with a simple example of animation in RPL (HP 48 GX). It's possible to find some very simple visual stuffs. I didn't want to display text  Cheesy

Julien Gouesse | Personal blog | Website | Jogamp
Offline Longarmx
« Reply #25 - Posted 2013-10-18 23:56:28 »

Turns out this thread is completely legit. Proof

I can't wait to see what this turns out like and how much this inspires people!

Offline Simn
« Reply #26 - Posted 2013-10-19 20:40:21 »

@jeb_ Any chance the session will be available afterwards?

- Simn
Offline Kroniz

Senior Newbie

« Reply #27 - Posted 2013-10-20 16:48:22 »

Record it.

You could try to tell people about bad decisions people make that they regret later.
Offline kingroka123
« Reply #28 - Posted 2013-10-20 20:30:29 »

thanks for joining the forums  Grin,
I would also talk about code formatting and the use of comments for quicker debugging (which is something that have yet to master  Undecided).

Also, explain progression because most people will want to jump right into 3D programming and I can tell you that doesn't work  Wink
Offline Jimmt
« League of Dukes »

JGO Kernel

Medals: 167
Projects: 5
Exp: 6 years

« Reply #29 - Posted 2013-10-20 20:46:52 »

Formatting? Ctrl-Shift-F Grin
My advice would be, don't overload them with information. Teach them the basics, and then they can learn specifics by themselves.
Pages: [1] 2
  ignore  |  Print  

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

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

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

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

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

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

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

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

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

nelsongames (2244 views)
2018-04-24 18:14:32
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

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20

Deployment and Packaging
by philfrei
2018-08-19 23:54:46 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!