Jump to content

1.0.7 progress update


rich
 Share

Recommended Posts

Hi all,

 

The next version of Phaser (1.0.7) is taking a bit longer to complete than anticipated. We've finished off about 95% of the API docs, have totally overhauled the physics system, sprite bodies and loads of other things. There are some significant changes internally too:

 

1) Worlds no longer have a fixed size. They are now centered around the 0,0 coordinate and extend infinitely in every direction. You can of course set bounds on them (and the Camera), but equally you are no longer restricted in how those bounds should go - so if you want to make a game that is all about the world rotating around the player it's now really easy.

 

2) The Camera has been overhauled as well. Following a sprite no longer 'jitters', it has a new bounds system and more importantly it no longer modifies the local position of ANY game object. Before I was updating the objects local transforms based on the camera placement. But this was a bad idea and after a chat with Mat (Pixi.js) we decided it would be far better if the World was a single display object container and the camera just shifts the position of that. This has dramatically reduced the complexity of the Sprite update loop and physics collision, both of which I'm very happy are now solid and robust. Objects can still be "fixed" to the camera (i.e. for UI/HUD) if you need.

 

3) ArcadePhysics has had a complete overhaul too. The velocities are now properly integrated, all of the motion functions are revamped and working and we've created lots of examples showing them in action. Personally I really love just being able to do: game.physics.moveToPointer(bullet, 800) and have a bullet fly across the screen correctly :)

 

4) New static html examples! The examples page has been re-designed to match the web site and we're in the process of doing away with the requirement of php to run them. Also we've dropped the examples running inside anonymous functions. They now populate the global scope, which while bad practise for a full game is actually really useful when messing around and learning, as you can open the console and tweak things instantly.

 

I created a new Tanks game last night to test and show-case most of these new changes:

 

post-1-0-64986500-1381326106.png

 

You can play it here: http://gametest.mobi/tanks/

 

There is more to do with this game of course, but it's now a good demo of what's possible I reckon.

 

I still need to finish the documentation (basically the gameobjects folder) but more importantly tilemaps are removed from the current dev branch until I redo the collision handling for them. That is the last final piece of the puzzle before we can launch really. The old (flixel inspired) collision method isn't going to work any more, so it needs to move to something more sophisticated and that will take a little time (if you've got a fully working / 100% robust tilemap collision system that supports slopes then drop me a line! it will help speed things up a lot).

 

So bear with us, this is a significant update but probably the best we've ever released. I would also really like some people to test it out before we push it live, but I'll post a new thread about that when we're ready as it's changing daily right now.

 

The full gory change log is here: https://github.com/photonstorm/phaser/tree/dev

 

Link to comment
Share on other sites

The tank game example looks sweet I'll definitely going to hack around it. :P

 

Also I checked the bugs that were holding my breakout progress:

 

and with 1.0.7(dev) they are nicely fixed:

http://mihail.ilinov.eu/games/phaser/examples/collision/sprite%20vs%20sprite-Test2Cool.php

 

Fairly to say there is some "timeout" before the sprite reposition when sprite.body.x and sprite.body.y are directly set  

well maybe I'm not understanding something or it needs a better look:

link: http://mihail.ilinov.eu/games/phaser/examples/collision/sprite%20vs%20sprite-Test1.php

 

And one more thing since Rich mention testing, the bug is fixed  here too:

http://mihail.ilinov.eu/games/phaser/examples/quadtree/quadtree2-BUG.php

although there was a little change i made:

alien.velocity.setTo(100 , 100);

to

alien.body.velocity.setTo(100 , 100);

 

And also a BIG THANK YOU to the TEAM for superb fixes and adding docs and new stuff and Glory Glory phaser! :)

Link to comment
Share on other sites

Mike:

alien.velocity.setTo(100 , 100);toalien.body.velocity.setTo(100 , 100); 

Yeah I removed Sprite.velocity for now because it assumed there would always be a binding to Body, which is now an optional object (i.e. not needed if you're using your own physics system). I think it makes more sense to just get people used to using body.function to be honest. After all I would have to create a whole load of properties on Sprite otherwise (like angularAcceleration, etc).

Link to comment
Share on other sites

  Just a small note on this for people waiting specifically for the docs - lot of it is there already, so if you are new to phaser (like me) and want to start trying things out asap (like me), the current documentation in the dev branch is perfectly useable for the learning process. You will have to delve in the code occasionally to understand some concepts, but not nearly as much as when you are just going through the examples alone. 

 

Nice little framework you have here. Thank you and don't stop being awesome ;)

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...