CategoryBlog

Gamificación y participación ciudadana

La gamificación consiste en la aplicación de mecánicas de juego y diversión a entornos formales como podría ser una empresa, un centro educativo o una institución. Se basa en introducir elementos competitivos o desafiantes como un incentivo para fomentar buenas prácticas o comportamientos. Se ha hecho popular en multitud de ámbitos durante los últimos años, desde el entorno educativo al corporativo. Hoy nos centraremos en la gamificación como una forma de fomentar la participación ciudadana en los proyectos colectivos propuestos por una institución.

Continue reading

Entrada en el blog de APSL: validadores asíncronos en angular

Os dejo esta entrada que he escrito para el blog de APSL donde explico como implementar un validación asíncrona utilizando ng-model.

Ir a la entrada: validadores asíncronos con ngModelController

Charla e-commerce un mercado sin fronteras

El próximo jueves 23 de Junio daré una charla sobre e-commerce enmarcada dentro del proyecto re:activa de Sant Josep. El objetivo es dar una introducción al comercio electrónico a comercios y empresas de la zona para que puedan aprovechar la convocatoria de subvenciones del Govern de les Illes Balears. La charla empezará a las 19:30 y se tratará todo el proceso de creación, las decisiones que se deben tomar, los problemas típicos y los recursos necesarios para tener nuestra tienda en línea. Tampoco faltarán algunos conceptos sobre marketing en línea, atención telemática al cliente y ejemplos de negocios exitosos.

Toda la información de la charla aquí

También en el blog de APSL

JUEVES 23 DE JUNIO DE 19.00 A 21.00 EN LA OFICINA MUNICIPAL DE SANT JORDI

Configuración de Ionic Framework

Hoy he empezado a probar Ionic, un framework para la implementación de aplicaciones móviles híbridas. Las aplicaciones híbridas aún están en un punto complicado, al estar implementadas en HTML5 y JS  hace que muchos móviles aún no las puedan mover con suficiente fluidez. Aún así, resulta muy interesante la posibilidad de implementar un única app que funcione en todos los sistemas operativos móviles. Su principal argumento es que se espera que pase lo mismo que con HTML5 y el PC: que en los próximos años los móviles aumenten su potencia y su autonomía y puedan mover las apps sin problemas. En esta entrada, resumiré el proceso de configuración y como resolver algunos problemas sencillos que me he encontrado durante la instalación.

Ionic está implementado sobre AngularJS y utiliza Cordova para generar las aplicaciones. Las apps se implementan como aplicaciones Angular ampliadas con directivas, servicios y el look and feel proporcionado por Ionic. Por ello, será necesario tener unos conocimientos mínimos del framework de Google.

1. Instalación de Cordova

La instalación de Cordova la realizaremos utilizando el gestor de paquetes de NodeJS npm:

sudo npm install -g cordova

Nota: la opción -g instala Cordova a nivel global en todo tu ordenador.

Los problemas aparecen cuando no tenemos los entornos de desarrollo configurados de la forma que espera Cordova, en ese caso la instalación nos lo hará saber con un mensaje de error.

Configuración Android

Al habilitar Cordova para Android encontré un par de errores, el primero fue:

WARNING: Your system does not meet requirements to create android projects. See error output below.
The command `android` failed. Make sure you have the latest Android SDK installed, and the `android` command (inside the tools/ folder) added to your path. Output: /bin/sh: android: command not found

SKIPPING android bootstrap.

Que resolví siguiendo la guía oficial de Cordova para habilitar Android. Resuelto el primer problema, llegó el segundo: es necesario tener instalada como mínimo la versión 4.2 del SDK de Android:

WARNING: Your system does not meet requirements to create android projects. See error output below.
Please install Android target 17 (the Android 4.2 SDK). Make sure you have the latest Android tools installed as well. Run `android` from your command-line to install/update any missing SDKs or tools.

Una actualización con Android SDK Manager:

android update sdk

y todo listo

SUCCESS: android ready to rock!

Configuración iOS

En lo que respecta a iOS me encontré con el siguiente problema:

