Framework chosen: Phaser

Posted by of United Federation of Planets
August 23rd, 2014 2:17 am

I recall making some basic 2D platformers a few years ago (warning: code rot! broken in my FF) with CraftyJS. A quick peek at its page shows that it was last updated in January, which isn’t exactly inspiring me to go back and use it again. So I googled, and wound up at Jaws.

Jaws really captured my attention for a bit: it seems to do all the things I want, and I like the philosophy it’s taking off the bat. But… some of the 10 examples are buggy (like blocking right-clicks pagewide when the mouse isn’t used), and there is no “structure of a Jaws app” page. There are just pages telling me to make gamestates and how some of the constructors work. The lack of documentation makes me think I’d be in for a bad time, so on to greener pastures.

This list hilariously says “no, look here instead for an updated version!”, then says “but also, that version is broken” — a bunch of the table doesn’t fit onto the screen. The ‘notes’ don’t aren’t super useful anyway; I’m looking for subjective evaluations, here. I can find out an engine’s features by just clicking on it, but I can’t find out if it’s widely regarded as sucky or great, has a good community, has useful docs, etc. That which would help me a lot.

This list finally came to the rescue. The rating system is exactly the kind of meaningless number I need to have to deal with the insane amount of choice in engines. Then there are tags like “WebGL” and “free”, rather than paragraph-style notes. I can quickly use them to tell if something is worth a deeper look.

Not entirely surprisingly, the top-rated and most popular entries are not-entirely-free or outright paid and are more or less “no programming required” deals, with a lot of drag-and-drop and learn-the-UI stuff. Those are cool, and you can make good games with them. GameMaker is a great example of that. I personally get frustrated when making a game in something like that, because I feel like too much is being hidden from me, and like the skill I’m learning is “how to use this app”, rather than “how to make a game”. If I ever decide to move to another platform or don’t have this app available, I won’t be able to make a game, because I won’t know how.

Which is stupid of me, because seriously, when will that ever happen or be a need I have? But alas, hamartia.

Anyway, the next engine, Phaser, looked great — until I saw the book that wants me to pay $129. “Sounds like a scam!” I thought. Then I wondered, “what’s below the hundred billion news post links on the main page?” and guess what, it’s USEFUL THINGS. There’s a “Getting Started” section and it links to a blog post that takes you through a whole minimal first game. They have some number in the hundreds of examples. They have a section explaining that you need a web server and how to get it and why, and what editor to choose! My kind of people, they are. It looks to be fully functional and have the community usage to prove it, along with the documentation to help me get off the ground in a reasonable period of time.

So, Phaser it is. That only took two more hours. 1 day, 15 hours, 40sih minutes left. 😀

PS: okay so ALSO, just gushing now: the Phaser README on github is crazy-comprehensive and has a ton more links and GUESS WHAT, they seem to name all of their releases after locations from the wheel of time universe. I was like “I wonder if Amadicia is a real word that Robert Jordan just used for the name of a place?” and bam, they’ve got Tarabon and Illian and all kinds of great names. Cool cool cool.


One Response to “Framework chosen: Phaser”

  1. c023-dev says:

    Phaser is great! If you have VS2013 set up and Typescript it’s even better (Code hints and compile debugging)

    Here is the guide from the guy that made PHASER:
    http://www.photonstorm.com/phaser/how-to-use-phaser-with-typescript

    (I’m using VS2013 for web – you just need the Typescript update for it and it’s free)

    Best wishes!

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]