Jump to content

What does Phaser have that Pixi doesn't?


ForgeableSum
 Share

Recommended Posts

For me the biggest sell for Phaser is bitmap data objects - having the versatility of a separate canvas element inside an element in the game world is a must-have. I'm curious though, as to what other things Phaser has that Pixi doesn't. What are the advantages of Phaser vs. Pixi? Curious to hear everyone's thoughts. 

Link to comment
Share on other sites

States, inputs (keyboard, mouse, touch), sound, physics system, camera, scaling, unified events system, tweens... all the "other" stuff besides graphics that a lot of games need.

 

I think a lot of game engines start out using Pixi as a renderer then seem to drift away as the engine's needs become more complex. Panda is going through the same thing as Phaser, or at least it was a few months ago.

Link to comment
Share on other sites

I think a lot of game engines start out using Pixi as a renderer then seem to drift away as the engine's needs become more complex.

It's actually because Pixi does a lot more than just rendering, and so to game engine developers it can seem like a bloated API.

You can build your own fast custom renderer that does everything you need for games in just a few hundred lines of code.

Pixi v3.0 has partially addressed this by allowing developers to do customizable, minimalist builds, so we may see engine developers turn back to v3.0 in future - time will tell.

Link to comment
Share on other sites

I haven't worked directly with Pixi.js, so my answer is going to contain a lot of assumptions based on the fact that I know that it is a rendering engine and not a game engine.

 

Phaser is a full-fledged game engine. As such, it handles tons of things beyond just rendering:

  • Physics
  • I/O
  • Camera scrolling (e.g. camera following you in a sidescroller like Mario)
  • Collisions
  • State management
  • Tilemap Support
  • Spritesheets/Animations/Tweens
  • Audio
  • Game Loop
Link to comment
Share on other sites

 

I haven't worked directly with Pixi.js, so my answer is going to contain a lot of assumptions based on the fact that I know that it is a rendering engine and not a game engine.

 

Phaser is a full-fledged game engine. As such, it handles tons of things beyond just rendering:

  • Physics
  • I/O
  • Camera scrolling (e.g. camera following you in a sidescroller like Mario)
  • Collisions
  • State management
  • Tilemap Support
  • Spritesheets/Animations/Tweens
  • Audio
  • Game Loop

 

I didn't know Pixi isn't a full-fledged game engine and is just a renderer. Huh. Now the whole Phaser-Pixi relationship makes a lot more sense.. Thanks for clearing that up for me!

Link to comment
Share on other sites

I didn't know Pixi isn't a full-fledged game engine and is just a renderer. 

That's actually a good thing!

 

A handicap of full-fledged game engines is that they make certain decisions very easy for you.

If you're willing to work inside their box, and want to build the kinds of games the engine was designed to make, you'll do well.

But as soon as you step outside of that comfort zone, things can become much more difficult than they need to be.

That's because, with a game engine, you're working at a very high level of programming.

And that means many of the fundamentals that you'll need to be able to control to produce what's in your imagination will depend on skills you don't have.

 

In addition, I would suggest that to possibly succeed as a game designer in an incredibly competitive market you need to make games that are completely different from the games that other people are making.

Does the world really need more platform and match-three games?

If you can do something really, really different, it will stand out.

And, to do that, you need the programming flexibility to go beyond the cookie-cutter confines of a game engine.

 

The advantage of starting at a lower level with a good renderer like Pixi is you can code your own features as you need them, and learn the art of game design along the way.

The exellent list of game engine features that @druphoria provided above can be written, from scratch, with a just little bit of code, and just a little time investment to learning how to do it.

And, arguably, that time investment that you put into learning to do it yourself will pay itself back in less time spent bug fixing later - if you've written the code yourself, you'll understand its inner workings and know how to fix it.

And, you'll develop the skills to anticipate the kinds of problems you'll need to solve before you're waist deep in them, and learn to defensively recognize and code around common pitfalls.

 

It's a bit like the difference between making music by learning to play a real instrument or by constructing music with pre-recorded loops and samples in Logic or GarageBand.

It takes longer to learn how to play the instrument, but you'll have total control over your music when you do, and produce music that doesn't sound the same as everyone else's.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...