Autómata finito en C# para Unity3D

Este artículo es una traducción del que escribimos originalmente en Inglés.

Los Autómatas Finitos o  Máquinas de Estado Finito (FSMs en sus siglas en Inglés) son bastante útiles en contextos muy diversos, como probablemente ya sabrás si estás leyendo ésto. Desde el menú al comportamiento complejo de las entidades de un juego, una buena FSM puede mejorar la legibilidad de tu código y simplificar el diseño. O convertirlo en un infierno de código espaguetti, dependiendo de cómo se implemente…

Continue reading

First steps away from Google App Engine

I’ve just walked one day in the shoes of a server admin and I’m already looking over my shoulder, missing Google App Engine. Things simply worked there. I just uploaded an app and it was running in no time (HTTP 500 error apart). We couldn’t, of course, install our own software. And we were forced to use their datastore, which was not that bad after all. Developing for GAE is a breeze and deploying even easier. Indeed, we still have an application for a client in development for Google App Engine. But we wanted to explore new seas, just in case.

Running your own virtual server on whatever service you choose is a daunting task. No matter if it’s Amazon Web Services or one among the myriad of hosting services out there, you will be forced to face the truth: there are lots of things that must be installed and configured. And administered, because things will break down.

So we created an Ubuntu droplet – what DigigalOcean calls a virtual server, installed nginx, pip and finally Tornado – the Python web framework we’ve chosen, and we were able to access our server and a web app in a few hours. That, of course, after investing days and weeks looking for a proper hosting service.

Now we’ll see how Tornado can be daemonized, or just how to keep it serving pages no matter what happens. Then we’ll install MySQL, completing the LAMP… uh, sorry, the LN(ginx)MP(ython) stack. And finally some tools for monitoring the server. And probably a ton of other things we are not even considering right now.

This is gonna be fun, indeed.

UPDATE 1: I’m finally using Supervisor to keep my Python Tornado server up and running. I installed MySQL, which I maintain with SQLBuddy (seems lighter than PHPMyAdmin), for which I also had to install PHP to handle CGIs. Somehow this is all working, although I’m sure there are security holes everywhere.

How to find the UUID / UDID for iOS devices

Ad Hoc distribution allows you to share an application with up to 100 iOS devices that must be registered by developers in their iOS Provisioning Portal (with a limit of 100 devices per year!). If you want to distribute your Apps to thousands of users you must submit them to the App Store, even if they are free, but Ad Hoc distribution is still pretty useful for testing purposes. You may want to share your App with betatesters before setting it free in the Wild!

In order to register a device for Ad Hoc applications developers need the unique identifier (UUID or UDID) of the iOS device where the App will be installed. How to find it?

1- Start iTunes
2- Connect your iOS device to your computer and wait for it to be listed under ‘Devices’
3- Click on your device. On the right side of the screen you’ll see its picture and, among other things, its serial number. That’s NOT the UUID. But click on it!
4- When clicked, the serial number turns into a huge alphanumeric string (40 characters). That’s the UUID/UDID.
5- Don’t try to select it with your mouse, you can’t! But you may still copy-paste it by pressing CMD-C, CMD-V (or Control if you are in Windows). Do yourself a favor and don’t do it by hand… although I guess we all did the first time.

 

Looking for Japanese players

Quite difficult, I would say. Much more because finding a reliable translation of something you have in mind is quite complicated. It’s already difficult writing all this in English, given that it’s not my mother language! I was looking for a short sentence to write in Twitter, along with a link to the game trailer.

At first I wanted to say My name is Tsuyu, the name of the main character. I found out that

私の名前は …

seems to mean ‘My name is …’ and in this blog I found how to write Tsuyu: 梅雨 Tsuyu means literally ‘plum rain’, the name that is given to the rainy season around June. That’s why we choosed that name for our little hero: he is able to summon rain. So, ideally

私の名前は梅雨

would mean ‘My name is Tsuyu’.

Edit: it seems that it’s not exactly correct, as it sounds like ‘my name Tsuyu’. It should be written like this  私の名前は梅雨です

Anyway and just in case I looked for something easier. I tried ‘It’s raining‘, which @japangaijin confirmed in Twitter that it is written like  this

雨が降っている

Also quite nice, as that’s what happens in the game: it must rain so trees can be brought back to life.

Finally I also found that

もうすぐ梅雨入りだね~

means something like The rainy season is about to begin, which sounds perfect! Assuming that it is correct, of course. If was a friend of mine who loves Japan who told me so, but a confirmation would be great.

Will it reach Japan? I hope so, but it’s already difficult reaching someone outside Spain in English… just imagine trying to write something in such a beautiful but complex language as Japanese!

Tsuyu, our tiny hero.