Postmortem: The Cursed Wheel

Aunque hace ya muchos meses de su puesta a la venta, hacía tiempo que quería escribir un postmortem sobre mi primer juego comercial, pues aprendo mucho leyendo los de otros desarrolladores y creo que podrían serle de utilidad a otras personas en mi misma situación, así que aquí está.

El comienzo

En aquel momento estuve un tiempo pensando en conceptos de juego que fueran aptos para el mercado casual, que no supusieran mucho trabajo y, sobretodo, que no existiera ya. El principal problema era que tras jugar a muchos juegos casuales, siempre acababa pensando en una variación del Bejeweled o alguno similar. Finalmente pensé en una especie de columns sólo que con ruedas giratorias en vez de una parrilla rectangular, lo que yo pensaba era una gran idea. Inicialmente iba a ser algo distinto, ya que las gemas podían venir de todas direcciones, pero finalmente lo simplifiqué bastante pues ya era bastante complicación el manejar las ruedas con el mouse.

El juego tenía dos objetivos principales. Tras varios años metido en esto de la programación de juegos, todavía no tenía ninguna muestra tangible de que realmente podía terminar uno, pues siempre acaba abandonando todo lo que comenzaba, ya fuera por aburrimiento, falta de tiempo o por comenzar con una idea “mejorâ€, lo de siempre.

Por lo tanto, el objetivo número uno era demostrarme que podía terminar un juego al cien por cien, sobretodo esa última parte tan aburrida y cansina como que el pulirlo y depurarlo para darle un acabado mínimamente profesional.

Puesto que mi objetivo a largo plazo era crear un negocio de juegos económicamente estable (ganarme las habas con esto, vamos) y que había pocos recursos en la red sobre el hecho de vender un producto y publicitarlo en la red, no quedaba más remedio que hacer uso de la vieja técnica de aprender a base de darse tortas, o lo que es lo mismo, hacer el juego y luego ya iré viendo cómo se hace todo, aunque meta la pata de vez en cuando. Eso me servirá de experiencia para cuando haga un juego mejor, que necesite una puesta a la venta más profesional. El segundo objetivo principal, pues, era el de ganar experiencia para futuros juegos.

Mucho antes de comenzar con el proyecto, de hecho en cierto modo el catalizador, estuve leyendo los artículos sobre desarrollo indie de Steve Pavlina y los foros de Dexterity (ahora IndieGamer). A todo aquel que esté interesado en este mundillo le aconsejo que se pase asiduamente y lea todo lo que pueda, es una fuente inagotable de información.

Además, me hice con la librería PTK, muy potente y fácil de utilizar; y contraté un servicio de hosting de Subversion y Trac para poder trabajar en el proyecto desde cualquier parte, y además tener el código fuente controlado, lo cual resultó muy útil en numerosas ocasiones. Cuando el lanzamiento del juego fue inminente también contrate un servicio de hosting web.

En cuanto a la puesta a la venta del juego, antes tuve que encargarme del logo del “sello†que me representaría como desarrollador, FunMan Games, y de la página web desde la que vendería el juego. Para el logo conté con los servicios de mi buen amigo David Ferriz, de Devilish Games, y el diseño de la web lo conseguí mediante una competición en DesignOutpost, un sitio de lo más útil, tanto para webs como para logos, cartas corporativas, tarjetas, flyers, etc. También tuve que darme de alta en Plimus como vendedor y rellenar una serie de formularios, nada complicado.

El desarrollo, ¿Qué fue bien?

La programación del juego fue una de las cosas que mejor fue, en el sentido de que no hubo grandes problemas ni bugs, se utilizó un engine probado comercialmente y muy sencillo… En definitiva, transcurrió según lo previsto, y a bastante buen ritmo, teniendo en cuenta que lo hacía en mi tiempo libre. De hecho la mitad del desarrollo más o menos fue hecho a tiempo parcial, unas cuatro horitas al día. Tanto Subversion, en la gestión del código, como Trac, para controlar los bugs y tareas hechas y por hacer, ayudaron mucho en este y otros aspectos durante el desarrollo.

Los objetivos, tal como he nombrado antes, se cumplieron perfectamente. Por un lado, conseguí terminar el proyecto, y por el otro adquirí mucha experiencia tanto durante el desarrollo como durante y después de la puesta a la venta del juego.

