Histórico de Noviembre de 2010

Downtown Special: Kunio-kun no Jidaigeki dayo Zenin Shuugou! (3/9)

Viernes 26 de Noviembre de 2010

¿Qué son los estados (status) de los personajes?

Los estados son el conjunto de valores de las distintas habilidades de batalla que se pueden desarrollar a lo largo del juego. Las mismas son las siguientes:

Puño (Punch): la dureza de los puños del personaje. Las técnicas afectadas por este estado son: Mach Punch, Mach Punch II, S. Torpedo, Harite Special (Slap Special), Helicopter, Nitro Attack y Ningen Drill.

Patada (Kick): qué tan duras son las patadas del personaje. Las técnicas afectadas por este estado son: Mach Kick, Mach Kick II, Senpuukyaku (Tornado Kick), Anma special (Massage), Mach Kiukiu, Mach Fumifumi y Zudzuki Special (Headbutt) por ejecutarse con el botón de patada.

Arma (Weapon): la dureza con que utiliza las armas el personaje. Las técnicas afectadas por este estado son: Mach Tataki (Mach Weapon) y Dosu Special (Dagger Special).

Lanzamiento (Throw): el daño que realiza el personaje al arrojar un arma o un enemigo. Las técnicas afectadas por este estado son: Warp Shot, Helicopter y Yamada No Jutsu (Bmpknart).

Agilidad (Agility): determina que tan rápido se mueve el personaje.

Voluntad (Will): determina que tan rápido se pone de pie el personaje, cuando está derribado.

Defensa (Defense): que tan buena es la defensa del personaje, cuánto daño deja cada ataque recibido.

Fuerza (Strength): determina que oportunidad tiene el golpe del personaje, de atravesar la defensa del enemigo, o que capacidad de bloqueo tiene personaje. Si tienes la técnica Hyper Guard, tu bloqueo siempre tendrá éxito. Las técnicas afectadas por este estado son: Screw, Screw II y Hyper Guard.

Vitalidad (Vitality) y Aguante (Stamina): Cuando el personaje es golpeado, el Aguante se reduce según los números indicados. Cuanto menor sea el Aguante, mayor será la trayectoria del personaje cuando es golpeado. Cuando el Aguante se agota y el personaje se levanta de una caída, aumenta el Aguante en ¼ de la Vitalidad actual y la Vitalidad actual se reduce a la mitad. La Vitalidad no baja directamente a menos que el personaje esté derribado, o se lo golpee mientras está derribado. El personaje no se elimina hasta que el Aguante y la Vitalidad se agotan, y el personaje está derribado.

Cuando un personaje controlado por el jugador es eliminado, pierde la mitad de su dinero. Cuando es un personaje controlado por la computadora, este revive al pasar la siguiente pantalla.

A continuación, los estados (status) de los personajes:

Pun Kic Wpn Thr Agi Wil Def Str Vit Sta

Kunimasa
15 15 15 15 15 15 15 15 63 63

Tsurumatsu
15 15 15 15 15 15 15 15 63 63

Rikigorou
67 35 28 16 44 37 39 49 64 46

Bunzou
46 56 27 38 43 51 78 40 38 64

Juukichi
43 31 64 52 58 49 21 37 178 92

Ginpachi
9 20 23 42 25 33 16 16 65 65

Gonsaku
21 29 35 47 29 37 27 6 62 136

Ichibee
Rokubee
8 20 27 47 30 32 24 24 67 67
8 20 27 47 30 32 24 24 67 67

Yonosuke
13 22 27 53 29 34 25 18 69 69

Heilmann
18 26 28 72 26 39 31 22 74 100

Kinsuke
56 41 20 17 80 32 39 49 68 44

Tamekichi
16 37 39 67 28 44 35 21 71 71

Heishichi
15 31 49 64 41 54 36 21 97 97

Jinroku
25 31 31 76 45 53 51 28 77 77

Hanshirou
35 32 91 44 59 47 24 41 100 94

Yagorou
22 38 61 86 48 48 45 32 87 87

Nizaemon
25 28 37 67 37 42 32 14 87 87

Tatsuichi
Tatsuji
48 67 26 32 51 105 67 54 44 76
45 99 16 26 54 73 67 54 64 90

Torazou
33 45 61 126 57 61 57 57 99 99

Asajirou
35 71 56 127 76 96 91 51 103 103

Nota: Hay personajes que hacen su aparición en más de una oportunidad variando su estado. Para esos personajes (solo los controlados por la computadora) el estado que aparece en la tabla, es el último estado que toma.

En la siguiente parte de la guía, analizaremos las técnicas especiales.

¿Cómo se hace un videojuego? (2/7)

Martes 9 de Noviembre de 2010

Comencemos por explicar la parte gráfica del juego.

Como bien sabemos, toda imagen en computadora está compuesta de pixeles, pequeños puntos de diferentes colores que a cierta distancia del ojo humano generan la ilusión de estar viendo un determinado dibujo.

En C++, y con la librería SDL, los pixeles están ordenados de la siguiente manera: en la esquina superior izquierda de nuestra pantalla se encuentra el cero u origen numérico de los pixeles. Al desplazarnos a la derecha o a la parte inferior de la pantalla, se incrementan las coordenadas de los pixeles.

En este ejemplo, trabajaremos con un tamaño de resolución de pantalla de 320×240 pixeles. Es decir que, en horizontal las posiciones de un pixel van de 0 a 319, y en vertical van de 0 a 239, recordemos que el cero es una posición válida. En matemáticas, las coordenadas de un punto sobre una grafica se determinan mediante ejes. Al eje de coordenadas horizontales se le denomina con la letra “x” y al de coordenadas verticales con la letra “y”. Aquí usaremos las mismas notaciones. Estableciendo esto, se puede hacer referencia a la coordenada de un punto/pixel, por medio de un par de valores (x e y). Siendo así nuestra coordenada de origen, es decir, el pixel que se encuentra en el extremo superior izquierdo de nuestra pantalla, la coordenada (0, 0), y la coordenada del pixel que se encuentra en el extremo inferior derecho sería la (319, 239).

Ahora bien, al conocer las dimensiones de nuestro entorno ya podemos diseñar algún fondo para el juego.

Una forma de hacerlo sería dibujando el fondo libremente. Sin embargo, en este ejemplo utilizaremos un sistema muy antiguo pero muy útil al momento de realizar nuestro primer proyecto, el sistema de tiles.

Dicho sistema consiste en descomponer el mapa en pequeñas áreas, pequeños cuadrados que al estar unos junto a los otros nos dan la sensación de estar viendo un paisaje, algo muy similar al efecto que sucede con los pixeles en la pantalla.

Esta técnica es muy útil, lo fue en particular en los inicios de la industria de los videojuegos, y actualmente se sigue usando, aunque en menor grado. Es un sistema que permite crear grandes fondos a partir de pocos elementos, por lo cual consume menos recursos y así es como muchos de los primeros juegos que fueron programados sobre un hardware limitado pudieron realizarse con éxito.

En nuestro ejemplo, utilizaremos los tiles siguientes: