Impact Vs Phaser?
Okay, so while I’m still processing the SAT thread, I’m looking ahead to when I actually want to get steaming ahead with games and, although I don’t like it, it seems that the only way to do that, given the amount of free time I have, is with a game engine.
I’m sure they’re probably both decent, and I’m not so worried about the cost of Impact, so much as the inevitable trade-off between being able to do what I want, and being able to work out how to do what I want.
Any thoughts on this from the community? Anyone used both and have a qualified opinion, or even a totally biased and unsubstantiated opinion?
I’m aware that this has probably been discussed before, probably in a lostcast (in fact, lostcast 73 had a lot of this - probably why I’m now thinking about it again in the first place), but I’m lazy and demanding and now you’re going to have to discuss it again. And discussions are more interesting than listening to podcasts again. Or you could refer me to the lostcast episode that deals with it. I’m not listening to Quite an Impact again, unless there’s also one about Phaser. Which there may well be.
I’ve used neither Phaser or Impact, so my opinion is completely and enthusiastically unsubstantiated and unqualified :)
But at the moment Phaser is getting a lot of traction and has a very active community, so it seems as though it could be a worthwhile investment to learn.
However, I personally find Phaser’s API a bit messy, and the core code and repository monolithic.
It doesn’t map well to the way my brain works… but maybe that’s just me!
But if you built your own high-level API wrapper around it, you’ll able to leverage the technology and have your own, more intuitive API.
Alternatively to Phaser or Impact, you can easily make your own game engine out of component parts.
These are the technologies that I use:
Renderer: Pixi (which is fast, stable and beautifully designed)
Easing: Tween.js or Greensock
Pointer/Touch Events: Hand.js and/or Hammer.js
… and maybe for fun throw in famo.us for building your UI.
That way you can pick and choose the best of what’s available and develop your own workflow and API.
That’s really all Phaser does anyway, with the addition of its own state manager and game loop - both of which are fun and easy to make yourself.
(you should def. release that btw)
We did! It’s all there on blog/GitHub. That’s the only time we used Impact, so it was ~4 years ago but my understanding is it hasn’t changed much. It’s an especially solid choice if you intend to make a side-scrolling platformer and/or ship exclusively on iOS (due to its sister project Ejecta).
That said, I always prefer open source when possible. A proprietary project can whither on the vine or just get shut down unexpectedly. We investigated Phaser for a mobile contract earlier this year, and the cost of learning/redoing didn’t justify the benefit. But that’s only because we already had our own tools ready to go – just wanted to see if there was something better available.
Soooo the important bit is it all comes down to your personal preference (since the price tag isn’t an issue). Phaser is gaining ground and having a strong, helpful community is a big plus. My advice is to try both and see which one feels more natural to you. The initial time investment is just a drop in the bucket in the grand scheme of game-making :)
The initial time investment is just a drop in the bucket in the grand scheme of game-making :)
That is a very good point :D
As @d13 said, Phaser’s community seems to be way more active, with lots o’ plugins, examples and tutorials.
Also, the rate in which Rich is putting out Phaser updates is incredible!
But as everyone said, at the end, it’ll just depend in or preferences.
I personally like Phaser the best, as it’s closely related to Flixel.
I might be talking out of my butt, but looks like Phaser doesn’t gets in your way. It loads things, displays images, plays sounds, gets input, handles physics and that’s all. If you wanna put a ECS over it, you can! If you want your entities to be state machines, you can!
Now, with Impact it looks like you give it some files describing your entities and it does all the stuff.
Basically, you would use Phaser inside a project to have your barebones game loop + some nice features and then throw your own systems over it.
With Impact, you would create some files telling Impact what you want to do.
Again, be careful when analyzing my opinion, as I have never used Impact and used Phaser only a little.
Also, take in account that both frameworks are probably only really appropriate to arcade-esque games.
Lately, I’ve been more advocate of the approach @d13 seems to be taking: having a barebones game loop and hard code things over it. When you need something you don’t wanna implement, import some library to do the job.