Tuesday, September 4, 2012

El Flamingame - July

After watching the Professional Programmers Panel video from GDC this year, one of the tips that stood out to me was to have a blog to keep track and show any progress of a game I'm working on. So here it is...

During the month of July I continued work on a game based on a class animation last semester. It's still very buggy and nowhere near the condition I wanted it to be at the end of July.
It is coded in JavaScript for HTML5 using the Crafty game engine. It was initially going to be in Flash but after some advice, I chose to make it for HTML5 because of it's wider use on multiple platforms. Plus it allowed me to learn HTML5 and CSS3's new features...which I love! Making a game from scratch would take way too long for me so after some research, I ended up using Crafty. It had a lot of the functions I had in mind already created and it uses the Entity-Component structure which I am already familiar with thanks to a previous job when I worked with the BigWorld game engine.

I wanted to see how much I could do in a month. My ideal goal for the month of July was to just create a simple skeleton of a side-scroller. The player would be able to animate, jump, collide with objects properly, and run from one end of the room to the other. I'm embarrassed to say I only got him to animate and jump. And those functions still don't work properly. And I'm pretty sure there's a memory leak somewhere. I'm still determined to complete this project. Mainly because I want to know how side-scrollers work and I want to see if I can take it further.

During the process of making this game, I was learning the new functions and features that HTML5 had to offer. Obviously, this is a huge step forward from HTML4. I especially dig the Canvas feature. I came across the video above and it's HTML5-based presentation slideshow.

At the same time, I was learning what Crafty had to offer and how I could utilize it's functions for my needs. Trying to figure out Crafty was tough at first. It's documentation didn't quite have the information I was seeking but I quickly got over that because I'd much rather get inside the actual Crafty code to know how it works. The problem with that process of learning is that it takes a lot longer than it should. I had the habit of testing out each function I discovered to make sure it worked the way I understand it would work. And if it didn't, figure out why. This process took most of the time I used to work on the game.

Before i knew it, it was the end of July and I promised myself I wouldn't work on it anymore during summer so I can focus on other things. I still plan to continue to work on this project soon. Making a game is fun. I just wish I was better at it. I wish I had spent more time and effort on it during the month of July. I hate myself for not being able to finish a simple side scroller in a month while there are others way better than me that can finish a game in 48 hours. I want to be like them.

Hopefully, this blog post can help provide tips/tricks/advice from others who read this.

TL;DR - I wanted to make a simple HTML5 side-scroller at the end of July. I didn't get to finish it but I'll be working with it more in the future. If you have any thoughts/help/advice/feedback let me know.

No comments: