18

I am new to game development and I want to learn game dev. I have discovered the Phaser framework and I want to learn it.

Should I learn Phaser 3 or Phaser 2/CE? What is the difference?

16patsle
  • 513
  • 7
  • 12
nazimboudeffa
  • 939
  • 6
  • 20

3 Answers3

27

Phaser 3 is the latest version of Phaser and succeeder of Phaser 2. When the official development of Phaser 2 ceased Photonstorm released Phaser into the hands of the community, this is Phaser CE (Community Edition). The community has done excellent work with continuing Phaser CE development. Because Phaser 3 is now available, there are only two reasons to use Phaser CE:

  1. If you're already working with a Phaser 2/CE-project or maintaining one.
  2. If you know Phaser 2/CE and have a tight deadline.

Otherwise, I highly recommend Phaser 3:

  1. It's a complete rewrite of Phaser. It's modular and based on lessons learned from Phaser 2. You'll have a hard time to find anything superior with earlier versions.
  2. It's the future. The community is already migrating to it, so it will be much easier to get answers from the community. It will continue to evolve with the development of JavaScript engines and browsers. You can expect bugs to be addressed promptly. Phaser CE on the other hand, has bugfixes submitted by the community. (Phaser CE isn't LTS as stated in another answer).
  3. New features. Don't expect Phaser CE to any more new features. Phaser 3 already have Facebook Instant games support and have a roadmap of upcoming features. It has a custom render that you can expect to be updated frequently.
  4. The docs are continuously improving. For a long time they haven't been as good as those for Phaser 2/CE but they're getting there. There is a massive example database hosted at phaser.io/examples/v3. Phaser 3 is not harder to learn or use than Phaser 2/CE.
  5. In general: If someone take the time to rewrite a framework it's probably for a good reason. If Phaser 3 failed to replace Phaser 2/CE it would be the death of Phaser, but no signs of that so far. If you want a framework that will also be a viable choice in the future, you should really go for Phaser 3.
16patsle
  • 513
  • 7
  • 12
Niklas Berg
  • 371
  • 2
  • 2
7

You have a point with starting with the newest version, and I tried doing that, but there is very little external reference available for it. The documentation is not readable at all, and there are few examples.

In this stupid little card game I've been working on for a couple weeks, I'm using 2ce. Between the docs and examples, I've been able to figure out most everything I need to do.

I tried 3. Between the relatively sparse examples and the unreadable docs, it was highly unusable.

[Jan 2021 edit] In 2020 I had an opportunity to work on another li'l game project and chose Phaser 3. In the interim couple of years, the documentation has been filled out and the community has turned over quite a bit.

The above text was true at the time of that post. Currently, Phaser 3 ecosystem has matured quite a bit.

monsto
  • 1,178
  • 1
  • 13
  • 26
2

Consider CE as being like a LTS (long-term support) version, not too much changes in it, mostly fixes and small updates, but it’s stable as hell and well covered with docs / tutorials / examples

But there is a special phaser faq that says to use Phaser 3 if you are new to the framework because you will have to learn everything from Phaser 3 if you start with Phaser 2 (CE)

nazimboudeffa
  • 939
  • 6
  • 20