Friday, 29 August 2014

How to code a game

Well, first of all, I'm not a professional game developer, as I wrote in this article, but one of my hobby is to write games.

During my developer's life, I've received a lots of questions about how to become a game developer, how to write a game, and more. In this article I'll try to respond you, explaining what you need in order to write a good game and what could be the right way to follow.

Do you want to be a game developer ?


If you want to be a game developer, you need to read a lot about algorithms (I wrote an article about algorithms books that I liked), and, of course, a mathematical background is needed.

But, assuming you've those kind of skills, what about next ? Well, most games are written using a not-too-much-high-level programming-language, like, of course, C & C++.

Ok, assuming you know C and C++ well enough, the next step is to:
  1. Write an engine yourself directly with OpenGL
  2. <--- OR --->
  3. Choose a good Game Engine that will help you while writing the game

Choosing a good game engine


Well, choose a good game engine is not ease. As far as I'm concerned, it depends on what you expect from it, and, primarily what kind of operating system would you like to support.

The best that I can recommend you are:
  1. Cocos2D (>= v3.x)
  2. Unity3D
Don't be fooled by the naming; believe me, 2D or 3D does not mean what it can do. They support 2D and 3D programming either (assuming you're using the last version of both).


Unity3D


It's a framework, a game engine, an IDE and make you a coffe when you're tired. Shortly: it's what you need assuming that you're ready to pay (yes, it's not free at all!) to write your first game and you know that your games will bring you money.

If you would like to proceed in this way, learn more with this book. Pretty easy.

Cocos2D


This is my favorite game engine and framework. But there are different version of Cocos2D. So, which kind of version is better rather than the others ?
  1. Cocos2D-x: You can code your games using C++
  2. Cocos2D-js: As the name suggests you, it support javascript as the main language. Think as web games.
  3. Cocos2D-swift: The Objective C version of Cocos2D-x, only for iOS and OSX.

I personally use Cocos2D-x because it's open source, free-to-use without pay nothing, and it give you the possibility to easily support:
  1. Windows (Intel + ARM)
  2. Linux
  3. OSX
  4. iOS
  5. Android
About Cocos2D-x, I can recommend you some books:
  1. Cocos2d-x Game Development Essentials
  2. Cocos2d-x by Example Beginner's Guide
But be careful: these books are a little bit old because we're now at the version 3.x of the framework and what I linked above are about the version 2. Many changes was be made between these two versions, and tons of methods and classes are been deprecated, so probably the best reference you may found around the web is this, the official wiki page.

Write a game engine using OpenGL


This is probably the hardest way you may choose.  This topic needs an article. I'll write it later durint this week as a part-2 of this one.

Thursday, 28 August 2014

Good Algorithms Books

During the previous post, I wrote about my interests. One of them are algorithms. I read tons of books about that, and in this article I'll give you which books I've really appreciate and, of course, that I'd like to recommend you.

The Algorithms Library


First of all, imho, the best (must have) books about algorithms are:
  1. The Algorithm Design Manual by Steven S Skiena. I think this is a masterpiece, with a fair amount of mathematical notation and few illustations. Skiena war-stories are amazing and so is the HitchHiker's Guide.
  2. Algorithms by Robert Sedgewick and Kevin Wayne. It covers many topic, features many drawings, no mathematics notation and variable traces to help follow each algorithms chronology. 
  3. Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein. From the MIT Press, and, if I remember correctly, this one is used by a lot of university. 


The last but not the least:

  1. The Art of Computer Programming by Donald E. Knuth. This is a collection of amazing books that covers almost all of what you need to know about algorithms, explaining them a really strict way, using Mathematics notions. It's pretty hard to read, but guys, it's awesome.

What about you ? What's your favorite books about algorithms ? I'm glad to read your preferences.

Hello, World!



Hey, you!

I really don't like to write blog posts. And much more to maintain blog's stuff. Argh.
This is another blog that I'm trying to maintain. Ah. Ah. Once again.


About me


As a developer, my tech skill is about Java, C++, Objective C and C#. These are my starting point, but I'm really interested in learning more. Plus, I really love reading about algorithms and mathematical stuff.

And these will be the articles I'll write here. Yeah.

Actually, I'm working as a Project Manager and Senior Software Engineer at LiveBox from one year. Since when I started here, I worked on different platforms, like iOS, OSX. Currently I'm working with the Windows platform (and, of course, the *ckin .NET).

About LiveBox




LiveBox is a private file sharing. With LiveBox you can store, sync and share your data in a new, better and secure way. It is available on premises with its Private Cloud Platform or hosted by our Partners As a Service. (cit. official site)

This kind of platform is very interesting, and, of course, I'm very glad to work with an amazing team of really talented developers.