WARNING: Your system does not meet requirements to create ios projects. See error output below.
Xcode is (probably) not installed, specifically the command `xcodebuild` is unavailable or erroring out. Output of `xcodebuild -version` is: Error: No developer directory found at /Developer. Run /usr/bin/xcode-select to update the developer directory path.

SKIPPING ios bootstrap.

Una búsqueda rápida del error y encontré una solución lanzando este comando:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Si todo ha ido bien veremos este mensaje:

SUCCESS: ios ready to rock!

2. Instalar Ionic

sudo npm install -g ionic

Si os aparecen errores de instalación del estilo:

npm ERR! Error: No compatible version found: colors@’^0.6.2′

Probad a actualizar node y limpiar caché:

npm cache clear
sudo npm update -g
npm install -g npm

3. Empezar un proyecto

Creamos el proyecto con la herramienta de linea de comandos de Ionic:

ionic start todo blank

Habilitamos las plataformas para las que desarrollaremos:

$ ionic platform ios
$ ionic platform android

Y ya estamos listos para empezar a probar!

“Trailing Data Error” on Laravel model dates handles with Carbon

Laravel models manages the datetime attributes of a model converting them to a Carbon date instance. The model knows which fields have a date type using the $dates attribute of the model instance. The name is pretty descriptive, is a list that contains the name of each field in the model that will be converted to Carbon when is got. If the DB contains an invalid value not recognized by Carbon, we will encounter the error:

ErrorException (E_UNKNOWN)
Trailing data

Provoked by an InvalidArgumentException thrown previously by Carbon.

In mi case, the problem was a DB record inserted manually, outside the app. This record had a date with a Carbon invalid format, but valid and correct for PostgreSQL:

2014-08-26 06:50:01.997969

The solution was simple, removing the milliseconds part because in my case it’s negligible.

Como elegir las herramientas apropiadas para mi juego

En la entrada anterior analizamos los procesos básicos que conforman a un videojuego llegando a construir un bucle principal que las realiza hasta que se termine la ejecución. La siguiente pregunta que aparece, es en que lenguaje de programación o en que plataforma de desarollo debemos crear nuestro juego. Esta pregunta no tiene una única respuesta puesto que en general la mayoría de lenguajes nos permitirán implementar nuestro juego, en lo que se diferenciarán será en el volumen de trabajo necesario y en la eficiencia.

Continue reading

Estructura Básica de un Videojuego (Programación)

Hace un par de días un amigo me comentó que estaba programando un tetris pero que no sabía por donde empezar, y muchos menos por donde seguir. Estas dudas se basaban en su mayoría en el desconocimiento de los conceptos y elementos que componen un videojuego, lo que hacía que no pudiese deducir que comportamiento debía implementar. Otro problema venía cuando él, siguiendo el ejemplo de un videojuego (tres en raya) que hicimos en clase, intento programar el videojuego como una aplicación de escritorio basada en eventos. Nos vamos a olvidar de la tecnología que hay debajo, para comentar que procesos se involucran en el funcionamiento de un videojuego en la parte de programación, comentarémos lo dicho sobre el ejemplo del tetris, y comentaremos la relación de porque el tres en raya se pudo implementar de esa forma. Continue reading

Iniciación a Lua creando un videojuego: Capítulo 6 (III)

Entrega corta, pero los examenes de febrero se acercan y eso combinado con otras circunstancias personales me impiden escribir y programar. En esta tercera parte del capítulo 6 definimos dos elementos de nuestro menú y analizamos los elementos necesarios para la configuración del juego, dejando las puertas abiertas a las funciones para la próxima entrega que pondrá fin este capítulo.

Continue reading

Feliz Navidad

Feliz Navidad!

Empiezan las vacaciones, por lo que el blog estará inactivo hasta el dos de enero.

Jugando en el Navegador (II)

Segundo artículo de la serie en la que explicaremos las filosofía básica del juego web a un nivel más especifico pero con generalizaciones. Nos centraremos en esta filosofía y en el beneficio al videojuego Indie o Alternativo.

Continue reading

© 2017 Fran Muñoz

Theme by Anders NorenUp ↑