Showing posts with label opinión. Show all posts
Showing posts with label opinión. Show all posts

Saturday, February 27, 2016

Resumen de un año más de trabajo en el mismo juego.

   Para quienes se encuentren leyendo esta entrada con el único fin de saber sobre el estado actual del beatemup, aclararé que el apartado jugable del juego está prácticamente terminado: Los 3 personajes principales están 100% completos y también la mayoría de los enemigos, incluso el 100% de los enemigos ya están diseñados (mas no todos terminados aún). Los niveles están todos definidos y algunos de ellos ya están terminados al 100% también. La jugabilidad tiene meses y meses de pulido, tanto como para asegurar que está en calidad final. El juego cuenta con varios niveles de dificultad (desde uno fácil hasta un modo prácticamente imposible) modo cooperativo local, modo vs y también entrenamiento de combos entre otras cosas.



   Nota: lo que sigue de esta entrada trata sobre mi experiencia personal como desarrollador, osea que si solo querías ver noticias del estado del juego, te advierto que lo que viene a continuación podría no aportar ninguna información interesante para ti.

----

   Después de un año más de trabajo en el beatemup (ya van 2 años), me he topado con una serie de desafíos y revelaciones que me gustaría compartir con ustedes. Tal vez esté equivocado respecto a muchas de las opiniones que compartiré en esta entrada, pero creo que vale la pena mencionarlas igual.

   1- Dedicar mucho tiempo a una sola cosa, puede ser mucho más insalubre de lo que uno cree en un principio.

    Luego de 6 meses de estar trabajando en un mismo proyecto... si no cuidas los otros aspectos de tu vida, puedes llegar a un punto donde acabes odiando todo aquello que disfrutabas hacer, y eso es algo muy serio. Ahí es donde caes que embarcarse en un proyecto grande, no es solo para "desarrollar un producto", sino también para "desarrollarte a ti mismo".

   2- No hay vuelta atrás.

   Para qué mentirles?... ya me pasó de estar trabajando más de 6 meses en un juego para luego abandonarlo... pero con este juego es diferente. Nunca le había dedicado tanto tiempo a un juego como a este... y además, este es el juego que soñé hacer durante muchísimos años... tiene absolutamente TODO lo que yo quiero. Cada vez que se me cruza por la cabeza hacer otra cosa, trabajar en algún otro juego o otra cosa en general, siento que no tiene sentido... a veces parece que el hecho de terminar bien este juego fuese lo único que me mantiene vivo (tal vez suena un poco extremista, pero realmente a veces se siente así).

   3- El nicho al que apunto, es demasiado específico.

   Tal vez muchos de ustedes ya lo hayan notado, pero... recientemente no se han desarrollado muchos beatemups "puros" (me refiero a beatemups, que no contienen elementos de rol, plataformas, o metroidvanias)... y esto no es casualidad. Los géneros "puros" cada vez son menos rentables, sin importar lo buena que sea su ejecución (se puede ver claramente en el mundo de los juegos de lucha). Por un lado, esto me alegra, pero, siendo sincero, debo reconocer que existe un poco de temor de que el juego en el que trabajé por tantos años no le guste a nadie más... aún así, tengo fe de que va a gustar.

   4- Tengo que reconocerlo... el resto de la humanidad progresa más rápido que yo.

   Estuve años trabajando en un framework propio y en mis propias herramientas, mientras veo que el resto del mundo genera herramientas mejores. Pensar que en un principio, abandoné la idea de hacer juegos en C++, debido a que mi PC compilaba muy lento, por eso, pasé a C#... con el paso del tiempo, hoy en día, las compilaciones de C++ no son un problema en proyectos medianos/chicos (en este caso no fue una mala decisión de todos modos, porque C# es grandioso al día de hoy).
   Luego, programé mi propio framework simple en XNA... pero, dado que XNA por aquel entonces requería una previa instalación de su runtime, cosa que era bastante molesta al principio... me hice un nuevo framework genérico independiente de la plataforma y comencé a programar implementaciones concretas... la primera de ellas en SFML (muy mala experiencia con esa librería) y luego OpenTK (que es lo que estoy usando ahora)... el tiempo pasó, y se inventaron frameworks para trabajar en 2D cómodamente, como MonoGame, y luego vino la nueva versión de Unity.
   También implementé un motor de audio que usaba OpenAL... luego pasé a IrrKlang para no tener problema con el streaming... y al poco tiempo de eso, la gran librería FMOD (que valía unos 3000 dólares), pasó a ser "gratis para indies"... por tanto, finalmente, me pasé a FMOD (que fue por lejos la mejor opción... pero hubiese sido mejor ir a por FMOD desde un inicio).
   Desarrollé montones de herramientas... hice un editor de animaciones bastante potente, para luego ver que salieron muchísimas herramientas como Spriter. Hice un sistema de física básico, un sistema de partículas propio, un lenguaje de script, un editor de script in-game... solo por nombrar algunas de las cosas que hice y que hoy por hoy, existen equivalentes mejores, como complementos de herramientas gratuitas más potentes.
   Imagínate eso... estás meses y meses trabajando duro en solucionar problemas técnicos para que tu juego se vea lo mejor posible... y con el paso del tiempo, salen muchos frameworks gratuitos que le permiten a cualquiera hacer eso, solo presionando un botón!
   Es una realidad que hay que aceptar, aún así, no me arrepiento de haber trabajado en eso, (de hecho, lo considero una experiencia maravillosa). Supongo que es natural... quienes hicieron juegos en consolas de 8 o 16 bits, deben de sentir eso también... el mundo avanza. No me malentiendan, me parece GENIAL que las cosas avancen así, pero también es una realidad, que son incontables los días que he trabajado en cosas que hoy por hoy, no tienen (técnicamente hablando) nada de especial, y hay que asumirlo, así son las cosas cuando trabajas demasiado solo. Eso es algo que me costó aceptar y hoy lo tengo asumido, la vida es así, y uno tiene posibilidades de hacer juegos hoy, en su casa, gracias a que el mundo viene funcionando así desde hace muchas décadas atrás.

   5- Hoy por hoy, creo que no fue la mejor idea ocultar el desarrollo por tanto tiempo.

   En el post anterior, daba razones por las cuales preferí mantener el desarrollo del juego en secreto... sin importar que esas razones sean válidas o no, noté que se siente mucho en falta el hecho de compartir lo que uno hace. El mundo es muy grande, y uno a veces se mete demasiado en su propia burbuja, y cuando eso pasa, es fácil perder el foco... si bien es necesario cierto nivel de concentración, creo que es un tema de equilibrio... tampoco es un tema de hacer pública cada linea de código programada... pero... por otra parte, me ha pasado de haber estado tan concentrado en el desarrollo que olvidaba todos los puntos buenos del juego y me concentraba solo en desanimarme por aquello que aún le faltaba... creo que UN POCO de eso, está bien (es en parte lo que te empuja a mejorar los detalles), pero cuando no muestras tu trabajo por mucho tiempo, eso se puede volver una obsesión que podría incluso rozar lo enfermizo.

   6- Mis siguientes entradas, deberían estar en inglés.

   Tengo que asumirlo, si bien mi inglés es muy básico y suele tener errores... hay que abrirse al mundo. Si en algo tan "informal" como un blog de desarrollo, no me animo a comunicarme en un lenguaje "universal"... qué queda para todo lo demás?

