rich

The Phaser 3 Wishlist Thread :)

313 posts in this topic

Ok so a lot of this has been covered but here's my two cents:

  • Scaling support: most of the issues I've had are all stemming from the game not being able to be displayed properly on different devices/browsers etc. Coming from a flash background there was a "noScale" property that let the movie container scale to the browser window but kept all of the contents of the movie independent so you could handle all of the scaling within your project and nothing would stretch or leave any gaps. Not sure if it's possible with the canvas, if not maybe some sort of Phaser-specific renderer (similar to Ejecta for Impact) that could take care of it?
  • Native UI components
  • Better integration with Cocoon.js (or whatever wrapper suits best)
  • Box 2D, no need for 3D either
  • An easy way to hook up to greensock's animation goodies
  • multiplayer/network support
  • An easy way to create container sprite/objects, add children to them and still support the object as a single physics body. I built a workaround by not passing an id to a sprite, adding children and then overriding the physics bodies with the parent body, but it still had issues

With all that said, even without all this stuff your product is amazing and is giving an old irreelevant flash developer a new lease on coding life. Keep up the rad work, and can't wait to see what you have in store!

Share this post


Link to post
Share on other sites
  • Usage examples in the documentation. Don't get me wrong... the documentation seems very thorough from what I've seen so far, but it is a little tricky for a newbie like me to figure out how to use each function, just from reading the docs. 
  • Ability to scale canvases and images by percentages (as other people have mentioned)

I do love what I've seen so far though! Keep up the great work!

Share this post


Link to post
Share on other sites
1. world-to-screen space transformations.
2. camera smooth following and motion.
3. anchor and/or better align for BitmapFont.
4. Canvas-based effects (not WebGL-only!), such as glow, blur, etc., if possible.
5. Box2D-physics.
6. Circle bboxes for the Arcade physics.
7. To solve issues with negative scale values for sprites.
8. Easy import tweens from Flash.

And:

 

For me the most important wishlist item is improved scaling to fit mobile screens. What I'd like is something which:

 

- Scales to fit any size browser, with the option to fill the screen if wanted

- Can keep the aspect ratio without squashing

- Can dynamically resize if the user rotates the device

 

+1000

Share this post


Link to post
Share on other sites

 

3. anchor and/or better align for BitmapFont.

 

Yes, this! Quite a pain now with i18n when text length is different and you want the bitmap text center aligned. Actually I would love to be able to align anything in relation to its parent or screen, not just multiline text.

 

And +1 for improved scaling...maybe a NO_BORDER scale type could solve things?

Share this post


Link to post
Share on other sites

I'll give another +1 for basic networking.

 

I'm not quite sure what this engine provides, but it sure sounds sweet:

 

 

When You Say Multiplayer Don’t You Just Mean Websockets?

Anyone can make a websocket connect, this is way more than that...

Unlike other engines that throw in Socket.io or another networking library and call it “multiplayer”, Isogenic Engine provides the most advanced networking and realtime multiplayer functionality available in any HTML 5 game engine. The system is based on entity streaming and includes powerful simulation options and client-side entity interpolation from delta updates. The system was inspired by Valve’s Source Engine multiplayer system and you can read more about that here: Source Multiplayer Networking

Isogenic’s code base runs the same API on both a browser and Node.js and comes with a built-in multiplayer server module. You write the same code, in the same language and call the same API from both the client and server making Isogenic a truly JavaScript-only engine from front-to-back.

Source

Dread Knight likes this

Share this post


Link to post
Share on other sites

The ability to generate lines on the display and then interact with these. Right now if I make a line using the Phaser.Line method I can't interact with that line i.e. get a user to follow their finger across it.

Share this post


Link to post
Share on other sites

I would LOVE to see automated support for handling higher resolution assets. Something like in Gideros Studio.

 

Basically the engine would decide what device the game is running on and you would setup up a config file where you would tell it when to switch over to higher res assets.

 

The base would be 480x320 and the you'd have @2x (960x640), @4x .... and so on.

 

Any chance of this sort of thing happening?

ianmcgregor likes this

Share this post


Link to post
Share on other sites