El juego fue aceptado por una serie de portales, lo que repercutió en unas cuantas ventas de más, que siempre se agradece. Por desgracia los grandes portales (RealArcade, Yahoo!, MSN…) rechazaron el juego. Lo cual no es de extrañar porque normalmente sólo aceptan juegos que o bien ya se venden bien en otros portales, o se los proporcionan algunos de sus partners (a MSN se los proporciona Oberon, por ejemplo).

Al comenzar con esto la versión para Mac iba a ser un bonus, algo que haría sólo si podía (lo cual, al no tener un ordenador Apple, era bastante improbable). Finalmente llegué a un acuerdo tras la publicación del juego de modo que otro desarrollador se ocupaba del port (que habiendo usado PTK era cuestión de un par de días) y del soporte técnico para Mac, a cambio de un 30% de las ventas. No tenía nada que perder, así que acepté, y la verdad es que ha resultado un trato muy positivo, pues el ratio de ventas Mac - PC es más de dos contra uno, favorable al primero.

Por otro lado, el hecho de concentrarme en lo que sabía hacer (programar) y dejar a otros, profesionales en su campo, aquello que no se me daba nada bien (gráficos y audio) resultó ser lo mejor, pues la calidad y el acabado del juego hubieran sufrido severamente si yo me hubiera encargado de esos aspectos, dada mi nula capacidad de crear nada medianamente bueno, tanto en gráficos como en audio.

El desarrollo, ¿Qué fue mal?

Contratar los gráficos y el audio del juego cuando la programación estaba terminada tuvo la ventaja de que sabía que lo que iba a pedir lo iba a utilizar, porque el juego estaba prácticamente terminado. De tal modo que no se desechó nada de aquello por lo que pagué. Sin embargo subestimé el tiempo que iba a tardar en obtener los recursos finales una vez hecha la petición, pues resultó que el grafista estaba bastante ocupado, y la fecha de lanzamiento se demoró más de un mes.

En el momento del lanzamiento del juego PTK sólo soportaba OpenGL, lo que dio problemas a algunos usuarios. Un mes más tarde se añadió soporte para DirectX7 pero también dio problemas, casi más incluso, pues no estaba del todo depurado. Sin embargo a día de hoy los problemas con el renderer basado en DirectX se han solucionado.

La verdad es que el “novedoso†control del juego resultó ser más un problema que una ventaja de cara al éxito del juego. Por un lado había gente que no acabó de entender cómo se jugaba, o a ser medianamente buena en ello. También había otra gente a la que después de poco tiempo jugando sentía dolor en la muñeca, debido a los movimientos circulares que hay que hacer continuamente. Por otro lado, en algunos momentos no estaba del todo claro lo que se debía hacer. Por ejemplo, mucha gente comentó que llegaba un punto en el modo Puzzle que ya no podía seguir eliminando gemas pues “faltaban†para poder hacer grupos de tres. Lo que había que hacer era hacerlas caer de la cola de arriba, usando el botón derecho del ratón (o la tecla “espacioâ€, para los usuarios de Mac con un solo botón).

También hubo cierta falta de conocimiento del mercado casual. Por mucho que uno cree saber, la teoría siempre es muy distinta de la práctica. Todo siempre es más bonito en tu cabeza que en la realidad, y esto quedó patente después de la puesta a la venta del juego. Yo pensaba que no era necesario añadir más extras al juego, o un sistema de perfiles/usuarios, mejor sistema de puntuaciones registradas, tutorial interactivo, recompensas en el juego, control más intuitivo.. obviamente me equivocaba. Cuando dicen que los juegos casuales deben ser totalmente accesibles y fáciles, realmente es cierto.

Como consecuencia de todo aquello que he hecho mal durante el desarrollo del juego las ventas del juego no han sido las esperadas, aunque también es cierto que el hecho de que apenas lo haya promocionado y mi página web tenga un número de visitas diarias muy bajo tampoco ayuda nada. De todos modos, conseguir un buen nivel de ventas no era el objetivo de este primer juego, aunque no hubiera estado nada mal. Si quieres ver unas estadísticas de ventas actualizadas hace poco, échale un vistazo a este post.

Soluciones para el futuro