---

   Dicho esto, dejo constancia que mi intención actualmente es continuar el blog de desarrollo, compartiendo con ustedes aspectos interesantes del mismo, pasados y actuales. También es mi intención comenzar a revelar screenshots mediante mi cuenta de Twitter. Me encantaría saber que opinan al respecto aquellos que venían siguiendo este blog... les parece una buena idea?

Wednesday, June 03, 2015

A veces es mejor en silencio

   Hace tiempo que siento la necesidad de aclarar algo, pero no había encontrado el momento ni la inspiración para expresarlo correctamente. Hoy, finalmente "se alinearon los planetas" y me siento inspirado como para escribir al respecto.

   Quienes siguen este blog, habrán notado que no actualizo nada desde hace ya varios meses. Tal vez incluso piensen que he abandonado el desarrollo del juego. Por fortuna, les comento que esto no es así, dado que sigo desarrollando como siempre y avanzando muy bien. Sin embargo, creo que estoy debiendo una explicación al respecto... de paso, me daré la libertad también de reflexionar acerca de un tema que considero muy interesante: "las ventajas y desventajas de la exposición de un juego en desarrollo".

   Creo que hoy en día está muy "de moda", el hecho de mostrar como un juego va desarrollándose, incluso, cuando éste lo hace lentamente, ya sea por ser desarrollado por un equipo pequeño, por ser un proyecto demasiado ambicioso, o incluso por ambas cosas. Si bien, como desarrollador de videojuegos, me resulta interesante seguir ciertos blogs de desarrollo, debo reconocer sin embargo, que al hacerlo, pierdo casi todo el interés que podía tener en jugar dichos juegos. No se si esto le pasará a mucha gente, pero a mi si que me pasa, y me parece algo bastante "revelador" en cierto modo... me explico: Imagina por ejemplo, que ves el "detrás de cámaras" de una película que saldrá dentro de 1 año, pero además... mes a mes, te muestran avances de como van haciendo ciertas escenas, el desarrollo de los personajes, etc... ¿Piensas que cuando esté lista la película tendrás el mismo interés de verla, que si te hubieses enterado de su existencia cuando ya estaba disponible? En mi caso, esto no sucede. Incluso, voy perdiendo el interés al pasar tanto tiempo viendo algo que aún no está listo. Lo más probable es que no me sorprenda en lo absoluto, una vez que el producto esté terminado.

   Hoy en día es común ver que ciertos juegos se expongan demasiado en fases tempranas del desarrollo, o incluso, se permita un acceso anticipado (early access), permitiendo también, hacer un testing más intenso y acertado. Todo esto muchas veces forma parte de una campaña de financiación (crowdfunding), que es primordial para que el estudio en cuestión tenga dinero para poder avocarse a terminar el juego (todos necesitamos dinero para sobrevivir), en dichas campañas, se suele hacer una "preventa", la cual permite a su vez, el acceso anticipado, a versiones beta o incluso alfa, del juego.

   Como muchos ya sabrán, este juego no tiene financiación externa, básicamente lo hago yo solo en mi casa sin recibir dinero por ello, lo cual me gusta mucho, debo decir, porque me siento libre de crear el juego que quiero, como yo quiero. Pero, si no necesito financiación externa para acabarlo... ¿Que sentido tiene mostrarlo/spoilearlo cuando aún no está listo para ser jugado "en todo su esplendor"? Supongamos que, dada la situación, decido proveer un acceso anticipado al mismo, de forma tal que quienes quieran jugarlo, puedan hacerlo. Vuelvo al ejemplo de la película: Imagina que ves una película... luego de verla, sientes que tuvo unas cuantas escenas que no se entendían muy bien, y que podrían ser mejoradas... te dejó un gusto un poco amargo, pero no te pareció mala del todo... incluso, se podría decir que te gustó. Ahora, imagina que cada mes, sale una versión con algo corregido, alguna escena mejor actuada, etc. Cuando esté la película completa... ¿crees que te va a gustar lo mismo, que si la hubieses visto terminada por primera vez?

   Se que mis comparaciones no son del todo justas, porque una película y un videojuego (si bien, en algunos casos no tanto) son cosas muy diferentes. Pero creo que se entiende la idea. Hacer videojuegos de buena calidad, lleva mucho tiempo, y si a ese tiempo le agregas la tarea de mostrar lo que estás haciendo, no solo vas a hacer que la gente se aburra de tu juego antes de siquiera poder probarlo o (en el caso de un acceso anticipado) que se aburra de probar pequeños cambios de un producto incompleto... sinó que también perderás mucho tiempo valioso en tratar de hacer "entretenido para afuera" algo que solo es "entretenido para adentro", como lo es, el proceso de creación de un videojuego.

   Existe un momento en el que muchos ven un juego y dicen "shut up and take my money!"... más vale que en ese momento, dicho juego ya esté disponible.

   Siéntanse libres de comentar o debatir al respecto, esto es solo una mera opinión personal y estaré encantado de leer tanto argumentos a favor, como argumentos en contra.

