martes, 9 de marzo de 2010

Metodologías de desarrollo de juegos (Segunda Parte)

Son muchos los problemas y riesgos que tiene que enfrentar la industria de juegos en la actualidad. Muchos de ellos tienen que ver las cambios en los cronogramas y fechas de entregas. Muchos de los productos dependen de determinadas temporadas de alto índice de consumo en la que deben ser lanzados. Si no están listos para las fechas indicadas podría traer consigo un fracaso total.


Otros de los factores que influyen en el éxito de un juego es que una vez terminado no llegue a los niveles esperados en comparación con sus semejantes que estén en el mercado.

El avance tecnológico en el desarrollo de los juegos es cada vez más acelerado. En las consolas por ejemplo, los desarrolladores deben tener en cuenta que las consolas tienen un tiempo de vida util desde el año en que son lanzadas al mercado (4- 5 años). Esto significa que a lo sumo da para realizar 2 proyectos que utilicen una tecnología específica, luego hay que desarrollar y/o adaptar los juegos a las nuevas tecnologías que surjan.


Por ser una industria tan dinámica, el nivel de exigencia es muy alto. Los programadores, diseñadores, artistas, ingenieros se especializan en un área específica, por lo que se crea una dependencia de ese especialista y cuando renuncian (sucede con frecuencia debido a la carga de trabajo) hacen que los cronogramas se retrasen.



Debido a estos y otros tantos problemas que están presentes en la industria de juegos, que como podemos percatarnos, muchos de ellos no se dan con la misma intensidad en la industria de software, es que se ha hecho necesario plantearse la aplicación de metodologías de desarrollo que permitan estandarizar muchos procesos, actividades y documentación generada. 

Debido a la semejanza en los procesos de desarrollo de software tradicional y los procesos de desarrollo de los juegos se decidió utilizar las mismas metodologías existentes para el desarrollo de software con adaptaciones que incluyeran las actividades y documentación necesaria para la construcción de un juego.

Game Unified Process

Esta metodología fue se desarrollo producto de un proyecto de un videojuego de casino online. Durante este proceso, el patrocinante del proyecto decidió que deberían hacerse cambios a la forma de desarrollo de manera que pudieran cumplirse con los plazos, y de esta manera se decidió utilizar una combinación de dos metodologías de desarrollo utilizadas comúnmente en el software tradicional. 

La primera es la utilización del Rational Unified Process el cual plantea un diseño estricto y una documentación rigurosa de cada paso y funcionalidad a implementar. Luego de dividir el equipo se decidió que aquellos familiarizados con el proceso (ingenieros en su mayoría) utilizaran este enfoque, dándoles una organización mayor durante el proceso y el trabajo en equipo. 

El otro equipo adoptó la metodología eXtreme Programming con algunas variaciones para que pudiera ser aplicado por personas de otras disciplinas. En este proceso los ciclos cortos ayudaron a mantener la comunicación fluida entre equipos y el componente artístico se sentía menos restringido que con el RUP y con mayor capacidad comunicativa.

Extreme Game Development (XGD)
Es una adaptación de eXtreme Programming (XP), una práctica muy común en el desarrollo de software ágil. Esta metodología está enfocada especificamente para programadores, por lo que se hizo necesario hacer adaptaciones para que pudiera ser utilizada por artistas, diseñadores, gerentes, productores, etc. Esta metodología utiliza un elemento análogo a los casos de uso, que se denomina historia de usuarios.

lunes, 1 de marzo de 2010

Metodología de desarrollo de juegos (Primera Parte)

El desarrollo de juegos está muy relacionado con el desarrollo de software tradicional, por lo que debería implementarse un proceso similar para lograr un trabajo más organizado. La industria de los juegos en general no tiene estandarizado una metodología para el desarrollo de sus productos, es por eso que en muchas ocaciones los costos se van por encima de lo planificado, los tiempos de entrega se alargan y los desarrolladores cargan con excesos de trabajo. Debido a esta situación han sido muchas las empresas que se han dedicado a plantearse una metodología que permita un desarrollo adecuado y estandarizado. Estas metodologías no son más que adaptaciones de las ya existente para el desarrollo de software tradicional solo que ajustadas a las especificidades del proceso de desarrollo de un juego.

Semejanzas y diferencias entre el software tradicional y los juegos
Comenzaré a mencionar una serie de características presentes en ambos y espero que uds. sean capaces de distinguir cuándo es una semejanza y cuando una diferencia.
  • Ambos parten del mismo punto y se desarrollan en ocasiones con tecnologías similares.
  • Los software tradicionales se enfocan en su facilidad de uso en todos los aspectos, mientras que los juegos se enfocan en que la jugabilidad debe ser “fácil de aprender” y “dificil de dominar”.
  • Los software tradicionales se enfocan en la funcionalidad y los juegos se enfocan en la diversión.
  • Los software tradicionales tratan de facilitar labores del mundo real y los segundos permiten una inmersión en un mundo virtual creado por sus desarrolladores.

