¿Como diseñar un videojuego?

Para ir calentando para la compo de diseño de videojuegos de critica o protesta social, que estamos gestando(ya tendréis noticias) iremos escribiendo algunos artículos sobre este tema para animar a la participación a aquellas personas que nunca se han adentrado en estos mundos.

Mucha gente piensa que para realizar un videojuego, solo hay que sentarse delante del pc y empezar a “picar” código como si estuviéramos poseídos, pero no es así. Hay otros pasos previos que se tienen que realizar antes de ponerte a teclear código para que cuando nos sentemos a hacerlo, tengamos las cosas claras.

  1. La idea: Si te apuntas a alguna compo o jam, el concurso ya tendrá una temática donde basarse,pero suelen ser temáticas muy genéricas que suelen basarse en una frase o lema, por lo que tendrás que ser tu quien la desarrolle, para convertirla en un juego, evidentemente no es nada fácil y tendrás que exprimir un poco el cerebro y ir montando la idea poco a poco en tu cabeza.

  2. El concepto : Una vez que la idea tenga forma en tu cabeza, empieza a plasmarla en un papel en forma de concepto del juego,no hace falta que te explayes mucho solo se necesita una o dos hojas donde puedas plasmar claramente el concepto de tu juego, como puedes ver las siguientes imágenes:
    B48kHjo

Concept-2-Whiteboard-Prototype
3. Las tareas : Ha llegado el momento de empezar a crear nuestro juego pero para ello primero tendremos que tener claro cuales son las tareas que tenemos que acometer para el mismo:
-Diseño de personajes y recursos (modelos 3d o sprites)
-Diseño de niveles(tiles,modelados,pixelart)
-Diálogos, historia
-Música,efectos de sonido
-Animaciones,cinemáticas,etc..
-Programacion:scrolls,colisiones,eventos,controles,etc..
Scrum_task_board
4. Realización: Una vez tienes claro cuales son las tareas a acometer es el momento de ir realizándolas, si eres una sola persona pues tendrás que realizarlas todas tu solo, si sois un equipo podéis repartiros las tareas, lo lógico es empezar por diseñar un pocos los personajes y el escenario y ir programando los movimientos,controles y interaccion entre ellos,luego ir poco a poco añadiendo mas elementos,la música,animaciones y ir dándole forma a todo ello dentro del flujo de programación del juego, el llamado game loop.

gameloop

Una de las diferencias fundamentales entre los videojuegos y los programas es este game loop que hace que todo el juego este en un bucle constante de flujo,porque a diferencia de un programa que esta esperando la interaccion con el usuario (que este pulse una tecla, escriba una palabra, pulse un botón) un videojuego tiene que estar procesando datos constantemente (se ha movido un enemigo,se ha calculado el daño,se ha descargado los gráficos no necesarios de memoria,se ha salvado la partida,etc..)

Como veis realizar un juego completo no es asunto baladi y requiere ponerle ganas, pero os aseguro que es divertido,entretenido y muy didáctico, así que si queréis animaros a la compo que estamos preparando ya no tenéis excusa ;)

2 Comments

  1. Para mejorar mis dotes de programación y divertirme, empezé a programar inspirandome en juegos existentes y augmentando la dificultad; piedra, papel y tijera; tres en ralla, hundir la flota, blackjack, poker….

    Ahora estoy mirando el tema de interficies gráficas, para dar el salto a videojuegos clónicos, que como bien dices, se diferencian en tener un bucle constante.

    Gracias por los consejos, los tendré en cuenta :)

  2. jajja. Muy bueno.
    Me ha encantado el articulo, de verdad. Muy gráfico y muy esquemático a la vez, A ver si tengo algún rato libre y lo pongo en practica, pero esta difícil. Me he tirado casi dos años para empezar a montar una Raspberry con mame… Si es que no paro.

    Un saludo,
    David
    estudio de diseño grafico

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax