Crystal Reversi, gratis para iPhone & iPod Touch

Themes en Earwyn / WoD

Ayer publicábamos un pequeño avance sobre Earwyn, en el foro de cplabs, que se puede seguir en este enlace. En el post se enlazan con un par de capturas referentes a los themes del juego, que Earwyn controla y gestiona a través de su sistema de temas. ¿Cómo funciona?

La potencia del sistema radica en el sistema de plantillas, implementado a través de una clase llamada EWN_Template y encargado de interpretar los tags dentro de los ficheros .html. Los themes están dividos en directorios y tienen asociado una hoja de estilos CSS2, que da formato visual al diseño de cada uno. Al cargar cada página, Earwyn sabe qué conjunto de plantillas leer (es decir, de qué directorio) en función de lo que tenga definido el usuario o el theme por defecto si el usuario no está logeado.

Puesto que todo el código xhtml está desligado de la generación de datos a través de php, no sólo puede cambiar el estilo visual, sino que también es posible mostrarlo en otro lugar diferente o mostrar en cada plantilla unos datos u otros, resultando un sistema muy flexible.

Plantilla Theme Pruebas Theme Red Alert Alpha

En la primera captura, el theme activo es el de pruebas. El segundo, el theme red alert en alpha. Una de nuestras ideas es que los usuarios del juego puedan participar de forma activa y cargar sus propios themes, personalizando totalmente su visión del juego. :P Aunque quizá eso no esté en la fase beta…. ;)

Artículos recientes relacionados:


La definición de objetivos en el desarrollo indie

Tras tener más o menos organizada la infraestructura logística básica comentada en el post anterior de esta serie dedicada al “arranque” de un grupo de desarrollo amateur, el siguiente punto a tratar es la definición de objetivos. A pesar de ser un tema vital, muchas veces, sobre todo en los grupos noveles, tiende a obviarse. Tener claros los objetivos ayudará a mantener una buena estabilidad y un camino común; de lo contrario, el grupo podrá convertirse con facilidad en un equipo sin rumbo…

Según nuestra experiencia, distinguiremos 3 tipos de objetivos.

Objetivos del grupo. En las primeras reuniones de constitución del grupo, es necesario acordar con todos los miembros los objetivos generales del equipo de desarrollo. Es decir, cual es la finalidad o finalidades. La base del grupo, por tanto, radica en lo que aquí se decida. Por ejemplo, las posteriores pautas a seguir no serán las mismas si el objetivo es sólamente aprender y hacer currículum en lugar de sacar algo comercial… o de tener desde un principio una visión empresarial y de negocio.

En esta definición debe haber consenso. Si los intereses de cada miembro son diferentes… y aún así se crea el grupo, habrá más de un problema a la hora de enfocar tanto los proyectos como la marcha y funcionamiento del equipo. Por ello es importante asociarse mirando hacia el mismo lado y evitar así una fuente de discrepancias en aspectos fundamentales.

Después de este primer paso, lo siguiente es tomar responsabilidades, decidiendo quién se encarga de qué. Se elegirá al coordinador del equipo y se definirán el resto de perfiles (grafista, programador.. ) y roles (encargado de “marketing“, responsable del servidor…). Si entre los “fundadores” no existen todos los perfiles requeridos, una buena solución es comenzar por proyectos que requieran los perfiles existentes y buscar colaboradores externos para lo que quede pendiente una vez el juego esté avanzado, de cara a comenzar con algo y no estancarse buscando tal o cual perfil. Durante ése tiempo, también se puede buscar alguien “estable” para incorporar a la plantilla.

Objetivos anuales. Con los objetivos generales definidos, suele ser conveniente fijarse unos objetivos anuales. Al principio del año se definirían, intentando a lo largo del mismo cumplirlos. Al finalizar el año, en otra reunión, se haría balance de los objetivos que se han conseguido y los que han quedado pendientes, analizando el por qué de su no consecución. Ése es un buen momento para proponer mejoras de organización, de funcionamiento interno, de hacer auto críticas… y de plantear los nuevos objetivos anuales teniendo en mente los fallos de programación anteriores.