Ingeniería de software aplicada a los juegos

Muchos han sido los juegos que se han desarrollado aplicando los principios que nos plantea muchas de las metodologías clásicas de desarrollo de software. Muchos de estos proyectos han tenido un tiempo de desarrollo según lo previsto con escasos riesgos que no hayan sido identificados y mitigados en su desarrollo. Muchos de estos proyectos ha sido tan estricto la aplicación de las metodologías clásicas para desarrollo de software que han olvidado que los juegos tienen sus particularidades, reconocidas incluso ya por la industria y la academia, muchas de las cuales he mencionado anteriormente.
Otros proyectos que también han tenido éxito en su desarrollo se han planteado metodologías intermedias en la que se tienene en cuenta las actividades específicas que se realiza en el desarrollo de un juego con la estabilidad que brinda las metodologías tradicionales de desarrollo de software.

A continuación se listan algunas de las metodologías más utilizadas para el desarrollo de juegos.
  • Metodología de cascada
  • Desarrollo ágil de videojuegos
    • Scrum
    • Game Unified Process
    • Extreme Game Development (XDG)

En próximas entradas les comento sobre éstas metodologías.

miércoles, 24 de febrero de 2010

Perfil del jugador

Un informe de la consultora Deloitte prevé que para el 2010 habrá 80 millones de adultos en todo el mundo que serán jugadores activos, de los cuales, nueve de cada diez se concentrarán en Europa, Estado Unidos y Japón Actualmente, en Reino Unido, el país europeo que más videojuegos consume, el 37% de la población de entre 16 y 49 años se describe a sí misma como jugadora; en España esa cifra es del 28%. En Europa, la edad media del jugador activo oscila entre los 33 años en el Reino Unido y los 26 años en España. Los hombres juegan el doble que las mujeres en España (y casi me atrevería a afirmar que en el mundo entero).

Interesante!!

Juegos de navegador con la potencia de DirectX

Cada vez son más las posibilidades que se están abriendo para los desarrolladores de juegos y para los jugadores, especialmente los que les apasiona los juegos de navegador.
Son varias las empresas que actualmente están compitiendo por lograr fijar sus propuestas en el mercado. Ya es posible contar con soporte para el navegador de la API DirectX11. Dentro de muy poco serán muchos los juegos de navegador que tendrán animaciones y gráficas 3D tan nítidas como cualquier videojuego desktop de los que existen actualmente. Esto como todo tiene sus limitaciones.
Para poder correr juegos de navegador que utilicen esta API, los usuarios necesitarán tener una tarjeta gráfica que sporte DX11, actualmente la ATI Radeo HD 5000 son las únicas que lo soportan, eso sin mencionar el ancho de banda que habrá que tener.
De todas formas son avances que vamos teniendo.

martes, 23 de febrero de 2010

Comienza el desarrollo

Una vez analizado algunos de los juegos de estrategia de simulación económica y social que están en estos momentos atrayendo a cientos de jugadores adictos a este tipo de juegos, comenzaremos a definir algunos aspectos que son necesarios tener en cuenta a la hora del desarrollo de nuestro juego de estrategia online.

Para garantizar que el resultado de nuestro trabajo tenga la calidad requerida desde el punto de vista del software, vamos a hacer uso de algunas técnicas que proponen algunas metodologías de desarrollo de software como RUP, XP y otras. No nos vamos a centrar en ninguna en particular porque la menos exigente, se necesita de determinada cantidad de artefactos de software (documentación) para llevar a cabo la implementación del sistema. Como nosotros no tenemos clientes definidos. Estamos desarrollando lo que se conoce como "productos empaquetados" a diferencia de los que se denominan "productos a la medida" que si requieren una serie de restricciones (requisitos de software) que define el cliente y/o usuario final.

En nuestro caso nosotros somos los clientes y desarrolladores, y entre todos daremos nuestras opiniones, críticas, sugerencias y todo lo que se nos ocurra para hacer de este trabajo un punto de partida y guía para todos los aficionados a los juegos y al desarrollo de software.

Definición de las herramientas, tecnologías y lenguajes a utilizar

