Archive for the ‘Molehill’ Category

Farmville 2 – Powered by Flare3D

Tuesday, March 19th, 2013


UPDATED: Zynga published FarmVille 2 Almanac with an infographic showing  info about how FarmVille2 grew in the last months. With FarmVille 2, Flare3D becomes in the most used 3D Flash Engine around the world! Click the image below to see it.


Farmville, one of Facebook most played games ever, with more than 3MM daily users, and reaching a pike of 80MM monthly users, has launched its Sequel. Now in 3D!

What we denominated the Next-gen casual games some months ago, is now a reality. Using all the power of Flash 11, Flare3D and stage3D, amazing facebook games can be developed, and Farmville2 is a proof of this.


Zynga’s “FarmVille 2” demonstrates how to make a high quality game using the amazing 3D capabilities included in Stage3D. This game will probably be of great inspiration for all those studios that are not sure how far they can go using 3D on Flash. Enjoyable characters, smooth animations and friendly gameplay are raising the social games to a new level.


From the beginning, Flare3D has been supporting FarmVille 2 development, and now, after playing the game in our computers, we are very glad with the great job made by Zynga’s dev team!
If you haven´t played FarmVille 2 yet, then, you can see the next video that shows FarmVille 2 making of and discover why Zynga chose real 3D to provide users a much richer experience.

Flare3D is waiting for you!  Are you ready to use it in your next game?

Getting started with FLSL : Part 1

Tuesday, October 16th, 2012

We are going to open a “request for beta” very soon, so, it’s a good time to introduce some of the concepts of the new version.

If you didn’t see the previous post, you may want to take a look first here.

If this is your first time in the shaders world, this short description may be useful: (from wikipedia)

Shaders are simple programs that describe the traits of either a vertex or a pixel. Vertex shaders describe the traits (position, texture coordinates, colors, etc.) of a vertex, while pixel shaders describe the traits (color, z-depth and alpha value) of a pixel. A vertex shader is called for each vertex in a primitive (possibly after tessellation); thus one vertex in, one (updated) vertex out. Each vertex is then rendered as a series of pixels onto a surface (block of memory) that will eventually be sent to the screen.

How do I use them in Flare3D? The process is very simple!

First rule! don’t panic! at the beginning you may get a bit confused, but you’ll see pretty soon how easy and fun is to play with shaders 😉

  1. Write your shader in a file with an (*.flsl) extension.
  2. Drop the FLSL file into the Flare3D tool (image above), and it will output a file with the same name plus a (*.compiled) extension.
  3. Embed or load the compiled shader file into your AS3 project.
  4. To use your shader, you can create a FLSLFilter to use in your Shader3D mixed with other fitlers, or you can just create a FLSLMaterial for a static material.

So, let’s start from the basics and take a look at some of the data types availables in FLSL:

  • Namespace: Yes!, namespaces, like in AS3, you can import different packages (namespaces in flsl) to make your shader code easier.
  • Samplers are the data type related to textures. You can use sampler2D for traditional 2D textures or samplerCube for cube map textures.
  • Techniques: In each FLSL file you could have one or more techniques that define different behaviors for the shader like, different profiles of the same shader, or simply different materials or filters in one file.
  • Outputs are the variables that defines the final state of the shader, at minimum, each shader should write the vertex position and fragment pixel.

There are other data types that will be detailed in future  posts, but for now, let’s see what this code does:

sampler2D texture

We declare a variable “texture” of type “sampler2D”. Samplers are public variables and they are exposed also on AS3 side so you can change it  also by code.

output vertex = transform();

In this line, we declare a variable vertex of type output and assign to it the value returned by the function transform() (declared in flare.transforms), which contains a simple vertex multiplication to transform the raw vertex data into the perspective vertex position into the screen.

output fragment = textureMap( texture );

And finally, the declaration of the variable fragment of type output also, and assign to it the value returned by textureMap(), which gets the pixel value of the sampler texture passed as a parameter.

The output data type, is a dynamic one, and it is reserved for certain output values. In the case of  veretx and fragment variables, they are declared as float4 values which represents a XYZW for the vertex position and RGBA for the fragment.

So, there are so many new things here…but don’t worry!, with just some examples you’ll see how much powerful and easy is to get around it.

See you in the next part!.

Flare3D Shader Language – Sneak Peek

Thursday, July 26th, 2012

As many of you already know, coding shaders is a very difficult task, but to write them in AGAL is even harder!

This is why we created FLSL, a High Level Shader Language for Stage3D!

But, FLSL ins’t only a typical shader language, it includes tons of amazing and innovative features we will dedicate specific posts, examples and tutorials!

And to demonstrate some of the power you’ll be able to play with, here is a demo made by our dear user Jason Huang using the new version of FLSL!

FLSL will be included in the upcoming Flare3D 2.5 version,

No more excuses! now, everyone can play and have fun with shaders! 😀

Stay tuned!

Vodafone NetGuys Advergame

Wednesday, December 14th, 2011



Are you fit enough for the network of tomorrow?

That´s the question you will have to answer by playing this great 3D flash advergame developed  by the digital creative agency “North Kingdom” for Vodafone Germany.

netguys1 netguys2

This game was developed using Flare3D and takes  full advantage of stage 3D´s capabilities, but what`s better than hearing from them about this project and their experience working with Flare3D, here is a short interview:

Could you please tell us a little bit about this project and how did you come up with this idea?

It was a short 4 week project. The idea was to create a game to go along with an ad-campaign running for Vodafone Germany.
This is the TVC:
So we came up with an idea based on that for the gameplay. Each guy, that represents a bar in the reception icon, has a unique skill that is needed to overcome obstacles while going through the city. So “keep the right guy on the track” is the basic idea.
Here´s the intro for the game


 Why did you choose Flare3D?

We choose to use Flare3D mainly because we are already using it in another bigger/longer project already. :) So we could exchange knowledge in between us developers and quickly get up to speed.
We needed a stable engine, since it was such a short timeframe. So we couldn´t afford to have much api-changes and stuff like that while developing. We also needed a solid “pipeline”, 3d-artist to developer, for the assets. Flare3D have a great 3dsmax plugin for that. That is one of the key things imho, that many engines seem to overlook. I think the way you are going with Flare3D Studio is a really good idea.

character character2

Are you working on any other project involving Flare3D ?

Yes, like I said we are working on another bigger/longer project, that should hopefully go live sometime early next year. It´s for “a big animation studio”, and that’s about all I can say right now. :)

Why did you chose Stage3D instead of a technology that requires plugins?

It was mostly because of reach. With the flashplayer you can potentially reach more people. We discussed around webgl aswell, but you lose IE then. Also webgl didn´t run that good on some peoples macbooks, so they had a hard time “selling” that. Also the flashplayer is traditionally often used for games so people are used to that.

Would you like to play this game?
North Kingdom Website: