Why develop games

in #introduceyourself7 years ago (edited)

The backstory

As you may know, I'm not a game developer at my work, but I still love to make games in my free time. I do this since I was young. When I started the university, I got my hands wet in Java. I really appreciated the language, and I found it a convenient language. At first I made some Minecraft mods. Then I wanted to make some games. The university only offered some minesweeper/tic-tac-toe like board games with grids of JButtons, but I wasn't really fine with that. I wanted to make something more serious. Some realtime action with tons of stuff. So I started by extending JComponent and tried to make my own engine for an RPG Maker like game. (long post, conclusion at the bottom)

My first big project

This was my first time trying to handle something this big, before that I only made some 'tech demos' and text-based adventure games, so naturally I didn't know too much about this topic. I literally spent 90% of my freetime doing stuff. First I just drew a red line across the screen.

Then I tried to make a tilemap, I created three tiles in GIMP, and made a text file containing numbers between 0-2. After some tinkering, it turned out really good:

And also made some camera movement between the four corners of the map. Then it came to my mind, that I have to make some other layers, because the terrain by itself is really boring, so I put in some trees:

And I started to experiment with the Player object. This gave some challenges. I had to do some clipping to only show what the player actually sees. Implementing a keylistener class. Implementing some basic collision with the tree layer. After I tried it out, it looked well, until I went to the edge of the map. As I forgot to clear the map before each frame, I got a nice overdrawing effect:

Yeah, that big yellow circle is the player's sprite. After implementing the first iteration of the Player's class, I got bored with this icon, so I created a sprite with an RPG maker sprite creator. I also implemented the animation, and also made the sprite facing the direction it goes.

[Okay, here I'll skip a lot of phases, if you're interested tell me in the comments and I'll make an update with the other stuff :)]

So after tons of development, I had very much in place. Inline colored text, enemies, stats like HP/stamina, pathfinding, different AI for different entities. This is a screenshot of that:

And it was still blocky, so I also made an autotile system (oh, and implemented XP for slain monsters and levels)

I also tried to roll my own component system for dialogs/buttons/sliders/etc. And one of my friends asked me: "will be there multiplayer mode?" And after some thinking I said... why not? Let's make an MMORPG mode.

So here's the component system in action (half english, half hungarian xD)

And here's the character selection screen:

And here's an actual multiplayer session (and now each player has a dog, who'll wander around when you're nearby, and run towards you if you're far)

So yeah, I made quite a progress since that red line across the screen.

The conclusion

What is the purpose of the story? Why would you bother with things like this, when we already have engines (Unity, Unreal, LibGDX, etc..) around. Because you learn a lot of things you'll need in other areas not just in game development. I put my code for the RPG in a version control system, and when I looked back I was amazed how much did I change and improve after all this time. At first I didn't even optimize my code, didn't even know how sockets work, I barely had some concepts about finding the path for an entity. And I learned all of that. And in the meantime I also made some side projects about experimenting with a tons of ideas.

And the cause for showing you the beginning pictures is to remind you that not every goal is achievable instantly, you have to put your sweat into it. Do not stop, when a great obstacle is on the road, try to get around it. We're living in the age of the internet, where almost everything have an answer. If not, try to ask it. :)

Sort:  

Hi @Rothens.

I can see you went through a lot of trouble making this post and it deserves more recognition. (As discouraging as this can be - just keep doing it and it will one-day start paying off. Or at-least that's what I tell myself).

Goodluck with your work and welcome to Steemit.

Thank you! :) That's my opinion as well, and I always keep pushing forward.

Hey @Rothens

Great game you made there! I my self like to program games in my free time using unity. Sadly I'm no where near as experienced as you are! Anyways keep up the good work and hope to see more posts like this from you.

P.s: I'm also from Hungary ;)