Sunday, February 08, 2015

Varios ajustes y algunos cambios

   Estos días he estado trabajando en muchas cosas internas del juego, pero también en otras que cambian bastante la jugabilidad (para bien!).

   Una de las cosas más significativas, fué el hecho de que decidí agregar un botón más al juego. Dicho botón es el de "ataque especial". Si se fijan en el video que hay más abajo, verán que hay una pequeña barra al lado de la cara del personaje. Dicha barra, te permite hacer ataques especiales o de escape, sin perder energía, siempre y cuando se ejecute dicho movimiento cuando la barra esté completamente llena. Estuve probando muchas formas de hacer ataques especiales, y creo que esta es la que más me gustó... por un lado, debo reconocer que me sentí un poco frustrado, porque este sistema es similar al de Streets of Rage 3... aún así, es un poco diferente, porque el ataque de escape se puede ejecutar libremente, solo que al conectarse, se pierde la barra de especial, y si no estaba llena, se resta un poco de energía también... por otra parte, en Streets of Rage 3 no importa si el ataque de escape fue conectado o no.

   Este nuevo sistema también me tienta a hacer otros añadidos que no son muy complicados de implementar, pero si afectarán mucho la jugabilidad (para bien!). Por ejemplo, al disponer de un tercer botón, ahora puedo hacer que el comando para lanzar el arma, sea más accesible... y lo es, porque ahora en lugar de hacer una secuencia extraña, se hace simplemente presionando los 2 botones normales (ataque + salto)... igual que Streets of Rage 2 & 3... otra vez. También habrán otras mejoras de las que hablaré en futuras entradas.

   Otro de los grandes cambios que hice, fué en la inteligencia artificial de los personajes. Básicamente, y dicho de forma sencilla, los enemigos se suelen "turnar" para atacar. Esto genera que muchos de los enemigos esperen su momento, dejando mas claro el panorama y permitiendo al jugador tener con quien pelear una vez que derriba enemigos, sin tener necesariamente que esperar a que los enemigos derribados se reincorporen en batalla.

   Otro detalle bastante importante también, es que ahora Gal puede conectar su combo normal entero a enemigos que se encuentren en los bordes de la pantalla (antes los enemigos se iban de rango al golpearlos y desplazarlos contra un borde).

   Con estos detalles la jugabilidad ha mejorado notoriamente, digamos que ya no se siente "culpa" al utilizar ataques especiales, porque pueden ser utilizados libremente al tener la barra de especial llena.

   Otra cosa muy simpática que sucedió estos días, es que detecté un error en mi lenguaje de script ("sebascript"), que me daba resultados ridículos, por ejemplo "5 - 1 - 1 = 5"... esto era un error en la operación de la resta que estaba tomándolo como "5 - (1 - 1)".

   Podría comentar aún más cosas, pero esta entrada sería interminable... tengo pendiente mostrar más en profundidad el enemigo "Pugicat"... ya que nunca le dí el lugar que se merece en este blog, y he estado trabajando bastante en él. Pero eso quedará para otras entradas!

   Para despedirme les dejo este video que subí, mostrando la jugabilidad de Gal, con el estado del juego actual.

