Sunday, September 11, 2016

A new freeware game! (Wheels of Elefantita!)

   A lot time has passed since last time I wrote something here. Last week I've been working on a "secret game"... as a gift for my beloved partner (the woman who lives with my the last 10 years).

   Actually I have to say that I'm very proud of the final result... considering that was made in less than a week, I'm very happy with it.

   The game is a "City Connection" like, with Nes and MSX 8-bit style. I upload it to Itch as a Freeware game in order to more people can enjoy it.

   If you really like it, don't forget to share it with anybody, it could be really cool if a lot of people knows about it... and, considering that is maded with the same engine that F.A.R.M uses, it could be a GREAT way to check some possibles compatibility issues with my framework! (it already works on every tested pc anyway)

   Thanks for reading! And I hope you like this new short but cute and enjoyable game!




Tuesday, March 01, 2016

Game Name Story

On old entries I said that the name of my game was "Fight Against Mutant Revenge", but at that time I had not created the title screen yet. So, when I started to create the title, I put the acronyms "F.A.M.R" and I notice that's not easy to pronounce... and even... I was really close to a real word "farm" instead!

Considering that's a game where you fight against a lot of animal-looking mutants... I thought that FARM acronyms will sounds way better... and finally I changed the name to "Fight Against the Revenge of the Mutants".

So, why I decided to start the game name with "Fight Against" initially? Well... the real answer is that I was looking for a generic name, in order to make a prefix for distinctive sequels... like "Fight Against : whatever I want", and in this case were "Mutant Revenge".

However, I must say too, that in that time, I was listening a lot of the "Rise Against" songs, and I really liked how some song titles reads with band title as prefix, like: "Rise Against Entertainment", "Rise Against Broken Mirrors", etc.

I think that's funny how this sequence of decisions took me to an interesting wordplay, don't you?

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!

Monday, January 19, 2015

Nuevo video de muestra (modo 3 players coop)

   Estos días estuve trabajando mucho en cosas técnicas y probando bastantes cosas con el arte del juego, pero algo que creo que nunca mencioné, es que el juego se puede jugar en modo cooperativo de a 3 jugadores simultáneos. Los jugadores pueden ser reales, o controlados por el cpu. 

   Creo que nunca había mostrado un ejemplo de eso, así que aquí va un video, que también deja ver otras cosas nuevas: un prototipo de escenario (con nuevo estilo, más simple), ahora los fondos pueden tener elementos en movimiento, ahora el contador de combos se sitúa en la parte inferior de la pantalla y hay una nueva animación para caminar de F.Norris. También se puede escuchar la voz de F.Norris, que al igual que las voces de Ricardo y de Gal, forma parte del excelente pack de voces de http://www.apphiayu.com/casting.


Nota: El video puede verse a 60fps si eligen la calidad 720p60 HD.

   Como verán, he tardado mucho en postear algo nuevo, no porque haya abandonado el desarrollo, sinó porque no había muchas cosas nuevas que puedan ser interesantes para mostrar. Como sea... en los próximos días, mostraré algunos diseños de nuevos enemigos que aún no son definitivos.
   Hasta luego!