Developing a game with the community. Step 2: Dev Toolkit

Present your own projects here, be they WIPs, betas or finished products. Get feedback from others and help each other out with some lovely testing.

Developing a game with the community. Step 2: Dev Toolkit

Postby JesusR » Fri Mar 17, 2017 1:06 pm

The fist part can be found here: http://www.badlogicgames.com/forum/viewtopic.php?f=16&t=25799&p=101755#p101755

I recommend seeing this entry in my blog, where the pics and links are displayed properly: https://jesusredondo.github.io/project/2017/03/15/VideoGame_design_III_Game_Developer's_Toolkit.html



-------------- ENTRY 2: GAME DEVELOPER'S TOOLKIT -----------------


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](http://pyxeledit.com/)


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:

Image

And here I have exported the same animation as a GIF:

Image

Of course this tool can be used with Unity, LibGDX, Cocos2d-x…


2 Tile Map Editor: [Tiled](http://www.mapeditor.org/)


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:

Image


Hexagonal:

Image


Isometric:
Image

But what it is really useful in Tiled is its ability to add extra information to our maps. The following example shown an area of the map in which I have added extra information:
1 → Where the player is going to be when I load the map.
2 → A dangerous area: when the player enters that area, monster will appear.

Image

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](https://github.com/erincatto/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](https://www.angrybirds.com/) or [Cut the Rope](https://www.cuttherope.net/) a physics engine is the way to go (both of them use Box2D).

Unity uses Box2D as Physics Engine by default. There are ports of the library for C, C++, Java, Javascript… So you can leverage its power no matter what framework/engine you choose.

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.

Image


4 Graphical editors for Physics Engines: [R.U.B.E.](https://www.iforce2d.net/rube/)


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:

Image


Particle editors: [2D Particle Editor](https://github.com/libgdx/libgdx/wiki/2 ... cle-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:

Image

And here it is the result:

Image


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:

- [Github](https://github.com/).

- [Github Pages](https://pages.github.com/).

- [Java Tween engine](http://www.aurelienribon.com/blog/proje ... en-engine/).

- [Aseprite](https://www.aseprite.org/).

- [OpenGameArt](http://opengameart.org/).



Conclusions:



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:

Image

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_](https://twitter.com/Musicaligera_)
Last edited by JesusR on Wed Mar 22, 2017 8:42 am, edited 1 time in total.
JesusR
 
Posts: 25
Joined: Thu Dec 22, 2016 2:14 am

Re: Developing a game with the community. Step 2: Dev Toolki

Postby DranikProgrammer » Sun Mar 19, 2017 6:39 am

Hello !
Would be great if you would make a game using an ECS, because this is the most popular form of making games, but it's not well documented.
DranikProgrammer
 
Posts: 76
Joined: Mon Feb 20, 2017 2:51 pm

Re: Developing a game with the community. Step 2: Dev Toolki

Postby JesusR » Mon Mar 20, 2017 9:59 pm

Well it depends on the kind of game. For some games the patter might work.

I am trying to define exactly what I want to do yet. I'll let you know.
JesusR
 
Posts: 25
Joined: Thu Dec 22, 2016 2:14 am


Return to Showcase

Who is online

Users browsing this forum: No registered users and 3 guests