Objetivos del proyecto. Cada proyecto cuenta, además, de su propia lista de objetivos. En un mismo grupo, puede haber proyectos muy diferentes, con objetivos también muy diferentes. En función de éstos, se definen los recursos a destinar, las herramientas más adecuadas a utilizar para su superación, el presupuesto…. y se plantea un planning de desarrollo.

Tener todo esto bien definido, podrá suponer la diferencia entre terminar un proyecto, terminar un proyecto con años de retraso o directamente, no terminarlo. Por ejemplo, omitiendo el estudio previo de los objetivos, podemos considerar utilizar tal herramienta…. y tras meses de desarrollo… darnos cuenta de que para lo que queremos ahora tal herramienta no vale… tirando trabajo a la basura… y muy posiblemente, sin retorno… Y dependiendo de los objetivos del grupo, este supuesto puede convertirse en algo muy grave…

Conclusión: definir objetivos, es algo esencial, sirviendo para que el grupo de desarrollo tenga unas pautas, reglas y motivaciones comunes… así como una estructura sólida que ayudará a sacar los proyectos adelante.

Artículos recientes relacionados:


Desarrollo Indie: logística

Siguiendo el orden planteado en el post “creando un grupo (indie) de desarrollo“, hoy comentaremos en profundidad el primer punto, logística, entendiendo como tal el conjunto de medios y métodos necesarios para llevar a cabo la organización de nuestro grupo.

Uno de los aspectos más básicos a considerar, es tener un servidor. donde alojar los archivos (y compartirlos), haciendo nuestra vida más cómoda y práctica. Servirá, por ejemplo, para no tener que estar mandando por correo a unos y otros emails masivos con adjuntos varios, para asegurar que tenemos la última versión de lo programado, para llevar la coordinación… Al poco rato de tenerlo operativo, se verán mil y una utilidades…

  • Subversion. Con él, se llevará el control de quién toca qué archivos, así como un registro de cambios y diferencias con las nuevas versiones a alojar en el repositorio. Es una excelente manera de asegurar que los miembros del grupo no se machaquen código y trabajen siempre con la versión actualizada de cada fichero que compone el juego. Muchos entornos de desarrollo incorporan un cliente subversion, existiendo también varias opciones que lo integran con el sistema operativo.
  • Gestor de proyectos. Esta herramienta servirá para gestionar los proyectos del equipo. Crear tareas concretas dentro de cada proyecto, asignarlas a los miembros, controlar las horas invertidas, los tiempos, el planning… todo el proceso de desarrollo estará controlado. Existen varios scripts en PHP libres para esta tarea, como dotProject o phpProjekt, que también incluyen foros donde debatir acerca de los proyectos. Y otra buena alternativa, con servicio gratuito, assembla.
  • Wiki. Una wiki es fuente de sabiduría. Puede servir para llevar la documentación de los proyectos de forma cómoda y usable, pero también para tener referencias de cómo se ha hecho tal cosa (y que a los tres meses, si uno no se acuerda pueda consultar), listados importantes a recursos externos….), exponer los objetivos acordados….
  • FTP. Los gestores de proyectos, también suelen llevar una utilidad de subir y compartir ficheros. Pero si no convence o los ficheros son muy pesados, los host tienen habilitado el protocolo FTP para poder subir archivos de gran tamaño (vídeos, imágenes, art work….).
  • Web. Tener una web de referencia, no es que ayude de forma especial a la coordinación, pero es más que recomendable. Noticias sobre los juegos que se van desarrollando, descargas de los ya existentes, información sobre el equipo….

