To Phaser, or not to Phaser

I’ve had a little time to think things through, in particular I’ve been trying to decide if I should continue with using Phaser as a framework. After seeing how quick and easy it was to put a game together using Phaser it seems like an attractive option, however I’ve always had a nagging doubt that I might be being led astray by a shiny new toy. Granted the toy is very powerful and has plenty to play with so you can’t blame me!

In order to decide how to move forward I’ve had to figure out what it is that Phaser is bringing to the table and what specifically do I have doubts about.

Pros & Cons

So why is Phaser great? Other than the fact I quite like the name these are the reasons I would consider using it for this project:

  • Speed - the first and most obvious factor is that Phaser is a complete framework which means functionality is only a few lines of code away. Considering I am itching to move on to building the AI this is a very appealing quality.

  • Quality - some very clever people have built Phaser and no doubt they have a lot of experience in building games. Everything works extremely well which means I doubt have to worry about testing (although I probably should!) and I haven’t yet had any exceptions or bugs. I foresee a lot of that happening if I were to build things myself.

  • Features - Phaser has everything you need to build a complete game, probably more than I would need (ie. physics). This is obviously really awesome, especially as I don’t really know what is needed to build a complete game.

  • Support - Phaser has a good community that are always on hand. This is extremely helpful when you’re taking your first Bambi-like steps into game development. If I’m struggling to get something working, which happens frequently, it’s nice to know I’ve got somewhere to turn to where people will be familiar with the problem.

So that all sounds pretty good! Why would I possibly not want to use Phaser? Well, here’s a few thoughts:

  • Learning - this is a big one for me. I set off with the goal of beating Quoridor knowing that I probably won’t achieve it. So why take on the project? To learn. To learn about all the aspects of game development. I’m concerned that by using Phaser I’ll have too much handed to me and I won’t really understand what’s going on.

  • Satisfaction - now this may seem a bit silly to some, but I get a big buzz from creating things for myself and I just don’t get that same buzz when using Phaser. It feels like someone else has done all the thinking and the hard work and I am just taking the easy route. People will argue you are always using something to help you along (jQuery for instance) and why should you repeat work someone else has done? I certainly get where they are coming from, but I guess it’s just a personal preference.

  • Thought process - when I’ve been working with Phaser I’ve found myself thinking in a ‘Phaser’ way. This isn’t inherently a bad thing but I’m concerned that rather than learning how to build a game I’m learning how to use a particular framework. Whilst I’d undoubtedly learn plenty of transferable things, I’m not sure I want to jump straight into a particular framework. This may well be a little short sighted and some of you more experienced types are probably chuckling to yourselves. Oh well.

Conclusion

So in the end I’ve decided I’m going to have a go at building something without Phaser. It’s certainly not going to pretty and will inevitably be slower but right now I’m feeling bold and full of energy. I’m definitely not turning my back on Phaser, I have a sneaky suspicion that before everything is said and done I’ll be back nestled in the comforting bosom a sophisticated framework provides.

P.S. coming soon - Tic-Tac-Toe!