Encuentro Arcade

Te invitamos a asistir a nuestra jornada temática dedicada al mundo de los videojuegos arcade y máquinas recreativas. Está planteada como un encuentro (en la tercera fase… esa a la que nunca llegabas con cinco duros). Lo hemos organizado desde Zenvoid Studio y Medialab-Prado, junto con el apoyo y colaboración de las asociaciones AUIC y Retro Parla. Por motivos de organización y aforo, es necesario inscribirse con antelación.

La jornada está programada para el sábado 22 de mayo en el auditorio de Medialab-Prado, pero algunas actividades tienen sesión de preparación los días anteriores.

Hemos prescindido de la parte de exposición típica de estos eventos, y preferimos que los asistentes traigan su propio material. No es imprescindible apuntarse a los talleres y actividades, puedes venir como espectador para tomar notas, ver los resultados, o charlar con nosotros. Sin embargo, si quieres disfrutar plenamente de las actividades, te animamos a seguir las instrucciones de este documento para poder participar completamente en ellas.

Escríbemos un email a la dirección games@zenvoid.org con la información que solicitamos a continuación, sobre las actividades que te interesan.

Taller de creación de joystick

Para crear tu joystick necesitarás conseguir los componentes con antelación. Requiere algo de trabajo previo, pero a cambio podrás personalizarlo totalmente a tu gusto. Tenemos un artículo en nuestro blog con indicaciones.

Las cajas las perforaremos el jueves 20 de mayo en el FabLab (taller de fabricación) de Medialab-Prado, entre las 17:30 y las 20:30. Lleva tu caja, de plástico o madera, y escríbenos como mínimo con dos días de antelación porque necesitamos organizar los turnos. Otra opción, si tienes herramientas en casa, es traer tu caja ya perforada.

Si eliges la controladora basada en Arduino, hay que dedicar un poco más de trabajo. Necesitarás:

  • Pines para Arduino.
  • Cables para los botones, con conector faston de un extremo y conector de pin hembra por otro. Otra opción es soldar los cables a los botones y prescindir de los conectores faston.
  • Cables para la palanca de dirección. Depende de la palanca, pueden ser con conector pin hembra por ambos lados, o como los cables de los botones.
  • Una fila de pines soldados entre sí, para las conexiones de masa.

Escríbemos por email si necesitas ayuda. Adelantaremos parte del trabajo durante los jueves 13 y 20 de mayo.

Install party para emulación arcade

Esta actividad tiene una parte social y participativa, además de la instalación. Elige dos o tres juegos de recreativa que te gustaría que sean mencionados y envíanos los nombres por email, los incluiremos en la presentación. Si te animas, también nos puedes contar por qué son especiales para ti.

Puedes llevar tu propio ordenador o una Raspberry Pi si quieres participar en la instalación. Recomendamos una Raspberry Pi para evitar las dificultades por compatibilidad que pueden presentar algunos ordenadores.

Para la opción del ordenador, necesitarás un pendrive vacío, de al menos 4GB de capacidad. Instalaremos el software, basado en sistema operativo Linux, en la memoria externa. Es necesario que tu ordenador sea compatible con Linux y tenga opción de arrancar desde dispositivo externo. El jueves 13 de mayo, entre las 17:00 y las 20:30, probaremos la compatibilidad con los ordenadores, escríbenos con antelación si quieres venir.

Para la Raspberry Pi es necesario un modelo versión 2 o superior, y una tarjeta de memoria microSD vacía de al menos 4GB de capacidad. Si no puedes llevar pantalla, quizás tengamos alguna que puedas utilizar, menciónalo en el email.

Proyecto MiSTer

Presentación del proyecto MiSTer, que consiste en la reconstrucción del hardware de ordenadores o consolas históricas mediante una placa FPGA. No es necesario ninguna preparación previa, y si ya tienes un MiSTer, te animamos a traerlo.

Torneo

Es un torneo amistoso, sin premios, pero con mucha rivalidad 😉

