I found these great tutorials on Youtube a couple days ago. They're about game design using Java. The goal is to keep them relatively bite-sized, and to teach in pure Java (so no external libraries) from a beginner's perspective. I think they could be difficult to pick up for somebody with absolutely zero Java experience, but the guy does a far, far better job of explaining what he's actually doing than pretty much any other coding tutorial I've ever seen on Youtube. He takes it bit-by-bit with each video, and is up to 60-something episodes now, the first one from months ago, and the latest one posted a couple days ago (so this guy is clearly committed to what he's doing).

Anyway, not sure if they've been mentioned yet. Just wanted to share them, since as somebody with a solid knowledge of the Java basics but really no clue about game design strategies, they seem really fantastic so far.

Imagine if he made the series using LibGDX or some other modern API, instead of the practically defunct Java2D (for gamedev purposes). Hell, the first 10 lessons are spent writing Java2D boilerplate to render some pixels -- it would have been only a couple of lines in any other game-centric library (i.e. LibGDX).

Well, it's meant to be viewed by people who are at sort of the ground-level with game design, and even with Java itself. I think we can all agree that trying to begin by teaching people an external library may not be the best way to fulfill that end, since you kind of want to teach people about the things going on "under the hood" which may get glossed over by certain handy features of libGDX or whatever else. Once you understand what's happening, of course you want to work with libraries that make your life easier. But if you don't even know how to form a game loop, or how to set up buffers to render pixels to a canvas, and stuff like that, it's best to get a detailed overview of it first.

I don't think he's saying "Java 2D is the best thing to use for making a game." That's not the point. He's teaching fundamentals. In fact, he even says that he'll try to get around, at a later date, to making a series of videos about working with OpenGL and the like. It's just not within the scope of what he's trying to do here.

Oh FFS, java2d is hardly bare metal, and there's more going on "under the hood" with it than with anything over OpenGL. In fact, Java2D's abstractions are the problem when it suddenly decides to keep your images in main RAM or just use a software renderer altogether and you can't do jack about it.

Oh FFS, java2d is hardly bare metal, and there's more going on "under the hood" with it than with anything over OpenGL. In fact, Java2D's abstractions are the problem when it suddenly decides to keep your images in main RAM or just use a software renderer altogether and you can't do jack about it.

It doesn't get any more "under the hood" than writing a shader.

In any case, he's chosen his scope, and whether you like that scope or not, he's doing a far better job of explaining these fundamental aspects of game design than most Youtube tutorial makers. I'm just letting people know that this exists, because I personally am finding it to be a helpful introduction. And that's all he's designed these videos to be. Criticizing them because he's not using the external libraries of your choosing is totally counterproductive, especially if you're interested in nurturing the Java game design community. Beginners can learn external libraries whenever they want. Understanding fundamental design is a good way to start the larger process.

I watch his videos now and again out of boredom, no I don't use java2d anymore.Genesis (his ld24 game) I believe is his only game completed) on his twitter he said he does software engineering.

He also believed till about a month ago that a good programmer can make there game in java2D run the same as on OpenGL.

Some of his code is horrible, later on at like episode 60 he finally starts rendering a tiled map from a .png file with different sprites. He is making multiple classes of grass like SpawnGrass and will prob make level1Grass etc because he wants to make it neat" and is also creating multiple .png files and loading them that will contain the same images. He has a .png file for spawn a .png file for another level etc. I say he would be good for beginners Due to his explaining but he makes some pretty bad choices in implementation.

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