Sunday, February 01, 2015

Fondos del juego... y una cosa más!

   Estos días estuve de vacaciones, pero unos días antes, estaba probando técnicas para realizar los fondos del juego.
   Tal vez muchos ya lo hayan notado, pero el primer fondo que hice para mostrar el juego, estaba hecho en gran medida usando fotos retocadas, reducidas en colores y con paletas alteradas.

   Creo que ese estilo no quedaba tan mal, pero me daba muchas complicaciones para encontrar material y para crear cosas originales... básicamente fue una prueba.

   Debo confesar que no estoy muy especializado en la creación de fondos interesantes (seguro muchos ya lo notaron), así que decidí dedicar un tiempo a encontrar una estética que pueda llevar a cabo en un tiempo razonable y con una calidad que me resulte convincente. Así que aquí está el resultado:


   Si bien es simple, a mi me gustó bastante y creo que se mezcla bien con los personajes en acción dándoles el protagonismo que se merecen (un fondo muy cargado y complejo, por más bueno que sea, muchas veces le puede quitar protagonismo a los sprites, y eso definitivamente no es lo que estoy buscando).

   Aquí pueden ver un video de como queda en el juego (con un añadido de fuego en el fondo también), y de paso también un poco de acción.



   Y sobre "una cosa más", quería decirles que veo que mucho del público de este blog proviene de regiones no hispano parlantes... les cuento que yo escribo el blog en español simplemente porque es mi lengua materna y mi idea es escribir las entradas de la forma más amena posible, eso no significa que no pueda entender comentarios o preguntas en inglés. Tal vez muchos estén usando google translate en este blog, aún así me gustaría animarlos a comentar en inglés si no saben español. Sus comentarios serán bien recibidos también! =)

   Nos vemos en la próxima entrada!