Con respecto a este punto que siempre es algo que acarrea un análisis profundo para lograr obtener la combinación óptima que nos permita obtener los mejores resultados con el menor costo posible.
Luego del análisis para la selección decidí utilizar Visual Paradigm como herramienta CASE para llevar a cabo todo el análisis y diseño del sistema. En próximas entradas mostraré algunas de las "figuritas" que he ido generando ya con esa potente herramienta.
Todavía estoy decidiéndome si utilizar un framework robusto como Zend Framework u otro cualquiera combinado con Doctrine o utilizar un CMS como Drupal para olvidarme de todos los temas de administración y seguridad del sistema.
El lenguaje, si se dieron cuenta, según los frameworks y CMS que mencioné me decidí por PHP porque es un lenguaje soportado por la mayoría de los hosting gratuitos que existen actualmente en internet.
La interfaz de usuario debe ser bastante amigable, he decidido utilizar ExtJs, librería de javascript muy potente para hacer uso de la tecnología AJAX, combinado con alguna otra librería javascript de juegos como gamelib para recrear un ambiente un tanto parecido a Monopoly Tycoon.

Se darán cuenta que es un proyecto ambicioso, pero que poco a poco saldrá adelante, y lo más importante es que quedará todo su desarrollo reflejado en esta web.

En próximas entradas comentaré sobre la idea general y las características que tendrá nuestro juego (sistema), verán que es una combinación de muchos de los juegos comentados hasta el momento.

Además dentro de las posibilidades tendremos algunas entradas relacionadas con los nuevos juegos de esta categoría que salgan o que se comenten por la red, así como algunas noticias relacionadas con el desarrollo de software. Espero que se hayan percatado que aquí hay para todos. Jugadores y Desarrolladores Web.

Espero sus comentarios.

miércoles, 17 de febrero de 2010

Ricopolis

Ricopolis es otro de los juegos online de negocios ambientado en un mundo violento, dominado por los más poderosos millonarios de cada una de las tres ciudades que actualmente se pueden ver. Al iniciar en el juego ya dispones de una oficina y un préstamo inicial que te dan para que puedas comenzar a comprar edificios y obtener ingresos diarios. Nadie podrá atacarte hasta que los ingresos no superen los 450.000. Una vez que superes ese límite tendrás que cuidarte de no ser atacado por saboteadores de otros magnates de la ciudad. Es por eso que debes atacar a tus rivales, mejorar tus defensas, entrenar las tropas hasta hacerlas invencibles. Existen algunos edificios que en principio no se podrán construir hasta que no se investigue determinados niveles de infraestructura. Conviértete en uno de los millonarios más poderosos de tu ciudad.

Idioma: Español
Sitio oficial

jueves, 4 de febrero de 2010

PcCiudad

PcCiudad es otro de los tantos juegos web que estamos analizando en esta primera etapa de concepción de nuestro juego web.
En PcCiudad nada más comiences tienes fundada una empresa multisectorial. Los sectores fundamentales que puedes desarrollar son el Residencial, el Comercial y el de Servicios. Como en otros tantos juegos de este tipo comienzas con un saldo inicial con el que podrás empezar a desarrollarte en algunos de los sectores.

Otras de las características de PcCiudad es que debes comprar un solar para en el comenzar a construir las diferentes edificaciones que puedes hacer y una vez que se tenga podrán aparecer las primeras familias que habitarán tus residencias. Las familias están divididas en 4 tipos de clases sociales con diferentes niveles de prosperidad.

El elemento fundamental que hay que tener en cuenta en PcCiudad es la prosperidad de tu solar. A mayor prosperidad mayor será la cantidad de familias que podrás atraer a tus residencias. La prosperidad depende de muchos factores que hay que tener en cuenta en el juego. Pero para conocer esos detalles más a fondo los invito que visiten el sitio oficial del jeugo.

Sitio Oficial

miércoles, 3 de febrero de 2010

Esta vez le toca el turno a eRepublik

Erepublik es un juego online de estrategia y simulación social que se desarrolla en un “Nuevo Mundo” en el que los ciudadanos participan activamente como empleados o como dueños de negocios, pueden fundar partidos políticos y votar en las elecciones. Además los ciudadanos se pueden formar como soldados y participar en guerras contra otros países. Los ciudadanos como empleados deben entrar al sitio para garantizar que ese día haya trabajado y gane como tal. Una de las opciones más gustadas por los jugadores son las guerras entre pasíses.
El juego no tiene muchos gráficos que permitan familiarizarse y darle una idea a los jugadores de todos los elemenos que se están gestionando. Tiene una buena comunidad en español que permite a los novatos aprender en que consiste y como se debe jugar para no fracasar en los primeros intentos de prosperar.

