YATS - Performant and Flexible Level Editor

Hi there!

As YATS slowly approaches is v1.0 release, I thought it nice to have a little topic for updates and all.
First of all though, a bit about YATS!

YATS was built from the start to be as performant and flexible as possible. 
It’s meant to have the capability to display even an infinite amount of tiles , and the flexibility to use it in any kind of projects , from apps, to games of any genre.

We’ve already quite reached past the first point (check out these videos to see 500.000 32x32 tiles running on an iPhone 4 , and the endless maps, wrapping around the x and y axis to create endless scrolling effects  http://ragdogstudios.com/?p=1342 and http://ragdogstudios.com/?p=1354), and we’re steadily working towards flexibility.

Also, coming soon in the next update, our full physics editor. Draw any kind of polygon, rect, circle or line directly in Tiled and it will get seamlessly integrated into your game, no matter the shape or the number of vertices. You can also specify density, friction, bounce and any other parameter, as well as taking advantage of specific callbacks to fill or colorize your shapes , or even make them completely invisible to work on top of your tiles map. Plus, integrate any image directly in Tiled and, thanks to Corona latest addition, bring it to the physic world with one click.

YATS already integrates seamlessly in the Corona experience. Once a map is loaded (it’s your choice to weather load multiple layered maps in a single group, or in several ones), it acts exactly as a group. You can scale it, move it, add objects in it, remove objects and everything else that you would do with a normal group. No custom functions, just good old Corona API.

YATS v0.2 currently features:

-Load any .json tiled map, no matter the amount of tiles in it (the only limit is the device memory)

-Decide wether to load all the layers in your map in a single group, or separate them to easily achieve effect such as parallax scrolling, fading and more

-Animate your tiles, choosing frames, time and loops just through tile parameters in TIled

-Use square or rectangular tiles

-Scale up and down entire maps at any time, by simply changing the scale of your group. YATS will automatically adapt to it

-Wrap entire maps, no matter the size, around the X and/or Y axes for beautiful animated endless background s or full games

-The resulting group allows for maximum flexibility. Drop other objects in, add events and more without worrying about YATS algorithms, just as you would with a normal group

Our current roadmap for v1.0 includes:

-Physics: automatically merge as many physics bodies as possible to allow for best performances and remove fastidious issues such as “stick to invisible edges” of box2D. Still allows you to draw your own physics bodies in Tiled, or use a tile physic approach.

-Helping functions to grab tiles data, modify it and more. 

-Save and load tiles data at will

-Real time map data changes

-Active objects culling and pooling. Drop as many objects as you want in a YATS group, and it will automatically be optimized to run at the best possible performances

-Load data from .psd/.ai files. Easily use YATS to create your menus or non-tiled levels in a matter of minutes

We still have a long way to go (and an even longer list of features after v1.0 will finally see the light), but we’d love to hear any feedback, even if you’re still deciding wether to support us or not. We want to build a tool that can easily be used anywhere by anyone, without compromising performances and flexibility, so even the most crazy requests will definitely be considered (:

You can take a look at YATS at http://ragdogstudios.com/?product=yats-performant-tile-engine-for-corona-sdk

https://www.youtube.com/watch?v=Hfd1UT1D4B4
https://www.youtube.com/watch?v=a8YT6ngLhbg

A little update! (;

https://www.youtube.com/watch?v=a8YT6ngLhbg

Coming this week, full physics support for YATS. Draw rectangles, circles, polygons and lines of any kind and shape in Tiled. Be it non-convex or with more than 8 vertices, YATS will automatically make any shape into a fully compatible box2D body, perfectly positioned in your scene. You can define the body type, friction, density, bounce and any other parameter you need to identify your objects. To top it all off, it will also take care of culling them, allowing for blazing fast speeds.

A little update! (;

https://www.youtube.com/watch?v=a8YT6ngLhbg

Coming this week, full physics support for YATS. Draw rectangles, circles, polygons and lines of any kind and shape in Tiled. Be it non-convex or with more than 8 vertices, YATS will automatically make any shape into a fully compatible box2D body, perfectly positioned in your scene. You can define the body type, friction, density, bounce and any other parameter you need to identify your objects. To top it all off, it will also take care of culling them, allowing for blazing fast speeds.