Saturday, January 03, 2015

Una técnica útil para detectar anomalías

Aviso: antes de que sigas leyendo, me gustaría avisar que esta entrada es de un tema puramente técnico, por tanto, si estás leyendo este blog queriendo ver "algo nuevo del juego", ni te molestes en leer lo que voy a contar de aquí en más, porque como ya dije, es puramente técnico.

Estos días estuve trabajando mucho en cosas que tal vez sean un poco aburridas de mostrar. Básicamente estuve corrigiendo muchos casos de borde, ajustando aspectos finos de la jugabilidad y agregando nuevas funcionalidades a los fondos (por ejemplo, objetos animados y capa con efecto "overlay" entre otras cosas).

Aún así, hay algo que me resulta interesante contar acerca de la dinámica de trabajo que estoy teniendo.

Tal vez hayan notado en la animación de la entrada "Profundizando un poco en el gameplay", que hay un pequeño número en la parte inferior, que va creciendo frame a frame. Bueno, ese número es simplemente un contador de frames... pero alguien se preguntó alguna vez "¿para qué?"... ¿que utilidad tiene eso para mí? Justamente... ese es el tema de esta entrada.

En mi framework, cuento con un sistema propio de "replays", lo cual me permite reproducir partidas enteras a mi antojo. Esto es particularmente útil a la hora de encontrar anomalías en el juego. ¿Para que utilizo un contador de frames entonces? La respuesta es muy simple: Para ir directo a los momentos cruciales de una partida. Un ejemplo: Digamos que yo estoy probando mi juego, y sucede algo extremadamente extraño, un personaje se comporta de una manera inesperada, etc... Si no hubiese grabado un replay, no podría ver con exactitud lo que pasó, por tanto tendría que comenzar a suponer muchos casos que pudieron generar dicha anomalía... en cambio, al contar con replays, cada vez que veo una anomalía o simplemente algo "sospechoso", miro el frame en el que estaba... y reproduzco el último replay guardado unos frames antes del momento en el que detecté algo (básicamente, hago que mi framework avance los frames anteriores rápidamente y vaya directo al frame que interesa). De esta forma puedo ver varias veces (o incluso debugear) casos en los que se producen anomalías (muchos de esos casos, por suerte, fueron solo sospechas).