Mantener un servidor propio en plan casero al final termina siendo bastante inviable, en la mayoría de casos. En empresas extranjeras, el hosting suele ser muy barato, mereciendo la pena invertir un poquillo y olvidarse de problemas. Un listado interesante, se puede ver en la página de rubí.

Como otro aspecto logístico, podríamos hablar de las licencias de software a usar en nuestros juegos. Pero eso depende un poco de los objetivos planteados en el juego, del estudio previo, de lo que se quiere hacer… por lo que contaremos nuestra experiencia en post sucesivos, en los que hablaremos de ese tema.

Artículos recientes relacionados:


Nuevos aires artísticos

Hace un par de días, Alexis, se incorporó a nuestro equipo, reforzando así el departamento gráfico, últimamente algo abandonadillo. Hoy lo hacemos oficial y le damos la bienvenida. :P

Alexis, game artist, complementará el perfil de Piro, llevando a cabo todo el trabajo de concept art, screenplay… y dirección artística de nuestros desarrollos, especialmente los enfocados a 2D.

Con esta nueva incorporación, la plantilla queda de nuevo fortalecida, no teniendo en mente hacer más fichajes. No obstante, en el apartado “únete” de la web, se puede obtener información de cómo colaborar con nosotros y participar en nuestros proyectos.

Artículos recientes relacionados:


Earwyn y WoD

Powered by EarwynEn algunos post anteriores referentes a nuestro juego web, comentamos que éste estaba en fase de reestructuración total, aislando una parte más génerica de aquello que conforma el juego en sí. Esa parte genérica ya va tomando una estructura definida y estable, evolucionando en un framework PHP llamado Earwyn, especialmente enfocado al desarrollo de juegos web, pero utilizable sin complicación alguna en cualquier otro tipo de sitio online. Con un diseño totalmente en POO y programado bajo php 5.2, hereda conceptos de Stormie y Julie (un constructor de páginas parecido al que mueve blogspot), añadiendo varias mejoras de implementación y funcionalidad. Además, incorpora diversas funciones javascript, con un motor propio de AJAX, complementado por las librerías Prototype (y su add on script.aculo.us) y jQuery.

Entre sus principales características:

  • Temas: cada usuario tiene la posibilidad de ver la aplicación bajo un tema (o theme) determinado. No sólo cambiarán los colores, tonos o imágenes de la página, sino que también lo hará la disposición / ubicación de elementos en pantalla. En un próximo post, pondremos unas capturas acerca de esto…
  • Usuarios: se controlan los usuarios activos, los logeados en el sistema, los baneados, los que no han validado su cuenta, los que son admins…. Cada usuario tiene un perfil concreto y se monitorizan sus acciones, como parte de la seguridad de la aplicación….
  • Plantillas: todo el código php es independiente del código xhtml. Es decir, hay una independencia total entre datos y diseño, ganando en organización y permitiendo el funcionamiento del sistema de temas comentado en el primer punto.
  • Menús: el framework es capaz de definir una serie de menús, que son llamados en la plantilla principal, interpretando si el menú ha de mostrarse para cada usuario, en función de su perfil, de si ha hecho login….
  • Módulos: la aplicación se estructura en módulos. Así, se pueden añadir tantos módulos adicionales como el juego final requiera….
  • Imágenes: escala imágenes, genera los tags xhtml de forma automática….
  • Ficheros: lee / escribe ficheros, soportando .txt y .xml
  • Cadenas: interpreta bbcode, formatea fechas, números y strings
  • Multi – Idioma: soporta ilimitados idiomas, que pueden convivir en el mismo servidor…. o teniendo cada versión en servidores diferentes.

Aún queda bastante para tener una versión completa 1.0 del framework, pero ya va adquiriendo mucha funcionalidad, que se va notando en el desarrollo de WoD. Estos días venimos trabajando a un ritmo estupendo… y la idea de presentar la versión beta (y abierta al juego) en la campus party toma fuerza….

Seguiremos informando….

Artículos recientes relacionados: