• Products
    • Phaser
    • Phaser Editor
    • Phaser Box2D
    • Discord Activities
  • News
  • Pricing
  • Games
  • Resources
    • What is Phaser?
    • Examples
    • Getting Started
    • Making your first Game
    • Documentation
    • Tutorials
    • Phaser YouTube
Log in Sign up
Build games as easily as you play them — join the Phaser Beam waitlist for Early Access.

Phaser World Issue 28

Newsletter

Subscribe 2024 2022 2021 2019 2018 2017 2016 2015

Subscribe to our Newsletter

Published on 29th April 2016

This newsletter was published over 9 years ago. Information or links within it may be outdated or no longer work.

issue-28-header

editorial

Welcome to Issue 28 of Phaser World

This is the last issue in April and 2016 appears to be rapidly vanishing into the rear view mirror. Before you let the month pass though be sure to try some of the excellent games and tutorials we've got this issue.

You'll also find a new article by me in the Development Progress section about what happens when I create a game in Phaser.

I had a chance to spend a day with the fantastic designer who created the Phaser web site, and we talked in depth about what the Lazer site should be. Hours of sorting through ideas and drafting down sources of inspiration. I'm quietly confident it'll be something special when launched later in the year.

Until next issue, happy coding. Drop me a line if you've got any news you'd like featured (you can just reply to this email) or grab me on the Phaser Slack channel.

Games made with Phaser

tetris-twist

Tetris Twist

Game of the Week

A deceptively simple, completely addictive puzzle game.

solitaire

Solitaire.gg

Staff Pick

Over 300 variations of the classic card game in a slick, responsive interface.

rival-command

Rival Command

It's Missile Command, set over the skyline of Liverpool.

the-legend-of-fangury

The Legend of Fangury

A classic action adventure platformer in the style of Golin Sword.

crazy-cat

Crazy Cat

Launch the cat into the sky then bounce it off the islands in this one-button action game.

Phaser Tutorials

ionphaser

IonPhaser

Easily mix Phaser with Ionic Framework 1.x.

list-view-class

List View Class

Easily add Scroller, ListView and SwipeCarousel UI components to your games.

rival-command-making-of

Rival Command Making-of

A write-up on the TypeScript code that went into creating the game Rival Command.

perfect-squares-tutorial-part2

Perfect Squares Tutorial

In Part 2 of this tutorial level progression and the UI is added.

patrolling-enemy-ai

Patrolling Enemy AI

Adding patrolling enemy AI to a platformer tutorial.

Development Progress

cheeta

When most people pick-up Phaser, the main thought going through their mind is "let's make a game". They've probably already got a rough concept planned, an idea of how it'll play. They start throwing some sprites around the screen, dropping in assets, tweaking, testing and refining, until they've got a game, or at least a prototype of one, running.

If they wondering how to code something they will likely look at the docs or an example, perhaps refer to a previous project, or ask online. Once they find an answer they'll implement it, and if all is good they move on to the next part of their game. This is a natural and logical process.

However when I code a game in Phaser I find it virtually impossible to do this.

There isn't a single line of code in Phaser that I haven't read multiple times. Indeed the overwhelming majority of it I actually wrote. So I intrinsically understand what it can do, and which bits to use. This may sound like a God send, but more often than not it feels like a curse. Because when I look at function I can't help but think "it should be easier than this", and then get side tracked from the game I was meant to be writing.

For example at the moment I'm building a Fruit Machine game for the Interphase 2 book. I instinctively knew that the fastest way to handle the spinning of the fruit machine reels would be to use a TileSprite with a large vertical texture. I was right, and within a very short while I had a realistic looking spinner that ran well cross device. With a fruit machine you of course need it to stop spinning and be perfectly aligned with an item. This in itself was an interesting issue: how to use TileSprite.tilePosition to align a texture to the center of the TileSprite, regardless of what dimensions either had. I solved it for the game, but in doing so I couldn't help but feel that the TileSprite class should have been capable of doing this for me already.

In a similar train of thought I was updating the Phaser Invaders game, and I was frustrated that having to iterate through a for loop just to position the sprites in a grid formation was something the Group class should be able to do for you.

It's a fine line of course. When I used to work for The Game Creators we would joke that what people really wanted was a language with a "make game" function. But it's too easy to think "the dev will figure it out". In most cases they can, but that doesn't mean they should have to, and those that get frustrated and leave are the very ones you want to help the most.

Phaser isn't just about creating games, it's about creating them easily, with as minimal code as possible. It's about removing road blocks to common development tasks, not just the hardcore ones. And every time I sit down and use it I find myself seeing road blocks that I want to smash.

I guess that's the problem of being both creator and consumer. You see imperfections where others may not, you constantly challenge the status quo and want to push in new directions. It's part of what gets me out of bed in the morning, but it can drive me to distraction as well.

As soon as someone starts to use what you've created it inherently places shackles on progress. As soon as thousands of people are using it, whole companies relying on it, the responsibility becomes even greater, and the fear of change even more compounded.

At the end of the day though it's only code, and you should always put people before code. Help them create, to not get bogged down in the nitty gritty. Let them be explorers rather than forcing them to be experts.

Calvin-and-Hobbes-Lets-Go-Exploring

Geeky Links

oli-book

Debug Microsoft Edge from Sublime or VS Code with the new Edge Diagnostics Adapter

Man attaches cheap HF transmitter to two party balloons. 14 days later, it’s almost circumnavigated the world.

Procedural Generation For Dummies: Half Edge Geometry

The Fantasy Art of Oliver Frey Extended Edition Kickstarter has gone live

Phaser Releases

The current version of Phaser is 2.4.7 released on April 22nd 2016.

Phaser 2.4.8 is now in development. Follow progress on the GitHub dev branch.

Please help support Phaser development on Patreon.

Have some news you'd like published? Email [email protected] or tweet us.

Missed an issue? Check out the Back Issues page.

© 2025 Phaser Studio Inc.
All rights reserved.

Privacy & Cookie Policy

v3.90.0

Phaser Editor

Documentation

Forums
Twitter
Reddit
Discord