Debo aclarar también, que estos "replays", son más precisamente "input replays", osea que la información que guardan, es solo el input de cada frame, teclado, mouse y joysticks. De esta forma, su peso es bastante ligero... puedo correr el juego desde el principio en un modo especial, que en lugar de obtener el input desde los dispositivos reales, lo obtenga desde el replay mismo, reproduciendo exactamente lo sucedido. Esta técnica es muy usada en emuladores que graban partidas enteras, y yo creo que es prácticamente esencial a la hora de programar videojuegos... además, su implementación es muy sencilla siempre que se haga sobre un framework propio.

Friday, December 19, 2014

Profundizando un poco en el gameplay

   Esta ultima semana estuve terminando los movimientos de Ricardo y puliendo unos cuantos detalles entre otras cosas relacionadas con el editor de niveles.

   Hoy me gustaría mostrar un poco más en detalle cosas sobre como está quedando el gameplay en sí, y de paso mostrar detalles que no había mostrado antes.



   Como pueden ver en el gfycat de arriba, el sistema de combos es un poco más complejo de lo que mostré cuando escribí acerca de los combos básicos.

   Todos los personajes tienen diferentes habilidades que pueden ser explotadas para generar combos más originales y efectivos que los combos básicos. En el caso de Gal, se puede apreciar que tiene movimientos propios como: rebotar en los enemigos, rebotar en la pared y también cuenta con un movimiento "antiair", que se hace presionando abajo, arriba + ataque. Dicho movimiento permite contraatacar fácilmente todo tipo de ataques (especialmente aéreos), pero al caer deja a Gal totalmente a merced de los oponentes que no fueron impactados.

Nota: Como se puede ver en la animación, el golpe final del combo básico, puede ser cancelado en un antiair, lo cual nos permite aumentar el daño del combo, a cambio de aumentar el riesgo de recibir un ataque al caer.

   Otro movimiento que no mostré antes, es el movimiento de "escape", que básicamente se hace presionando los 2 botones (salto + ataque) a la vez (en la animación se puede ver como Gal ejecuta una patada doble con giro, que golpea en ambas direcciones). Dicho movimiento deja a nuestro personaje invulnerable durante su ejecución y solo es posible hacerlo si a nuestro personaje está de pie y le queda algo de energía, dado que al conectar un golpe de estos, nuestro personaje pierde un poco de su energía. Este movimiento no es efectivo como movimiento ofensivo, pero es la forma más fácil de escapar de situaciones peligrosas o daño asegurado.

   Otra cosa que tal vez no se note demasiado, es que el juego cuenta con un sistema de "parry". Básicamente es similar al sistema de Street Fighter 3, solo que al ser un "beat'm up" y no un "fighting game 1vs1" la forma de ejecutarlo es presionando adelante o atrás, instantes previos a recibir un impacto. La gran diferencia entre este parry y el de Street Fighter 3, es que en este juego se puede hacer en todo momento (siempre que nuestro personaje esté vivo y no esté agarrando a otro personaje). Si miran bien la animación, verán que yo ejecuto un parry justo después de caer de un antiair. Esto me permite salir ileso de situaciones muy comprometidas, pero ejecutando una acción muy calculada, complicada y peligrosa.

Nota: Los enemigos son un tanto impredecibles, por lo tanto no es bueno contar con el parry cuando se tiene el control de la situación. Casi siempre es mejor ejecutar un ataque de escape, antes que recurrir al parry, y reservar el mismo para todo lo que sea predecible o para situaciones donde no hay otra opción.

   El sistema cuenta con otros movimientos básicos, tales como "air recovery", "land recovery", correr, correr y atacar y algunos más que pronto detallaré un poco más.

   Espero que les haya gustado esta entrada, pronto mostraré un poco sobre los items del juego, las armas (porque los personajes pueden utilizar armas) y los nuevos movimientos que le hice a Ricardo (que ya está casi completo =D).

