September 30, 2014

Project: Tower of Fun

I am not really sure how I ended up here, but I like it and I think I shall continue while the interest lasts. It's been a month or two since I began dabbling with the web, and one fine day, last week I had decided to implement a dungeon generator. There's a fancy word for this -"Procedural Content Generation" - wiki, I think. The end game I have in my mind is probably some sort of minimalist roguelike built on html5 and Javascript.

I decided to pick Phaser as the game engine, primarily because it's ridiculously easy to use. Phaser has simple ways to deal with complex tasks such as collision and physics and, handles these in the background while you work on the real game logic. Not to forget the abundance of documentation and a helpful online community. I tried getting my hands dirty with craftyJS, and I really - REALLY liked the Entity-Component System (ECS) it implemented. But, it just didn't offer the breadth of functionality or documentation or ease that Phaser did. I might move to Quintus (which also implements an ECS) if it becomes mature enough. I like ECS. It just clicks with me.

Here's the  Dungeon Generator I had made last week. Uses a simple Binary Space Partitioning technique to carve out rooms and corridors. Portray's Phaser's amazing tilemap and tilemaplayer class in action.

Soon after that, I had gone through a few more tutorials on Phaser and kinda built an idea of how a game in Phaser is structured. The states and various function calls finally made sense to me. I have to admit, vacillating between having to choose craftyJS, Quintus and Phaser has given me quit a nightmare and a helped build my perspective on engines in general. I spend days googling strings like "Phaser vs" or "Quintus vs Phaser" or "craftyJS dungeon". I guess this would be a phase ever gameDevNoob would go through if they were just figuring out the awesomeness of html5 game engines and had to pick one (out of many amazing ones).


A whole bunch of other Phaser related links:

html5 game engines : Shows a popularity index
Breakout Project : Implementation of the classic Breakouts on various game engines to help you pick one.

Articles on ECS



Back on Track

Picking up game dev as hobby again brings back memories. Especially trying it out on a new platform on an all new engine. The last time I had tried something like this, was back in school. I had used C++ on the HGE engine to build a pretty ok tank Shoot'em Up (shump). I don't even want to talk about my experiences with Allegro.

I got myself an account on BitBalloon and hosted my Work-In-Progress.
Tower of Fun is going to be a infinite procedurally generated top-down shump roguelike with probably some unique features that I have in mind. Too many keywords... ya, I am aware. 
Once I figure out how to use bitbucket or Git in general (read: noob) I shall write up on ToFv1 and ToFv2. Well, for now, you can see how it's going in the above link. 
I draw my own sprites. :) edit: Ha! Girlfriend taught me how to use github. Source code's here - TowerOfFun
Back to TowerOfFun Project