2014 has gone and this is our yearly analysis so we can enjoy, once Â again, all the things we have done together during this amazingÂ year!Â
Do you remember our last yearÂ post “Bigger, better, faster, …. “ ? Yes, I know… that was a long article. The list of new things was incredible and we spent a lot of time writing about the most relevant features. This year isÂ not different, we were thinking about the new things that we madeÂ in the last year and we noticed that they are a lot more than the previous period! Keep reading, this will be a wild ride along all amazing things that you are currently enjoying in Flare3D.
Collisions and Physics system
Flare3D 2.7 came with one of the most wanted features in Flare3D. Our own “Collisions and Physics system”. Included into Flare3D’s core, is the fastest and mobile friendly collision’s system that you can find in Flash. We did a small set of getting started examplesÂ and weÂ even had some funÂ doingÂ our own version of the mega-hit Flappy Bird called ‘Flappy Flare’ for you!
To see what’s possible to do with it, check out the following video. All of them are using the new Flare3D Collisions and Physics engine.
if you want to know more about Collisions and Physics, Â you can also read this beautiful post.
FLSL and shadersÂ fun!
AGAL2, MRT (Multi Render Target), we added lots of new features and keep FLSL up to date with the latest Flash Player improvements and features, but we didn’t stop there, we’re adding a whole new range of innovation to support impressive rendering pipelines without affecting current workflow and still keep the designers flexibility we’re all used too, which is definitely awesome
One of the first examples was AIR Gamepad Demo,Â which was impressively runningÂ on mobile as well!
Workflow improvements withÂ Flare3D IDE
We have added a new full set of features here, from workflow improvements to a completely redesigned and improved F3D file format (which we’re going to talk about next in this article). This allows for a lot more complex and bigger projects, as well asÂ simplifying tedious and boring optimization tasks forÂ different platforms.
We have also added the new Texture options panel with a nice set of options, and more beautiful and helpful thumbnails and tool tips, and tons of improvements and optimizations to the whole tool. We’ll go in more detail onÂ all these featuresÂ in a new, coming soon blog post!
F3D binary files are back!
Before Flare3D 2.0 was released, the Flare3D’s files were saved as F3D files. F3D was a binary and compact file containing all theÂ necessary dataÂ for eachÂ 3D model. Once the Flare3D 2.0 was released, the old F3D was replaced by a new format called ZF3DÂ (whichÂ is basically a zip file with a set of files containing all the information 3D models need).Â ZF3D files use an open and simpleÂ structureÂ so that everyone isÂ able to change and mess with it without to too many complications, as well as bringing a friendlyÂ format to be exported from different 3D modeling software.
The main problem with ZF3D is that it’s largely based on XML files and its loading process could be slow, as well has having other limitations and less features to keep its simplicity. That’s the reason why we are goingÂ back to the F3D binary format. The results areÂ amazing!, F3DÂ not only improved loading times “a lot”,Â but it also optimizes file sizes depending on eachÂ Â particular platform, so for example, on mobile you can avoid some compression to be able to load things faster, but on web, you may want the smaller file you can get.
F3D is not only about file size and faster loading times, it also brings a lot behind the scene optimizations, huge memory improvements, and full range of newÂ features like shared packages,Â embedding any type of assets like xml’s, or sounds or whatever you would like to put inside, easier access to all loaded resources, the ability to upload, download and dispose packages in a more organized way, multiple scenes, and the list goes and goes 😉
So, whyÂ not removing ZF3D files then, well, both ZF3D and F3D files have its purposes, it is like having a PSD and JPG, a FLA and SWF files, in the same way, ZF3D files are losslessÂ and are useful whenÂ editing / exchange during development. Once you have all set, you can export the final F3D files for shipping your projects.
HolyÂ sparkles Batman!
AÂ new Sprite Particles system was added to Flare3D!, a powerful combination betweenÂ GPU and CPU, bringing a lot speed and flexibility at the same time. Â Differently fromÂ the currently fully GPU partciles system, the new Sprite Particles allows to treat each particle individually, and create a lot more flexibleÂ visual effects.Â Since it does not require to pre-compute bigÂ buffers, they are fully dynamic, interactive and take a lot less GPU memory as well, still,Â maintainingÂ full rendering speed troughÂ batching in fewÂ draw calls lots of particles together. All this comes with a little cost, in which we need to update particles at CPU side, so depending on each particular case, you may still want to use the old particles forÂ specific cases like fire or smoke…where youÂ don’t really need too much flexibility or interaction.
Since the new sprite particles is more about flexibility, it mostly works from as3 side, so it will require a bit of code to make things work, but while getting a lot more freedom as well 😉
This is what the “boy wonder” said when he discovered the new particles system.
Â Added static objects and automatic batching.
Optimizations are always welcomed, and this is not a minor one. We added the option to set objects as static, the engine will internally try to optimize all those objects to reduce draw calls as much as possible, which means, a lot more rendering speed!
How this works?, basically, you set the objects to be static in the IDE via the properties panel, or through the Pivot3D setStatic method in As3, and that’s it. All those objects will be sent to a Static Batch which will do its best to optimize the rendering of those objects.
This of course has some limitations, as you won’t be able to move or animate objects that are set to be static, also some features may be disabled like changing materials or setting objects to a different layers, but as any tool, you just need to use it in the right place 😉
Static batching is really cool, but dynamic batching is even more than cool It only works on specific cases, but it really does a good job!
A dynamic batch (or MeshBatch3D) allows you to groups multiple identical objects (in their geometry and materials) and draw them in fewer draw-calls, which also speeds the rendering time a lot!
It is specially useful in cases where you need to renderÂ tons of bullets, trees, game coins or pick-ups, enemies, basically, every time you have lots of identical objects.
And the best part, these objectsÂ can be moved, rotated or scaled and support camera culling.
And that’s not all!
Along 2014 we were involved in the development of two amazing projects, pushing Flare3D more and more.
The first one was Lightstorm, a futuristic racing car game that we made to demonstrate the capabilities of Flare3D, the power of FLSL and theÂ new Physics engine.
The second was Regular Show – Dimensional Drift, a racing car game inspired by the popular cartoon of Cartoon Network. The game can be played in two different modes “Single player” and “Multi player”. Was released in november and until now has more than 2 millions of plays and it keeps in the top five of the most popular games atÂ Cartoon Network.
Thank you all!
The latest section is for you guys! For those people that trust in Flare3D, for their commitment with the community and because you make incredible things with our engine. THANKS!
Â â€œMy momma always said Life is like a box of chocolates, you never know what your gonna getâ€
â€œMy CTOÂ always said Flare3D is like a box of chocolates, you never know what your gonna getâ€
Flare3D’s crew member