Thursday, December 11, 2014

Trabajando en el editor de niveles

   Esta semana estuve trabajando en el editor de niveles... pero no en el de la física ni la parte gráfica, sinó en el editor de "la parte jugable del nivel", osea, las oleadas de enemigos y posicionamiento de objetos.

   Tuve muchas dudas a la hora de decidir como hacerlo, dado que existen muchísimas maneras, y si seguía pensando en todas las posibilidades de cosas que "me gustaría que puedan ocurrir en un nivel"... no lo iba a terminar nunca. Así que me decidí por un modelo sencillo pero medianamente fácil de extender.

   También estuve trabajando un poco más la AI de los personajes con el fin de mejorar la experiencia del juego.





   Pronto planeo seguir avanzando en el diseño de personajes... crear más enemigos, etc, pero estos días estuve implementando muchas cosas técnicas que... si bien, puede que no den mucho contenido interesante a este blog... es algo muy necesario y es en lo que estuve trabajando esta última semana. =)

Wednesday, December 03, 2014

Un poco sobre los editores personalizados

   Hoy voy a mostrarles varios editores que hice y estoy usando en el desarrollo de  Fight Against Mutant Revenge.

   Una particularidad de los editores que mostraré a continuación, es que son todos "ingame", es decir, se ejecutan en el juego mismo. De esa manera, me permiten ver los resultados en tiempo real.

Editor de física de escenario

   Este editor es muy simple, pero muy útil, dado que me permite definir los relieves y posiciones de todo un escenario. Es bastante básico, pero tiene todo lo que necesito para definir la forma de cada zona.

Editor de fondos
   Este editor es un poco más complejo, y me permite armar una especie de "collage", usando capas, cada una con varias imágenes, pudiendo cambiar parámetros tales como color, blend, parallax y otros más.

Editor de script
   Como dije hace un tiempo, estoy usando un lenguaje de script propio ("sebascript"), principalmente para definir cosas básicas del juego. Muchas veces también es útil cambiar cosas mientras el juego está corriendo. Para hacerlo de forma más amena, uso un editor propio de mi script (con coloreado de sintaxis y todo). Tal vez, este editor no sea tan indispensable como los otros, pero es bastante más útil de lo que parece a simple vista (sobre todo a la hora de calibrar parámetros gameplay).

   Todos estos editores funcionan solamente con teclado, simplemente porque me parece más simple y más preciso que sea de esa forma. Yo soy de los que opinan que hacer videojuegos es un arte, y de la misma forma que para dibujar usamos programas hechos a medida, como photoshop... creo que también en lo posible es mejor usar programas que se ajusten a nuestras necesidades, para ahorrarnos bastante trabajo tedioso y así poder concentrarnos en lo más importante de una forma amena.

   Actualmente existen muchas herramientas que ofrecen soluciones genéricas, pero yo creo firmemente, que la mejor herramienta suele ser aquella que está definida por y para uno mismo, porque además, se puede ir ajustando según nuevas necesidades que se vayan creando en el desarrollo mismo de un juego.

Wednesday, November 12, 2014

Un poco sobre la jugabilidad: Combos normales

   Hoy quiero compartirles un poco de información acerca del sistema de combos normales.


   Existen muchas formas que ya se consideran clásicas de ejecutar combos normales en beat'em ups, ya sea alternando varios botones de ataque (Sengoku 3, Gekido Advance, Super Vampire Ninja Zero), con un botón solo (Streets of Rage, Final Fight, etc), con posibilidades de cancelar el combo en lanzamientos (Final Fight, Sengoku 3, Cadillacs and Dinosaurs), con desplazamiento de personajes (Super Vampire Ninja Zero, Alien vs Predator, Capitan Commando). Todas esas opciones tienen sus pro y sus contras.

   La jugabilidad en Fight Against Mutant Revenge, se da con tan solo 2 botones: Ataque y Salto, por tanto los combos normales se hacen con un solo botón, presionándolo una vez por golpe y con posibilidades de variar, cancelando el combo en uno de dos posibles lanzamientos.

