Making a video game – Part 1

in #programming6 years ago

I’ve been a hobbyist programmer for a long time, even when I was in high school, playing the masterpieces of art and technology like Final Fantasy 7 (okay okay, it looks dated by today’s standards), but I know that I’m not good enough of a writer to come up with the paperback equivalent. However, I would be able to build the structure of the world block by block and use the blocks to tell a story. I did push my way into the field of programming, JUST IN TIME for the dotcom crash where over night the small-ish company that was willing to take me on turned around and told everyone that did not ALSO have the computer science degree to pound sand.
I still had the interest and the motivation, so, I continued to learn how to program a bit better for myself, and have gone and made a few copies of games to expand on the skill set. Starting with a Tetris clone written from a blank page in C++, now, with the prospect of handheld computers being pervasive and with improved tools, I’ve come across some tools that would allow the targeting of those platforms, and with the constraints that make small developers viable I taught myself Java and found a set of development tools to make the process of learning simpler. This engine is called LibGdx (www.badlogicgames.com).
Since then, I’ve gone through a number of simple projects to test out how to make use of the technologies available on the phones.

After having effectively completed a few projects, I’ve started the process of a project that was significantly wider scope than I had anticipated when I started: An RPG game.
Before that, all the projects were simpler; the game would occur in the real time and everything gets processed in cycles of actions.
Just to demonstrate the cycles a bit better for those who are not aware of how a video game program works:

  • The frame rate cycle: a game is projecting the scene updated 60 frames per second
  • Game world cycle: goes through to verify that every entity in the game world gets updated (AI movement for example)
  • Controls cycle: to verify which buttons are pressed and how to respond to the buttons
  • Time of day in game: Because to keep the perception that the player is in a real world, there’s day and night
  • Heads up display: There are only very few games that do not have some sort of display to let the players know some of how they are doing in the game, that needs to be kept up to date
  • Audio: Have to be able to play music because most people do not play games like me, the game visual while listening to my own music.

Anyway, because I started this project using art and music from an open source project that I later found out was the result of a book I want to give some credit to Patrick Hoey and the project he made while writing his book “Mastering Libgdx Game Development”, the tileset is a CC-BY-SA called “DawnLike”, and the music is also CC-BY-SA by various artists (I will have a prominent credits page if I ever actually put the project out there). I wanted to give credit , particularly to the author because, while what I am making IS using the art assets he is using, and I have incorporated some of the code to accomplish some tasks, ultimately, the vision I had goes in a different direction.

That said, I will make this more like a development blog rather than a tutorial series, if only to prevent our friend from feeling robbed…

Thanks for reading.

Sort:  

Congratulations, this post was rewarded with a SteemGC Upvote!

Want to meet fellow Steemit gamers and earn upvotes yourself? Join the SteemGC Discord channel!