Welcome to the first chapter of “Chronicles of a Videogame in JAVA“. As you may already have figured out, I’m a programmer, my name is Andrea J. Rubino and I want to make a videogame in Java. To be specific a 2D platformer, like those with jumps, spikes, monsters, italian almost-offensive stereotypes and all that kind of stuff. I will write all of the code by myself, draw all of the world in pixel art and, hopefully, compose a mediocre soundtrack to it.
Why Java? BECAUSE I LOVE IT.
Yup. I said it.
I already had the chance to work on some Java games and I have to say: despite what many game developers think, I claim it is very very possible to create great games in Java. But we will see right? We’re just at the beginning of our fantastic journey. A large number of game devs end up with C++ because a lot of game engines only have C++ bindings and there’s a ton of documentation about building a proper game in C. Sadly there’s a lot less material about Java, and that’s one of the reasons I put up this little blog. Plus, to build this game I will not use extra libraries or game engines. I will build everything from scratch so you basically will just need to know a bit about Java programming to understand what I will talk about on these pages.
So let’s get to the point. The picture you see on the left is a mock-up, an early stage model of what I think the game will look like in the beginnings. The art is not final, obviously, but you can already notice some of the decisions I’ve taken about the game logic just by looking at this screenshot on the left.
The world will be represented as a grid. And in every single cell of this grid I will put an object. Of course there will be many different types of object with different behaviours. A terrain tile, for example, is basically a dead block in my scheme, because it offers no interactions with the main protagonist. On the other hand, I will consider interactive blocks objects like water, boxes, and every other thing that requires an interaction or involves the player’s intervention. But I will go deep into this topic in one of the next posts.
We said a few lines ago that the game we’re about to make will be a standard platform game. And when I say “standard” I mean as standard as it gets. You will probably only be able to jump, climb on ladders and use an action button to do a bunch of things, like talking to NPCs or opening gates. As you may realize I surely do not want this game to hit stores or to be the phenomenon of the century. I just want to write a nice Java game and, at the end of the journey, make the code free so that all the peeps that want to start game developing in Java can find a little reference in this blog. No big plans.
See you very soon!!!