Creating my first game at a earlier game jam inspired a friend and I decided to start a new project. We decided on making a endless runner because we wanted to learn the platformer’s mechanics, and wanted to create some sort of physics engine.
After some thinking we came up with the idea of the obstacles being based on colors. Being one color allows you to pass through the same color obstacle. That with nice and simple platformer controls, should be enough difficulty once we actually get to coding the levels.
At this point in time we have got the some form of movement down, with a very basic main menu and some color changing for the player. Since I started this section a bit into the project I am going to go over most of the problems I faced when I was going through making these steps.
The first major dilemma we had was the player’s collision. Though it is not fully fleshed out yet since we have yet to give the walls colors, we have gotten to the point where at least our player character does not run through it. In our first model of collision we pushed back out the player with a buffer, and used his velocity to determine which direction to push him out. So if he ran into a wall with a positive x velocity then we would push him 2 pixels left of the wall. It worked out well for the most part, but had problems with corners. Whenever we ran into colors we would often pop out the wrong side, especially when approaching the bottom corners it often pushed us on top of the platform. So it was back to the drawing board for us.
Our next solution to collision is the one we are sticking with now. We surrounded our character with a number of rectangles on each side of the player. Then we take a poll of which side has the most colliding rectangles with the wall, and set him against that side of the wall. This still has some bugs, such as when your running fast into a wall you may get too many of the wrong side because technically in that frame you are inside it, which then calculates the wrong rectangles, This is way less notable than before though.
The next large problem was coding the Main menu. It was not so much the coding but the structure that confused me when creating it. I have only used Libgdx once before and I watched a great tutorial on how to set things up, and it helped me use the Universal tween engine to add some animation too. After some experimenting I found out how the game consists of multiple screens ranging from the main menu, to the screen actually playing it. Here is the link to the series of videos. I just watched episodes 4-7 to get the gist of making the menu, it really helped out a lot.
Our last problem was not really a coding problem at all. It was actually just a decision we just couldn’t find an answer to for a while. Who our character would be, and why he would be running. Pretty much just the theme. We decided to create a Science fiction theme endless runner, and I will announce what it is exactly later once I actually am able to show you with pictures!
Obviously right now the art is really lacking (and a title haha), but hopefully we can find an artists to draw sprites for us at some point.
Hopefully I will be able to keep up to date on our latest game development exploits in this blog.