Si has creado un joystick en el taller, será un buen momento para probarlo. También puedes llevar un mando de consola o PC con conexión USB.

El número de participantes está limitado, si quieres participar no te olvides de indicarlo por email, junto con un nombre identificativo (no es necesario que sea tu nombre real).

En paralelo al torneo principal, podrás jugar en algunos ordenadores de la install party, a los juegos que prefieras. Si alguien te invita a unirte a una partida en su ordenador, recuerda utilizar tu propio joystick.

Joystick arcade

Estamos preparando, para el sábado 22 de mayo, una jornada temática en memoria de los videojuegos arcade: las máquinas que fueron responsables de juntar, en las salas recreativas, a muchos aficionados a los videojuegos durante las décadas 80 y 90 del siglo pasado.

Durante una de las actividades podrás montar tu propio joystick arcade, y utilizarlo en los torneos y otras actividades de la jornada. Los componentes necesarios son asequibles y muy sencillos de conectar. El proceso está detallado en el blog de Retro Parla, que hicieron algo similar previamente, y quizás vengan a echarnos una mano y todo 😊.

Este ya tiene unos años, está montado sobre una caja de plástico que ya venía perforada. En este taller haremos nosotros las cajas.

El formato es diferente a otros talleres anteriores, tendremos distancia entre mesas, y supondrá una aventura terminarlos a tiempo sin la ventaja que supone juntarnos para ayudarnos entre todos. Si quieres crear tu joystick arcade, tienes que conseguir los componentes por tu cuenta, antes del día de montaje. Puedes elegir a tu gusto la personalización, colores, tamaño, número de botones y todas sus características.

Los componentes se pueden conseguir en muchas tiendas online de artículos tecnológicos. Por unos 11 euros encontramos el kit completo de un modelo básico (22 euros un kit doble para 2 jugadores), enviado desde España y con los gastos de envío incluidos, a falta de la caja para montarlo. Si compras los componentes por separado tendrás mayor flexibilidad para personalizar tu joystick, y es la opción preferida.

Para evitar hacer publicidad, en este artículo no se mencionan sitios de compra, se pueden consultar en el hilo «fabricar joystick» del chat interno de Zenvoid Studio.

Palanca direccional

El terminador puede ser con forma de bola (más populares en Japón) o con forma de mango. La forma y el color es una cuestión de gustos personales.

Internamente tienen 4 interruptores, y puedes encontrar dos tipos de conexión:

  • Individual, con dos cables por cada interruptor. En la foto: joystick de la derecha con mango rojo.
  • Unidos en un conector de 5 pines (un cable por interruptor y otro compartido). En la foto: joystick de la izquierda con mango negro.

Si vas a crear la placa USB con un Arduino (consulta los apartados posteriores), es ligeramente más conveniente el modelo de 5 pines, pero cualquiera de los dos son válidos. Si prefieres comprar una codificadora USB ya preparada, comprueba que la conexión y el cable suministrado coinciden.

Las hitbox arcade fueron mencionadas durante nuestras reuniones por Elías, que tiene intención de crear una. Este tipo de controlador no lleva palanca, ambas manos utilizan botones, y pueden proporcionar una ventaja tan importante que han sido prohibidos en algunas competiciones. Por otro lado, requieren una adaptación, y a algunas personas nos sigue gustando jugar con el mango 😁.

Puerta restrictora (restrictor gate)

Es la pieza de plástico que se sitúa debajo de la palanca y determina la forma de su movimiento. Las formas más habituales son cuadrada, circular y octogonal. De nuevo, es una cuestión de gustos personales y motivo de interminables debates entre aficionados.

Para algunos juegos podría ser más conveniente una forma de restrictora en concreto, pero no hay ninguna que se pueda proclamar como la preferida universalmente, encontrarás opiniones diferentes si preguntas a personas diferentes.

