Java Programming: Some progress has been made!

Sorry I’ve been gone for so long, I’ve been busy with other things. On the upside, I did learn a lot more about Java programming, and I’m here to show my progress so far on a little practice game I am making. So anyway, screenshot time:


So here, you can see the whole game window and most of what I’ve got working so far. Firstly, it’s a 2.5D, or top-down, game, similar to how the original Zelda games were. You can see mostly grass with some red and yellow flowers (the flowers move slowly around as if there’s a breeze),  with some stone on the right. You can’t walk into the stone, as the player (the blue guy in the centre) has collision detection, and the stone itself is a solid tile, meaning it will prevent the player entering that tile when a collision between the two happens. You can also see a cat near the player, which was just a little test to see if I could implement an extra mob and animate it properly, which turned out successful. The cat doesn’t have an AI but I will try to get one working sometime. The screen you can see is only a portion of a larger level, as the screen moves around the player as he moves. Another thing in the game is water:


The water flows in waves towards the top-right of the screen, and ripples form around the player, but unfortunately you can’t see the animations here. The player sinks down slightly when entering water and his lower body disappears, so that it looks like he is swimming.

The game is not yet randomly generated, instead each tile is designated its own ‘colour’, and a .png file must be used with one pixel representing an in-game tile. Each pixel is read from the file, and the colour of each pixel will generate the in-game tile equivalent (for example, a specific mid-green-coloured pixel in the .png file will generate one grass tile, one light grey pixel will generate one stone tile, and so on). This may be an inefficient way of generation, but it allows for easier customisation. In the future the method of loading may use a data file instead, and the generation will be randomly-generated by the code.

That’s my progress so far, I hope you’re more interested as a result of reading this, and if there’s anything you want me to implement, just leave a comment and I will try adding/ improving what’s here.


I’ve been following a VERY helpful YouTube series on Java game development, this guy is amazing, and if you’re interested in learning how to do what I’ve done here, just follow this series, it’s extremely helpful. Here is the first video in the series:

Good luck to everyone who’s thinking of trying out Java game development, and thanks for the support.