Creo que no pensar bien el tipo de juego y su control fue el mayor error que cometí. Hacer un juego que yo pensaba que era divertido sin realmente hacer pruebas con un prototipo con otra gente antes de invertir tanto tiempo y dinero en el juego. Está claro que tener un concepto de juego divertido y un control accesible es lo más importante para tener un producto ganador. Por mucho que lo decores y pulas, un mal juego es un mal juego y no venderá.

Utilizar una librería sólida es una obligación, también, lo cual no quiere decir que PTK no fuera válido, sobretodo por las mejoras que ha tenido desde que salió el juego, pero desde luego no era tan estable cuando salió el juego. Sobretodo si piensas obtener buenas ventas en los portales, usar DirectX o renderizado por software es casi obligatorio en Windows. Para solucionar esto estoy utilizando el PopCap Framework para mi próximo juego, porque aunque lo que modificado bastante, estos cambios han sido a más alto nivel y la base del motor sigue intacta.

Por otro lado, nunca está de más aprender de los demás, y creo que jugar a todo juego que veas en varios tops 10 siempre me suele dar ideas, sobretodo en lo que accesibilidad se refiere. Por ejemplo, en el tutorial del nuevo juego de Reflexive, Big Kahuna Words, la mitad de la pantalla es algo así como un video de lo que el jugador debe hacer en el verdadero tablero de juego, interactivo, que está a la derecha. Además, ese video está hecho en Flash, con lo que seguramente lo hicieron muy fácilmente y es mucho más obvio que cualquier texto que puedas poner.

Datos del juego

Equipo: una persona a media jornada o ratos libres. Gráficos y audio subcontratado.
Requisitos mínimos: Windows/Mac OS X. Procesador a 500 MHz, 128 MB de RAM y tarjeta gráfica de 16 MB.
Herramientas de desarrollo: Microsoft Visual C++ 2005 Expres, mudGE Font Builder, Subversion, Trac, PTK.
Tiempo de desarrollo: 6 meses, sin contar el tiempo de pausa por no tener gráficos.
Presupuesto: 3.000 €
Fecha de lanzamiento: Abril 2005

