Learning to design video games

Almost 6 years ago, I published my first video game: Egg Savior. I thought it was a great opportunity to learn what it takes to publish a game, and I was right. I did learn a lot, specially a lot about production. I also tried to get some visibility which introduced me to the super hard world of marketing and advertising. I even had a partner for the distribution in South Korea which ended up being quite successful.

Game design is hard

egg_savior_shotI also learned that designing a video game is hard. When I created the first 10 levels, I carefully sorted them by difficulty, from the easiest one to the hardest ones. Then, I did some play testing with the help of a few friends of mine. I asked them to tell me how much time and objects they ended up needing to complete each level, as well as how many attempts. The results were shocking.  Seguir leyendo

Publicado en English | Etiquetado , , | Deja un comentario

Q-learning: Aprendizaje automático por refuerzo

“Tekno the Robotic Puppy” by Toyloverz – Own work. Licensed under CC BY-SA 3.0 via Wikimedia Commons

Últimamente se ha dado bastante bombo a la investigación realizada por la empresa Deep Mind donde consiguen que un programa aprenda a jugar a juegos clásicos de Atari. El artículo original es del 2013, pero por alguna razón la prensa se ha vuelto loca hablando del tema en 2015. El artículo de Deep Mind combina el reciente interés en deep learning con el clásico algoritmo de aprendizaje por refuerzo q-learning, inventado hace más de 25 años. Seguir leyendo

Publicado en Español, ingeniería | Etiquetado , , , , , , , , , | 5 comentarios

Nothing to fix here, move along

keep calmOnce again, I got one of those bugs that can be quickly resolved. The bug description matches precisely what the team meant when we wrote that piece of code. We did that on purpose, and there is a resolution for that in your favorite bug tracker: WONTFIX. It will only take a few seconds of my time, and my bug count will go down. Seguir leyendo

Publicado en engineering, English | Etiquetado , , | 3 comentarios

¿Qué es y cómo funciona “Deep Learning”?

Deep Learning es el término de moda últimamente. Parece que cualquier avance importante en aprendizaje automático se apoya en el famoso término. En el momento de escribir este artículo, no hay a penas recursos en español, por eso he decidido escribirlo en ese idioma. Con el objetivo de que sea lo más ameno posible, voy a evitar las fórmulas matemáticas. Encontrarás enlaces a artículos en inglés con las fórmulas en caso de que las necesites.

Seguir leyendo

Publicado en Español, ingeniería | Etiquetado , , , , , , , , | 42 comentarios

Automation

As an engineer, it is my job and my passion to create and improve technology.

Ever since we started transforming simple rocks into knives and hammers, technology has deeply affected society. We can do things that seemed impossible for humans, like flying, and visiting other worlds. But also, technology has allowed us to do essentially the same things as before, just faster and using less resources, like traveling and feeding. We can even do the same things as before but using many more resources, like with plastic cutlery, but that’s another story.

Seguir leyendo

Publicado en engineering, English | Etiquetado , , , | 2 comentarios

Egg Savior 2.3

I am proud to announce the latest version of my android game. It has been more than three years since I started this journey, and I am still learning when I find some time to spend improving it.

Egg Savior Seguir leyendo

Publicado en English | Etiquetado , , , | Deja un comentario

El compilador “closure”

El compilador closure (no confundir con el concepto de closure) es una de las múltiples herramientas disponibles para mantener nuestro código Javascript un poco más saludable. Es la opción que mejor conozco, y por eso voy a comentar cómo funciona.

Closure es un compilador capaz de convertir lenguaje Javascript extendido con anotaciones (en los comentarios), a otro Javascript optimizado para su ejecución y habitualmente más pequeño. Además, realiza un análisis estático de nuestro código para encontrar errores comunes y verificar las anotaciones. En mi opinión, este análisis estático es la funcionalidad más interesante de este compilador, ya que existen múltiples minificadores de código que resuelven la otra parte. Un ejemplo de estas anotaciones:
Seguir leyendo

Publicado en Español, ingeniería | Etiquetado , , , , | Deja un comentario