Son baratas y fáciles de cambiar, normalmente van sujetas con 4 pestañas. Suele venir una restrictora con la palanca; si no te convence, puedes cambiarla por otra. Es una de las ventajas de crear un joystick personalizable.

Codificadora USB

La placa codificadora USB más habitual se puede ver en el artículo de Retro Parla. Muchos joysticks de Asia utilizan ese modelo, y vienen con los cables preparados para conectar fácilmente. Se las conoce en algunas tiendas con el nombre de «zero delay USB encoder», o parecido. Resulta que, a pesar de su nombre, tienen un retraso entre 1 y 2 frames, cosas del marketing.

No hay que obsesionarse demasiado con el frame perdido: para un uso normal puede servir perfectamente. Muchos de los mandos de consola y ordenador, incluso los oficiales, tienen también retraso a pesar de ser notablemente más caros.

Sin embargo, por sugerencia de Paco (que nos hablará sobre MiSTer durante la jornada), hemos probado una alternativa: el codificador DaemonBite, basado en Arduino.

Además de mejorar el tiempo de respuesta, hacer un joystick basado en Arduino y con firmware open source tiene un atractivo especial. Si se utiliza un clon de la placa «Pro Micro» compatible con Arduino, el precio es equivalente a la solución barata, pero manteniendo todas las ventajas. Podrás presumir de tener un joystick PRO metido en una fiambrera 🤪.

El inconveniente es que se tarda más en prepararlo. Si te decides por esta solución y no tienes experiencia con Arduino, te instalaremos el firmware y te ayudaremos a soldar los pines y cables el día 22 de mayo, durante el taller, pero recuerda avisarnos previamente para tener todo previsto.

Botones

Utilizaremos un diámetro de 30mm para los botones de acción, y 24mm para los de control. Suele ser la opción más habitual, pero puedes elegir otros si prefieres.

Cuidado con los modelos de mayor profundidad (pensados para montar en un mueble de recreativa) porque podrían no caber en algunas cajas.

Además del color, hay más opciones de personalización. Hay botones que hacen click al pulsarlos y otros que son más silenciosos. Algunos van iluminados con LEDs (y requieren mayor número de cables). Hay modelos en los que el botón tiene mayor resistencia a la pulsación (hay que darle más fuerte), una característica que a algunas personas les puede resultar incómoda y que parece ser más frecuente en los botones de mayor longitud. La descripción del vendedor no siempre indica todas sus características.

¿En qué caja montamos todo eso?

La solución de Retro Parla para las cajas me parece más interesante que comprar una preparada. Es más barato, más personalizable y, como habrás observado, a algunas personas nos llena de satisfacción complicarnos la vida haciendo cosas.

En cuanto al modelo de caja a utilizar, también hay diversidad de opiniones. Algunos preferimos un tamaño más grande, para apoyar cómodamente las manos. Si descartamos las fiambreras del supermercado, hay personas que se han decantado por la estética de las cajas de almacenaje de una famosa cadena de muebles que se venden desmontados (y que tienes que fijar a la pared para evitar que se los lleve el viento cuando entra corriente por la ventana).

Caja de electricidad de más de 300mm de largo, que se convertirá en joystick.

Para la disposición de los botones, existen plantillas listas para imprimir con los formatos más habituales. Seguramente llevaremos la mayoría de las cajas ya perforadas antes del día 22 de mayo, para evitar entretenernos demasiado.

¿Y si no quiero hacer un joystick?

Si ya tienes un joystick arcade, puedes traerlo. Si no tienes joystick ni tienes intención de crear uno en el taller, puedes traer un mando de PC o consola (PS3, PS4, XBOX) con conexión USB, para participar en otras actividades de la jornada. Es recomendable traerlo incluso si quieres montar un joystick, por si no te da tiempo a terminarlo durante el día.

Y si no tienes mando ni joystick, te dejaremos uno lleno de virus 😆. Recuerda usar alcohol antivirus después de utilizar un joystick o cualquier otro objeto compartido.