Variaciones de combos normales

Finalizando con lanzamiento hacia atrás
(Sosteniendo el dpad hacia abajo)


---

Finalizando con lanzamiento hacia el frente
(Sosteniendo el dpad hacia arriba)


---

Finalizando con golpe de remate
(Sin presionar ninguna dirección vertical)


   Tal vez muchos de ustedes ya se dieron cuenta, pero el sistema de cancelación en lanzamientos, es similar al de Cadillacs and Dinosaurs. Este sistema me pareció muy práctico a la hora de "combear" cuando hay muchos enemigos en pantalla. En juegos como Streets of Rage 2, (donde no podemos cancelar combos en lanzamientos) nos vemos obligados a agarrar a los enemigos para tener algo para lanzar hacia atrás y librarnos así de varios problemas. Eso, (si bien es parte clave de la jugablidad del juego,) creo que aleja un poco al jugador de los combos normales, y lo hace centrar su experiencia de juego más en los agarres y llaves que en golpes en si, y yo no quería eso para este juego.

   Como pueden notar también, el combo de Gal se desplaza por la pantalla... debo aclarar que esto es una característica propia de Gal, pues en el video que mostré el gameplay de Ricardo, se podía ver que (a diferencia de Gal), este no se desplazaba al golpear.

      Espero que les haya gustado esta entrada, y me gustaría mucho que si hay algún sistema de combos en particular que les resulte interesante mencionar, se sientan libre de dejarlo en la caja de comentarios. Cualquier duda que tengan no duden en consultarme por medio de mi ask.

   Manténganse al tanto, porque en estos días estaré dando información del tercer personaje del juego y estoy seguro que a muchos de ustedes les va a encantar!  =)

Thursday, October 23, 2014

Hacer juegos lleva tiempo

   Si alguien pasa por mi blog personal, notará que ya no lo actualizo con frecuencia... esto se debe a una razón muy sencilla: "Hacer ciertos juegos, puede llevar mucho tiempo" (incluso mas si los desarrollas solo). En pocas palabras: si yo, en esta etapa de mi vida, actualizara mi blog solo cuando termino un juego... pasaría años sin dar signos de vida. (De hecho, es justamente lo que está sucediendo.)

   Por otra parte, en estos últimos años he creado muchas cosas: mi propio lenguaje de script, un editor de animaciones, un editor de niveles, un framework multiplataforma, un editor de texto in-game, solo por nombrar algunos. Se puede decir que estas cosas nunca "vieron la luz", pero no por eso son menos importantes. (Creo que cuando uno apuesta por hacer juegos "no tan simples", utilizar herramientas personalizadas es esencial.) Lo cierto es que el tiempo es finito y desarrollando herramientas, prácticamente dejé a un lado la creación de juegos pequeños para dar lugar al desarrollo de un juego mayor. Y es ese el motivo de esta entrada. Porque a partir de eso, es cuando la tarea de desarrollar un juego comienza a extenderse en el tiempo.

   Me gustaría contarles que hace poco más de un año, estoy desarrollando (no continuamente) un juego del género Beat'em up. Aún me queda mucho trabajo por delante pero el juego me está gustando mucho, por eso, tomé la decisión de publicar noticias sobre el desarrollo, explicando aspectos de la programación y el diseño, mostrando imágenes del juego, animaciones, personajes, fondos y tal vez incluso algunas músicas.

   Espero que a muchos de ustedes les sea ameno y les resulte entretenido acompañarme en esta aventura!