I am fairly new to Phaser here is what I would like to see

 

1. Authoritative Server / Client similar to the Isogenic engine to prevent / deter cheating.

 

I'll give another +1 for basic networking.

 

I'm not quite sure what this engine provides, but it sure sounds sweet:

 

Source

 

2. Modular / Reusable Code for games similar to Impact++ for ImpactJS.

 

3. Spine support

 

4. Controller Support (if not already implemented.)

 

5. Some sort of basic 3D level editor for placing 3D and 2D objects.

Share this post


Link to post
Share on other sites

Maybe I've missed some part somewhere with the callBacks...

 

There's one onStart, one onLoop, one onComplete, but no onPlay callBack...

Which I find weird, so weird that I think I've missed it, but I can't find it :(

 

Cool stuff I liked in the flixel Power tools, were the sinwaves applied to static images...

There's probably a phaser plugin for it, or not,  but I really think that shouldn't come as a plugin, but as a feature.

 

Why ?

 

Because with one pic in the background of the presentation page, like flames, you get moving flames.

2 pics superimposed, with asynchrone sinewave effect applied to each, and you get super flames.

 

It really helps.

 

Another usage could be "teleportations/vanishing" effects on sprites for example.

 

But flames.

 

Like freaking flames.

 

Dread Knight likes this

Share this post


Link to post
Share on other sites

radial (circle) collisions in arcade physics -- like overlap using circles (I don't know about the actual collide stuff, don't want anything advanced but just a circular overlap detection).

 

Support for true wraparound, so I don't have to program it manually -- (I'm having problems related, although my code does work alright).

Share this post


Link to post
Share on other sites

One more, last but not least, my wish is to add some global messaging system, e.g.:

http://thejacklawson.com/Mediator.js/

To have a "global" alternative to the "local" Signals is extremely useful, so now I often add a mediator as a Game instance's member on startup:

game.mediator = new Mediator();

Unfortunately, the Mediator above has glitches, and, as not a part of the Phaser, it looks a little alien.

Maybe something similar is already exist as a plugin or something (I'm not sure..)

drhayes likes this

Share this post


Link to post
Share on other sites

Parallel state support is what I miss the most in Phaser and I'm thrilled it's planned even for the 2.2 release. Overall I'm really pleased and impressed by Phaser, and it's hard to find anything to ask for. Just a minor thing I though of:

 

I don't know if this is a good idea, or if there already is an easy way to do this but I how about something like inBoundsWakeup and outOfBoundsSleep (similar to outOfBoundsKill)? I have a tilemap with enemies in an object layer and I would love to have something like "inBoundsWakeup" to startup enemies when the player get close to them so that they start at a position that I have choosen. Maybe "outOfBoundsSleep" would be nice too, that enemies freeze when leaving the bounds but wakes up when inbounds again. Even better would be to be able to do this relative to a position, so that you can to set a sprite to wake up if the player is within say 500 pixels even if thats outside the screen. For me enemies start to move when the game starts and a lot of them get stuck in pits before getting to them. I guess I will find a solution when I look into it but I think this would be a way to have it built in.

Share this post


Link to post
Share on other sites

Glad you appreciated it. Another thing I've been struggling with that could go into Phaser is tween/transition of bounds. A basic example where this could be useful is a NES Legend of Zelda-clone. The Zelda map is made up by screens that is static until Link reaches the border of the screen, then the screen scrolls to the bordering one. This transition could be achieved by something "game.world.tweenBounds(dest.x,dest.y.dest.width,dest.height,milliseconds)" and I think the camera would follow nicely if its set to follow the player.

 

I guess that the Zelda-example could be achieved just by using the camera. However, a more complex example would be Super Metroid (SNES) where you want to change bounds in corridors to be exact height of the screen preventing the camera from moving vertically when jumping, or chasms to be exactly the width of the screen, or big rooms that can scroll in all directions without showing the contents of bordering rooms or a boss battle with bounds in an exact fit of the screen. This is hard to achieve in a smooth way without gradually alter the bounds I think.

 

By the way, I'm not 100% sure I understand how Phaser handles bounds and what this kind of changes of bounds could have on other functions.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.