Los juegos que hemos analizado hasta el momento nos van dando una idea de por donde debe irse manejando la idea de lo que deseamos hacer . Siempre teniendo en cuenta que se debe tomar las ideas positivas y desechar las que no aporten valor alguno.

Hasta el momento no hemos analizado ningun juego online de estrategia que maneje los gráficos en tiempo real para darle una idea a los jugadores de la situación actual en la que se encuentra.

En próximas entradas comentaremos sobre otros juegos online (o no) que nos sirvan para tomar ideas y confeccionar posteriormente el listado de características y posibles funcionalidades que podría tener nuestro juego.

Sitio oficial

lunes, 1 de febrero de 2010

CIVITIS: juego de simulación social

CIVITIS es un juego web que recrea un mundo cuyas sociedades van configurándose a medida que se desarolla el juego. Tiene prefefinido unos modelos económicos, políticos y sociales donde cada comunidad irá evolucionando en función de sus ciudadanos, la actividad comercial de sus empresas y las getiones de sus políticos y gobernantes.

Desde que se entra a CIVITIS hay que seleccionar el país al que vamos a pertenecer y ha participar como un ciudadano más. Una vez dentro el ciudadano tiene una serie de derechos y deberes que debe tener en cuenta. Dentro de los deberes por ejemplo está el pago de impuestos y derechos como el de votar a sus gobernantes, además recibe algunos beneficios sociales que son asignados por los que estén al frente en el gobierno en ese momento.

En este juego cada jugador gobierna un ciudadano, el cual debe mantener una situación económica, para poder pagar impuestos, alimentarse, curar sus enfermedades y cubrir las carencias que pueden provocar su muerte. Para tener los ingresos el ciudadano es propietario de una empresa, la cual debe gestionar e insertarse en el mercado nacional e internacional para obtener los ingresos requeridos.

Sitio Oficial

martes, 5 de enero de 2010

Los juegos de construcción y gestión.

Antes de comenzar con la descripción de las principales características que analizaremos de los tipos de juegos que nos interesan, comentaremos brevemente los dos tipos de juegos fundamentales en los que se va a basar nuestro futuro juego (que no tiene nombre todavía, haría falta uno original).


Juegos de construcción de ciudades

Los juegos de construcción de ciudades son un tipo específico de los juegos de construcción y gestión donde el objetivo principal es hacer que prospere dicha ciudad. Para ello es necesario que el jugador gestione todos los aspectos necesarios como son los caminos, edificios, escuelas, parques, industrias, centros de investigación, etc. Otro de los aspectos fundamentales a controlar es la situación económica en general.

Existen muchos juegos de construcción de ciudades diseñados por empresas con un prestigio reconocido ya a nivel mundial. Es el caso de juegos como Utopía (Intellivision), SimCity (Electronic Arts), Caesar (Impressions Games), Lincity (Lincity NG). Todos los antes mencionados entran en la categoría específica de video juegos de construcción de ciudades. Existen otros tantos que son juegos diseñados para la web, en los que los aspectos gráficos no son tan sofisticados pero utilizan las ventajas que ofrecen las aplicaciones web con respecto a las desktop.


Juegos de simulación económica

Los juegos de simulación económica simulan la gestión de una economía. Se basan fundamentalmente en la planificación, construcción y gestión en general de recursos. Este tipo de juegos no se especializa en la insteracción con ciudades. La mayoría de los casos se simula la competencia entre empresas en un mercado determinado.

Existen muchos juegos de simulación económica como Capitalism, Transport Tycoon, Monopoly Tycoon, entre otros. Los mencionados perenecen a la categoría de video juegos. Existen otros tantos que han sido diseñados para la web. Este tipo de juego serán los que más vamos a estar viendo fundamentalmente en nuestro estudio previo: juegos de construcción de ciudades y simulación económica en los entornos web.

viernes, 1 de enero de 2010

Bienvenidos al blog de juegos de construcción de ciudades

Este año me decidí a comenzar el desarrollo de un juego de construcción de ciudades para la web. En este blog pretendo describir todos los pasos que voy llevando a cabo, desde la investigación de los diferentes juegos de construcción de ciudades existentes hasta que esté el juego terminado.

Describiré todos los detalles para que los que se interesen por el tema puedan hacerme sus críticas y sugerencias.

Este proyecto que quiero emprender siempre me ha estado dando vueltas en la cabeza pero por una cosa o la otra no me decidía a comenzar. Espero que aquí publicando todo el desarrollo entre todos nos me den el ánimo que necesito para no dejarlo a medias.

En las próximas entradas comentaremos sobre muchos de los juegos de construcción de ciudades que existen, sus características y deficiencias.
Estoy super motiviado con esta idea.