Cómo hacer un GDD (parte 1)

Este artículo es una continuación de la breve guía para nuevos proyectos. Los documentos de diseño de juego, típicamente abreviados como GDD (Game Design Document), se crean durante las etapas previas al desarrollo. Cuando hablamos de diseño de juego, no nos referimos únicamente al diseño gráfico, sino al conjunto del juego, a la idea completa que tenemos en la cabeza y que es necesario organizar, dividir y documentar para ayudar al resto del equipo a entenderla. Y también para ayudarte a ti, el diseñador del juego, a comprender mejor todos los aspectos de tu propia idea.

Las imágenes que ilustran este artículo pertenecen al documento de diseño de Anima, uno de los videojuegos presentados a CPCRetroDev 2020, el concurso de creación de videojuegos de la universidad de Alicante.

El GDD de Anima está creado por Carlos Perezgrín, y la estructura inicial del mismo fue propuesta por Fran Gallego, también conocido como Profesor Retroman. Mis agradecimientos a Carlos por haber compartido su documento y darme permiso para usarlo como ejemplo.

Si quieres, puedes usar los siguientes puntos como ideas para empezar con tu GDD. No es necesario extenderse mucho, un GDD no es un trabajo de la escuela, no tenemos que impresionar al profesor con un número elevado de hojas. Es un documento para ayudarte a ti y a todo el equipo, tiene que ser práctico.

Nombre del juego

Elegir un nombre es más difícil de lo que parece. Si aún no está decidido el nombre definitivo, se puede utilizar un nombre provisional de proyecto.

Breve descripción general

Imagina que alguien te pregunta cómo es tu videojuego. Pues eso es lo que tienes que explicar aquí. ¿En qué consiste?, ¿cómo se juega?, ¿es un arcade?, ¿requiere reflejos y habilidad?, ¿es un juego de rompecabezas o puzzle?, ¿cuales son los principales atractivos para el jugador?, ¿a qué tipo de público podría gustar?, ¿cómo es el nivel de dificultad?, ¿cuánto dura una partida?, ¿son partidas cortas de 1 minuto, o tiene un desarrollo largo?

Ejemplo del juego Ánima (descripción general)

Argumento e historia

Si el juego tiene argumento e historia, incluye un breve resumen de la idea argumental y presenta a los protagonistas.

Ejemplo del juego Ánima (historia)

En algunos casos no hay historia. Puede ser el caso si tu juego es un puzzle o juego de mesa con fichas y tablero.

Protagonista, personajes y objetos

Necesitarás algunos bocetos de los protagonistas, personajes secundarios, enemigos u objetos importantes del juego. Se puede juntar con el apartado anterior si los protagonistas están muy unidos con la historia.

Ejemplo del juego Ánima (protagonista)

Al principio, los gráficos del juego todavía no estarán creados, es suficiente con hacer un dibujo sencillo de la idea aproximada. Un dibujo hecho a mano en un cuaderno es una buena opción, rápida y efectiva; haz una foto y adjúntalo al documento. Después, el artista gráfico podría encargarse de crear bocetos más elaborados si se considera oportuno.

Ejemplo del juego Ánima (enemigos)

Otra opción es hacer descipciones textuales detalladas de tus personajes y cooperar desde el comienzo con el artista gráfico para crear los bocetos.

A veces podría no haber personajes ni enemigos, sólo unos pocos objetos. Este también puede ser el caso de muchos juegos de mesa o puzzle, pero a cambio tendrás que trabajar las reglas del juego con mucho detalle en el apartado de las mecánicas, no conseguirás librarte del GDD por elegir un juego de tipo puzzle 😉

¿Un jugador o varios jugadores?

Si es para un jugador, podrías necesitar inteligencia artificial o patrones fijos de movimiento de los enemigos, objetos y personajes controlados por el ordenador. Los detalles van en el apartado de mecánicas y diseño de niveles, en este apartado es suficiente indicarlo a nivel general.

