In this entry we will review a bunch of tools that are key to develop our video game. This time all the tools are important no matter what framework/engine we are using: LibGDX, Cocos2d-x, Corona, Unity …
Let’s see what we got!
1 Pixel Art graphic editor & Animator: PyxelEdit
PyxelEdit is a multiplatform (Mac, Linux, OSx) graphic editor for pixel art that costs 0€. It is completely designed to create sprites, animations and tiles for our games. Its main advantages are its lightweight design and ease of use.
PyxelEdit allows working with layers, just like Photoshop. It supports exporting in many different formats. In the following example I have exported an animation as a TextureMap:
And here I have exported the same animation as a GIF:
Of course this tool can be used with Unity, LibGDX, Cocos2d-x…
2 Tile Map Editor: Tiled
Tiled is a multiplatform tool completely free. It is the perfect tool to imagine and plan levels and maps made of cells.
It supports square cells:
But what it is really useful in Tiled is its ability to add extra information to our maps. The following example shows an area of the map in which I have added extra information:
Where the player is going to be when I load the map.
A dangerous area: when the player enters that area, monster will appear.
Metadata in Tiled
The maps created in Tiled are exported into a file that includes all the features we described using the editor. This file can be opened and read by any framework/engine (LibGDX, Unity, Cocos2d-x…) and it will have to be used as the basis for creating all the objects, textures, metadata, conditions of our map in the game.
3 Physics Engine: Box2D
Box2D is a physics engine that simulates all the physics for recreating a realistic world. In this world we define bodies: our main character, the floor, the walls… and the properties for these bodies: density, friction, elasticity, position… you get the idea. The physics engine is in charge of simulating how all these objects react when interacting with other forces and collide.
For basic games or games with no realistic physics like platformers, we could try to create or own physics mini-engine. But if we want to create realistic physics iterations in our games like Angry Bird or Cut the Rope a physics engine is the way to go (both of them use Box2D).
In the following example I am using Java’s Box2D implementation with LibGDX to simulate a square that moves to right at a constant velocity. The ball is affected by gravity and I move it by applying forces to it.
Box2D simple simulation
4 Graphical editors for Physics Engines: R.U.B.E.
Graphical editors are an aid to work with physics engines. We could define all the entities in the game by directly coding them… but in order to create complex worlds including many entities things can get too much complicated.
R.U.B.E. is a graphical editor that allows us place all the bodies and properties of a simulation in a very easy way.
Similar to Tiled, R.U.B.E. generates a file that can be read by Unity, LibGDX, Cocos2d-x… to be interpreted. The file is converted to a world in our game that Box2D can simulate.
Rube costs about 40€, but it is an indispensable tool if we want to work woth realistic and complex physics. The editor itself allows us to do simulations before exporting them:
R.U.B.E. can run simulations
5 Particle editors: 2D Particle Editor
The particle effects are the confetti of video games. They are images, colors and shapes shown on the screen that follow some determined pattern (sometimes a random pattern).
2D Particle Editor is an editor for LibGDX, so it can’t be used in Unity, Cocos2d-x an. This time I present a tool that is not the easiest to learn neither the easiest to install… but hey, it’s what we’ve got in LibGDX and besides… it is free.
In the following example you can see how we can play around with the editor to simulate a fire effect:
2D Particle Editor
And here it is the result:
Fire particle Effect
6 Other Tools:
Of course there are many other tools, but hey, this post has to end sometime. Here I left you some other tools I use in case you want to further explore:
That is the arsenal of basic tools we need as programmers / designers.
Of course there are other alternatives to the tools I have reviewed. But at least I hope you can get an idea of the different elements that play a role in the video game creating process, so you ultimately end up using the ones you like most.
Here it is a gif from a bizarre/random project that conglomerate all the tools used in this entry:
A bit of everything
Do not hesitate to comment on doubts and to leave me new proposals for the following entries!
Follow me on twitter for more entries like this → @Musicaligera_