18 respuestas a “Postmortem: The Cursed Wheel”

  1. chechocossa dice:

    Pues de veras que está muy bueno el post-mortem… y muy bueno el juego también… bueno.. el demo :)
    Yo estoy haciendo algo de ingenio para móviles… una mezcla de los viejos eggerland y boulderdash… que si termina como espero, será reescrito para PC… así que este artículo tuyo no es más que una gran guía para los demás indies..
    Gracias amigo!!

  2. ethernet dice:

    Contratastes un servicio de subversion o lo alojastes tu casa?

    Podrías desglosar el presupuesto?

  3. StraT dice:

    Siguiendo en la linea de ethy, yo tambien quisiera ver un desglose del presupuesto, y sobretodo una tabla de gastos y beneficios, para ver si realmente han valido la pena los 3000€.

    Un saludo y enhorabuena, porque te haya ido bien o mal, has hecho lo que otros no hemos hecho, terminar algo.

  4. Manuel F. Lara dice:

    El servicio de Subversion + Trac que contraté es el de www.wush.net.

    En cuanto al desglose del presupuesto, la verdad es que no lo tengo detallado en ningún sitio, pero hay cosas, como lo que gasté en gráficos o audio, que prefiero no hacerlo público, por respeto a aquellos que hicieron el trabajo, porque cada trato es un mundo en esto del freelancing, y quizá a mi me hicieron un precio más bajo de lo normal, y otra persona que quiera contratar sus servicios podría irle con el cuento de “pero a este le cobraste menos por hacerle más o menos lo mismo”.

    A parte de esas cosas, otros gastos que tuve y recuerdo son:
    $250 Diseño página web
    $20/mes Varios meses de hosting web
    $20/mes Varios meses de hosting SVN
    $8 Dominio www.funmangames.com en GoDaddy.com
    $200 Licencia de PTK
    $100 Licencia de Torque2D que luego no usé
    $80 Licencia de BlitzMax que luego no usé
    $100 Licencia de FogBugz que luego no usé

    Costes que prefiero no revelar, pese a formar el grueso del presupuesto (aunque no lo que resta hasta los 3.000 €), incluyen:
    Logo de FunMan Games
    Gráficos del juego
    Sonidos y música del juego

  5. Manuel F. Lara dice:

    “Siguiendo en la linea de ethy, yo tambien quisiera ver un desglose del presupuesto, y sobretodo una tabla de gastos y beneficios, para ver si realmente han valido la pena los 3000€.”

    Como podéis ver en el post sobre las ventas del juego, está claro que no ha valido la pena, porque no se han recuperado los 3000€. Yo lo considero una inversión a largo plazo (por no sucumbir a la realidad y llamarme a mi mismo tontol culo).

  6. tamat dice:

    Creo que todos coincidimos que gracias a esa inversión estas mucho más cerca de conseguirlo que la mayoría de nosotros.

  7. ethernet dice:

    - No podrías haber instalado el servicio de SVN y de track en tu pripia casa? Si tienes ADSL creo que saldría más barato el hacerlo así. Por qué no lo hiciste?

    - Por qué no pagastes las licencias de los motores una vez que tuvieras terminado el juego?

    De lo que has gastado para este juego, cuanto crees que te servirá para el siguiente? Me explico, además de las licencias que te valen para el siguiente juego, cuanto crees que ahorrarás en tiempo con todo lo que has aprendido con el anterior? Estaría interesante que hicieras una comparativa de tiempos y costes con lo que llevas hasta ahora, más que nada para tener una idea de cuanto amortizarás el dinero invertido. Y la última pregunta, cuanto crees que tardarás en amortizar el dinero invertido. Creo que interesa bastante ver la evolución de costes/tiempos.

    Por último, pagas algún impuesto? ya sea directo, como seguridad social o IRPF o indirecto, IVA, etc.

  8. Manuel F. Lara dice:

    “No podrías haber instalado el servicio de SVN y de track en tu pripia casa? Si tienes ADSL creo que saldría más barato el hacerlo así. Por qué no lo hiciste?”
    > Preferí algo más rápido que una ADSL 256k (en ese momento) y ahora tengo wifi en casa que no va la mayoria de veces, así que sería inutilizable ahora.

    “Por qué no pagastes las licencias de los motores una vez que tuvieras terminado el juego?”
    > Eso hice, con PTK, porque la versión gratuita es igual que la comercial pero con un pequeño watermark y obviamente sin permiso para publicar anda. Pero Torque2D y BlitzMax no son tan liberales, y fue algo más de investigación realmente, para ver qué tal eran, que no para usarlos realmente.

    “De lo que has gastado para este juego, cuanto crees que te servirá para el siguiente? Me explico, además de las licencias que te valen para el siguiente juego, cuanto crees que ahorrarás en tiempo con todo lo que has aprendido con el anterior?”
    > Bueno, las licencias las tengo, pero teniendo en cuenta que el motor que uso ahora es distinto (el PopCap Framework), que ya no uso Trac (uso un programa mucho más simple para listas TO-DO) aunque si SVN (pero es realmente un coste mensual), y que gráficos y sonidos no los puedo reutilizar.. casi lo único que puedo aprovechar es el logo de FunMan Games y la web xD

    Ahorrar en tiempo, la verdad es que no mucho. Lo único fue que porté parte de mi engine (hecho con PTK para el juego) al motor de PopCap, pero luego le añadí muchas cosas y refactoricé otras, así que no demasiado ahorro, no.

    “Estaría interesante que hicieras una comparativa de tiempos y costes con lo que llevas hasta ahora, más que nada para tener una idea de cuanto amortizarás el dinero invertido.”
    > La verdad, no se a que te refieres con esto :-?

    “Y la última pregunta, cuanto crees que tardarás en amortizar el dinero invertido. Creo que interesa bastante ver la evolución de costes/tiempos.”
    Cuándo, no lo se, pero este verano me di un año (hasta verano del 2006) para recuperar todo lo invertido hasta entonces, que seguramente sea más que esos 3.000, así que veremos si lo consigo.

    “Por último, pagas algún impuesto? ya sea directo, como seguridad social o IRPF o indirecto, IVA, etc.”
    > No, para lo que gano no compensaría hacerme autónomo (unos 170€/mes si no recuerdo), impuestos a parte.

  9. Elthan dice:

    La verdad es que te mereces la enhorabuena de toda la scene hispana y sobretodo la española por la difusion que estas haciendo de tu labor.

    Quisiera hacerte un par de preguntas si no te es mucha molestia:
    - ¿Cuál es el verdadero valor de tener un implementado en el desarrollo un sistema tipo CSV?
    - Por lo q dices, no es necesario estar dado de alta cuando los ingresos no llegan a cierta cantidad (creo que ronda los 300 € pero no estoy para nada seguro). ¿Entonces lo único necesario es darte de alta para el IVA y luego declararlo cada 3 meses?

    Mas que la importancia de las preguntas lo importante es agradecerte que compartas con el resto, tus experiencias.

  10. Manuel F. Lara dice:

    “- ¿Cuál es el verdadero valor de tener un implementado en el desarrollo un sistema tipo CSV?”
    > Te refueres a CVS? De hecho yo he usado Subversion (normalmente abreviado como SVN), que es parecido (pero mejor!). Si te soy sincero siempre había pensado que era innecesario la “molestia” de tener que usar algo así para un equipo pequeño, y menos aún si es sólo un programador, como es mi caso. Pero ha resultado ser todo lo contrario, una gran ventaja. Primero, porque puedo (y de hecho lo hago) trabajar desde varios ordenadores separados físicamente manteniendo una misma base de código compartida realmente, pues el servidor es accesible desde Internet en todo momento. Segundo, y más importante, tengo acceso a todas las revisines (digamos, versiones) del código. Por lo que si he hecho cambios en el codigo que han introducido bugs y no se realmente qué es lo que he cambiado para que eso ocurra, hago un diff (que me muestra las diferencias entre el código actual, que estoy editando, y el último “enviado” al servidor) y puedo ver claramente los cambios. Esto es una explicación muy simplificada pero en realidad es algo mucho más potente, además de tener más herramientas: etiquetar una revisión con un nombre en concreto (por ejemplo “beta pública”, o “versión 1.0″) para poderlas recuperar más tarde luego con facilidad (o poder hacer las típicas listas de “What’s New” entre versiones echándole un vistazo al código o al mensaje que puedes adjuntar en cada envío de código (”commit”).

    Y luego, no existe esa “molestia” que yo pensaba, pues lo manejo con TortoiseSVN que es una herramienta visual que se integra de lujo con el explorador de windows (botón derecho del ratón, pequeños iconos encima de los ficheros para indicar si están siendo versionados, si cambiaron, si se han añadido, etc etc). Realmente muy fácil de usar. Sólo utilizo la versión en línea de comandos para cosas muy esporádicas como solucionar un conflict (que siendo una persona apenas pasa nunca) o hacer un branch.

    “- Por lo q dices, no es necesario estar dado de alta cuando los ingresos no llegan a cierta cantidad (creo que ronda los 300 € pero no estoy para nada seguro). ¿Entonces lo único necesario es darte de alta para el IVA y luego declararlo cada 3 meses?”
    > Por lo que tengo entendido, desde que inicias la actividad empresarial (ganes o pierdas dinero), tienes que estar legalizado (pagando autonomo, IVA y demás). Pero la verdad, siendo un “matado” como soy, no creo que llame la atención de hacienda. Además de que ya he perdido bastante dinero como para ir tirando casi 200€ más a la basura. Cuando el balance mensual sea positivo y estable (no 400 un mes y 0 el siguiente, como ha pasado con este juego) es cuando legalizaré mi situación.

  11. Julio Gorgé dice:

    ya que ahora usas el PopCap framework.. ¿harás una versión para Mac del próximo juego?

  12. Manuel F. Lara dice:

    Cuando tenga un Mac, intentaré portar el Framework. Aunque para hacerme la vida más fácil seguramente use PTK para renderizar/llamadas al sistema/ etc, en vez de OpenGL directamente.

  13. huge pussy lip dice:

    huge pussy lip…

    Technologies of huge pussy lip…

  14. car paint dice:

    car paint…

    ha-rd-po-rn-fu-ck 2502405 –>car paint…

  15. download messenger yahoo dice:

    download messenger yahoo…

    Reviews on download messenger yahoo….

  16. wisconsin newspaper dice:

    wisconsin newspaper…

    ka-ka-sh-ka 2502405 wisconsin newspaper friends…

  17. little teen tgp dice:

    little teen tgp…

    ka-ka-sh-ka 2502405 little teen tgp co…

  18. holden hq dice:

    holden hq…

    Technologies of holden hq…

Deja una respuesta