Si hay opción de varios jugadores, puede ser en local (en el mismo ordenador, por turnos o simultáneos) o por red. Cuidado con el modo multijugador por red, puede ser sencillo en algunos casos, pero en otros podría complicar las cosas hasta niveles insospechados. Si no tienes experiencia en desarrollo multijugador, te recomiendo consultar con otras personas del grupo y buscar apoyo en esa materia previamente.

¿Es necesario guardar y continuar la partida?

Esta pregunta puede parecer opcional, pero es muy importante pensarlo desde el principio. Si no se tuvo en cuenta la opción de guardar la partida, pero quieres agregarla posteriormente, podría suponer un gran esfuerzo o incluso tener que replantear una buena parte de la programación del videojuego.

¿Tendrá versión móvil o es exclusivo de PC?

Para tener una versión jugable lo antes posible, puedes empezar con la versión de PC. La versión móvil puede hacerse posteriormente, sin mucha dificultad, siempre que el juego haya sido diseñado para ello.

Si tienes intención de que el juego funcione en móviles, hay que evitar mecánicas o características que no son adecuadas para una pantalla táctil, y en especial cualquier acción que requiera un ratón (coordenadas del puntero, doble click, botón derecho…). Si el juego está pensado exclusivamente para PC, tendrás mayor libertad en el diseño de pantallas, en el control, y en las mecánicas del juego.

La pantalla de un dispositivo móvil tiene unas dimensiones reducidas, y eso afectará al diseño del interfaz de usuario, el HUD (Heads-Up Display, la información que se presenta al jugador), el texto, tamaño de los botones y áreas interactivas.

El juego en detalle

Llega el momento de la descripción detallada de tu juego, las mecánicas, el diseño de niveles y pantallas, el interfaz de usuario…

Para evitar alargar demasiado este artículo (y también porque ya me cansé de escribir por hoy, todo sea dicho), continuaremos con la creación del GDD en la segunda parte, próximamente. ¿Verdad que fastidia cuando se interrumpe un artículo en la parte más interesante? XD

Guía para nuevos proyectos

Este artículo está dedicado a las tareas de organización en Zenvoid Studio, para planificar y desarrollar nuestros proyectos. Habrá continuaciones posteriores. Los procedimientos expuestos aquí están basados en los consejos y experiencias que, amablemente, han compartido con nosotros otros grupos dedicados al desarrollo de videojuegos.

Puede haber varios proyectos abiertos en paralelo, en distintas fases de realización. Cada persona decide en qué proyecto participar, según sus intereses. Puedes participar en varios proyectos al mismo tiempo, si dispones de tiempo y ganas para ello.

Quien propone un proyecto asumirá el papel de game designer. Puede haber más perfiles de tipo game designer en el equipo, pero sólo uno será el coordinador general y defensor del proyecto, que se encargará de zurrar con un látigo a los otros participantes cuando se duerman. Bueno, lo de zurrar con el látigo quizás correspondería al productor, pero de esos no tenemos. Ni látigos tampoco, estamos en ello.

Algunos proyectos requieren colaboración de múltiples perfiles. Puedes centrarte en la parte que más te gusta y contar con apoyo en las áreas que no son tu especialidad, o simplemente distribuir tareas para avanzar más rápido.

Veamos a continuación las tareas que tenemos que hacer antes de aventurarnos con el desarrollo. No es necesario seguir un orden concreto, se pueden hacer en paralelo.

Crear un prototipo del juego

Es opcional, en algunos casos será conveniente y en otros no será necesario. El prototipo no es el juego, es simplemente una muestra de ideas muy simplificada. Se lo mostraríamos al productor, si lo tuviésemos. Como no tenemos, me lo puedes enseñar a mi, e iré rápidamente a comprar un látigo 😉

Con el prototipo, organizaremos una presentación en una próxima reunión, lo mostraremos a todo el grupo para que sepan que tu idea es genial y se animen a participar.

Si tu especialidad es el arte visual, en lugar de un prototipo podrías crear arte conceptual y bocetos de la idea, que serán igualmente efectivos.

Y si no puedes crear un prototipo ni tampoco arte conceptual, un documento o presentación con la explicación detallada de tu proyecto servirá para que se entienda la idea. Como no tenemos forma de extraer información directa de cerebros ajenos (todavía), debes comunicar tus ideas al grupo de alguna manera.

Formar el equipo y elegir los perfiles

Si tienes la intención de hacerlo tú todo, no sería necesario formar equipo. Incluso en ese caso, siempre puedes contar con sugerencias, pruebas y ayuda puntual del grupo.

Lo más habitual es que necesites colaboradores, excepto cuando el proyecto es muy sencillo. Es improbable dominar todas las áreas y materias necesarias para crear un videojuego. Haz una lista de los puntos en los que necesitarás apoyo.

  • El diseñador del juego (game designer) serás tú, pero puedes elegir cooperar en el diseño con otra persona si lo crees conveniente.
  • Uno o varios programadores.
  • Arte visual. Los dibujos conceptuales y los gráficos finales del juego son tareas diferentes, pueden crearse por personas distintas, o la misma.
  • Interfaz de usuario.
  • Diseño de niveles.
  • Efectos de sonido, música.

Durante el desarrollo, mantendremos una tabla para recordar quién tiene asignada cada tarea, y quién está trabajando en cada escena o componente del juego en cada momento. Es importante delimitar correctamente las escenas y elementos asignados a cada desarrollador para evitar colisiones en las modificaciones.

Los proyectos ya empezados tienen prioridad, para que se completen satisfactoriamente. Por ese motivo, cuando hay varios proyectos en curso, podría ser difícil que encuentres perfiles disponibles para empezar uno nuevo. En ese caso, una opción sería guardar la idea durante un tiempo y volver a exponerla en un momento más favorable.

Crear un GDD (Game Design Document)

Hemos hablado de los GDD en otras ocasiones, los documentos de diseño del juego (Game Design Document). Sirven de referencia durante el desarrollo, permiten mantener al equipo enfocado en una línea de trabajo concreta, anticiparse a las dificultades y tomar decisiones.

Como es la parte más extensa, continuaremos con una guía para crear el GDD próximamente, en otro artículo. Hasta entonces, este juego servirá como ejemplo:

Charge Kid es un videojuego creado con Godot Engine, ha sido publicado en PC y consola. Lo más interesante para nosotros es que el desarrollo es open source, su código fuente completo está disponible. Y además, los autores han sido especialmente generosos por compartir el documento de diseño del juego.

Sin embargo, se mueve

Esta es una entrada atípica, con un video sobre un tema que quería tratar en algún momento. Una de las partes de ese video la he mencionado otras veces, sobre las frecuencias de muestreo en los archivos de audio, y concretamente sobre la confusión que suele generar. Es posible que me hayas oído hablar sobre eso anteriormente en alguno de los talleres de sonido y música de Medialab-Prado.

Pero la temática principal del video no es el sonido. Tampoco tiene relación directa con los videojuegos, excepto por haberse creado con Godot Engine. Trata sobre confusiones, sobre errores, sobre desinformación. Sobre una sociedad con tantos medios tecnológicos y un nivel tan abrumador de datos en sus manos, que en lugar de sentirse mejor informada, se encuentra tan perdida como nunca antes en la historia.

El video se ha creado con Godot, y posteriormente compuesto con el editor de video de Blender. Normalmente será más conveniente utilizar algún programa especialmente diseñado para crear presentaciones, pero hay ocasiones en las que un motor de videojuegos puede ser útil. Por ejemplo, cuando necesitamos hacer una presentación interactiva.

Existen varios proyectos para facilitar la creación de presentaciones con Godot, uno de ellos es Godot Slides. En este caso en concreto, he desarrollado una extensión propia, que podríamos utilizar en otras ocasiones.