ENGLISH  |  ESPAÑOL

viernes, 25 de diciembre de 2015

Estado del desarrollo

Hola a todos,

Quiero aprovechar la llegada de estas fiestas para actualizarlos respecto al estado del juego y las razones detrás de los retrasos.

Para los TL;DR: principalmente falta de fondos. Para los demás, continúen leyendo.

AC-130 GS:SOS es un proyecto financiado con mis –muy limitados- ahorros luego de salir de una situación personal algo complicada. Esperaba que el proyecto tome alrededor de 6 a 8 meses trabajando a tiempo completo, lo que significaba que los fondos disponibles alcanzaban apenas para sobrevivir hasta el fin del proyecto.

En parte por suerte, y en parte por desgracia, el proyecto creció de una manera que no había planificado. No quería tener zombis descerebrados moviéndose sin sentido por el mapa esperando a que los maten; quería una IA inteligente que reaccione de manera realística a un campo de batalla vivo. Quería que luchen entre sí, que tengan misiones reales, objetivos. Quería vehículos que pudieran utilizar todas sus capacidades, tanto para atacar como para evadir. Quería heridas que sangren. Quería un modelo de daño realista que incapacite partes de los vehículos de manera independiente, en lugar de “este tanque puede soportar 5 disparos antes de explotar de una forma genérica”. Quería una tripulación que analice la situación en tierra y haga comentarios acordes.
Y todo eso toma tiempo extra. Tiempo significa comida y expensas, y esos dos significan fondos.

Normalmente, los desarrolladores acuden al Crowdfunding cuando ven que, siendo realistas, los fondos no alcanzan para terminar un proyecto.
Lamentablemente yo no podía darme ese lujo: en mi país, las operaciones en moneda extranjera estaban prohibidas, e incluso si no lo hubieran estado, los impuestos y costos de transferencia se habrían comido casi todos los fondos, o incluso más de lo recaudado. Para superar esa barrera, los desarrolladores de mi país en realidad arman sus empresas en el exterior, pero en mi caso simplemente no tenía suficiente dinero para pagar ese proceso.

Al llegar junio de este año (a 10 meses de haber comenzado el proyecto) la situación financiera era bastante mala, al punto de que incluso si el juego hubiera estado terminado ese mismo día, no habría tenido suficientes fondos para armar la estructura necesaria para publicarlo en un App Market y comenzar a generar ingresos.

Por lo tanto, no tuve más opción que buscar formas de obtener dinero para vivir que me permitieran trabajar sobre el juego por lo menos medio día, lo que significó que durante los últimos 5 meses, el proyecto apenas avanzó mientras me concentré en eso.

Hoy en día, mientras que la situación sigue siendo complicada, es bastante más estable, lo que significa que puedo (de a poco) seguir trabajando para tener el juego terminado.

Actualmente, el juego está terminado en un 70%, y con un plan de ruta bien definido que abarca todos los requerimientos restantes.

Quiero tanto agradecer como pedir disculpas a todos los que estuvieron esperando este juego con ansias, y desearles una Feliz Navidad y un Próspero Año Nuevo, esperando que durante el próximo finalmente pueda recompensarlos con un juego terminado y entretenido.

Diego Wasser
Dueño/Desarrollador, Byte Conveyor Studios

martes, 12 de mayo de 2015

Desarrollo Ninja

Ya pasó un tiempo desde que comencé a trabajar con la I.A. de alto nivel.

Esta ardua tarea fue hecha en las sombras... no publiqué noticias ni entradas en el blog durante el proceso.

No es solo el hecho de que haya estado demasiado ocupado programando - podría, tal vez, haberme tomado el tiempo para dejar una o dos líneas de texto al respecto. Pero la verdad es que quería tener todo listo cuando lo hiciera, para poder realmente mostrar los resultados.

Y aprendí algo: la I.A. es buena para la jugabilidad, pero no tanto para hacer alarde en videos cortos. Y olvídense de los screenshots.

El mejor ejemplo para ilustrar lo que estoy diciendo es lo siguiente:



Se ve bien, ¿verdad?

Bueno, eso es un script de misiles que hice en solo un día, mientras descansaba un poco de programar la I.A. ¡Solo un día!

Ver a los personajes correr a cubrirse, navegar de objetivo a objetivo o desplegarse durante un ataque, puede verse bien también; pero no tiene ese efecto "wow"... y programar todo eso toma MUCHO tiempo en comparación con el script del misil.

Asi que todavía tengo un poco de camino por recorrer antes de poder mostrar a la I.A. funcionando. Si todavía están conmigo durante este largo tiempo, ¡realmente agradezco su paciencia!

miércoles, 8 de abril de 2015

I.A.: Formaciones

Estamos trabajando con la funcionalidad de la IA (Inteligencia Artificial) de alto nivel actualmente.
La columna vertebral de la IA de los Soldados es lo que llamamos "Formaciones", que agrupan a soldados que llevan a cabo tareas para lograr objetivos definidos.
Cada formación que se introduce a un escenario tiene un set de misiones, que van de patrullar un número de puntos, a escoltar otras unidades o defender una zona contra ataques enemigos.
Como en la vida real, estas formaciones se organizan fisicamente para ajustarse lo mejor posible a su objetivo particular. Por ejemplo, un grupo que está marchando hacia un objetivo sobre un camino va a usar una formación en columna, o columna escalonada. Un grupo que espera contacto enemigo hacia el frente usará una formación cuña o en línea.
En este video, se puede ver a un grupo enemigo pasar de una formación columna escalonada a una cuña mientras marchan hacia su objetivo. Cuando el AC-130 ataca, la formación se desbanda cuando los soldados corren por su vida, mientras tratan de quedarse realtivamente cerca entre si.

miércoles, 25 de marzo de 2015

Ataque a un convoy

Subí un nuevo video hoy (y un artículo noticioso que lo acompaña en IndieDB) demostrando el ataque a un convoy de camiones escoltado por un Transporte Acorazado de Tropas BTR-60.

Este probablemente sea el mejor video que lancé hasta ahora. Tal vez me guste porque junta muchas cosas en las que estuve trabajando en una misma escena, y hace que parezca "viva", en lugar de simplemente mostrar cosas específicas.
Un montón de cosas pasan en solo algunos segundos, y lo que es mejor, algunas de esas cosas son inesperadas.

Una de las cosas que se pueden ver claramente en el video es un GAZ-67 (una especie de Jeep fabricado por la Unión Soviética) volcándose hacia atrás. Me pregunté por qué pasó eso, porque no pude ver ninguna explosión cercana en ese momento.
Al inspeccionar mas detalladamente (cuadro por cuadro, dado que pensé que había algún bug raro) descubrí que se puede ver el tanque de combustible del camión trasero explotar antes de que, unos segundos después, también explote su cargamento.

El tanque está del lado izquierdo del vehículo, por lo que no se puede ver desde el ángulo en el que se encuentra la cámara. También se ubica debajo del camión, por lo que su explosión haría que las cosas con un Centro de Gravedad mas alto se disparen hacia arriba. El GAZ-67 estaba ubicado en el lugar exacto para que la explosión lo afecte de esa manera.

También, al hacer el video ni siquera noté que los soldados que escapaban de los vehículos hacia la izquierda de la pantalla eran atacados por un grupo de soldados amigos que de casualidad pasaba por la ladera sobre el convoy. Se pueden ver las marcadoras volando abajo a la izquierda si prestás atención.


miércoles, 11 de marzo de 2015

Meet & Kill Vol. 2

Lanzamos la segunda edición de "Meet & Kill" hoy. Esta vez, destruimos un Vehículo Acorazado de Transporte de Tropas BTR-60, vemos a un T-34-85 siendo ultimado por un soldado anti-tanque, y neutralizamos una pieza de artillería D-20.

martes, 3 de marzo de 2015

Presentando "Meet & Kill"

Lancé un nuevo video de desarrollo hoy, parte de una nueva serie que llamo "Meet & Kill" (Conocer & Matar). En estos videos, conocerán las nuevas unidades... e inmediatamente las verán siendo destruídas.
En este primer episodio, verán los diferentes tipos de unidades de Artillería Antiaérea (AAA) del juego: el ZPU-4 de 4 barriles de 14,5mm, el inmenso KS-19 de 100mm, y la temible arma antiaérea autopropulsada (SPAAG) ZSU-23-4 "Shilka" de 4 barriles de 23mm

jueves, 12 de febrero de 2015

Destrucción de vehículos

Por fin, terminamos con el sistema de destrucción de vehículos hoy. Es bastante complejo: a diferencia de la mayoría de los juegos, los vehículos tienen diferentes sistemas, que causan efectos específicos cuando son destruídos.
La tripulación también es vulnerable estando dentro del vehículo, y puede ser lastimada o morir incluso antes de que el vehículo esté muy dañado.

El siguiente video es una demostración del sistema de daño aplicado al tanque Tipo 63.



Esto es lo que sucede internamente durante el video:

- El impacto @0:05 destruye la estación de mando del conductor, causándole la muerte y forzando al vehículo a detenerse.
- El siguiente impacto destruye la oruga izquierda, inmobilizando el vehículo
- La tripulación comienza a escapar @0:08 (se puede ver la escotilla superior abriéndose a través del fuego)
- El impacto @0:21 destruye la oruga derecha
- El impacto @0:22 causa un daño crítico al almacén de munición del vehículo, encendiéndolas y haciendo que llamas de alta velocidad escapen por los laterales de la torreta. Todos los que quedan dentro del vehículo mueren.
- La extrema presión dentro del vehículo causa una explosión secundaria @0:42, separando la torreta y lanzándola por los aires.

Próximamente habrá disponible otro video mostrando la destrucción de otros tipos de vehículos.

miércoles, 28 de enero de 2015

Balacera

¡Terminé con las armas de los soldados!


El script que maneja la "táctica" es extramadamente básico de momento; es solo para poder probar las armas y el modelo de daño de los soldados, asi que no esperen que estos muchachos hagan nada brillante.

Igual, se ve bastante bien. Aún mas importante, incluso con este script temporario y extremadamente ineficiente, las cosas están funcionando bastante rápido, asi que es un alivio para mi.


La performance en un juego con una cantidad tan inmensa de personajes y tantas cosas sucediendo al mismo tiempo es algo por lo que me estoy preocupando la mayoría del tiempo.

Asi que aquí les dejo un video de un combate gigante, comenzando con una emboscada en la ladera de un monte, con refuerzos llegando hasta que un M113 llega al final.



Desde que hice este video, agregué un efecto de chorro de sangre para algunas muertes violentas que quedó muy bueno. Perdón, pero por el momento no tengo tiempo para crear otro video que lo muestre.

Y aquí hay un video de un equipo anti-tanque atacando un M113 con RPGs.


Pueden leer mas sobre los enfrentamientos entre soldados en este artículo en IndieDB (en inglés), donde explico sobre el modelo de daños, heridas sangrantes y mas.

jueves, 22 de enero de 2015

Uno de esos días...

Hoy me di cuenta que publiqué el video de los vehículos disparando prácticamente en todos lados, menos aquí, en el blog.

Asi que vamos directo a eso. Disculpas por la omisión:


Las armas de los vehículos ya están terminadas hace casi dos semanas. Incluso las armas antiaéreas están hechas.

Aquí hay otro pequeño video del ZSU-23-4 Shilka AAA disparándole al jugador:


El video es corto porque el modelado del daño al jugador no está terminado aún, y no quería arruinarlo mostrando algo incompleto.


Las últimas dos semanas estuve trabajando en combates entre los personajes de I.A.; o sea, soldados disparándose entre si. Esto incluye a soldados disparando sus RPG-2 o M72 LAWs (conocidos como "bazucas" para la gente menos orientada a lo militar) contra tanques y vehículos.

Todo se veía muy bien y está casi terminado, pero cuando hice una prueba de performance hoy, falló bastante mal.

Algo en algún lugar está causando muchísimo "stuttering" (se traba), asi que... supongo que pasaré como mínimo el resto de esta semana tratando de encontrar la causa, lo que a su vez implica que voy a tardar un poco mas en mostrarles a los soldados llenándose de plomo.
Espero que no sea mucho tiempo.

sábado, 27 de diciembre de 2014

Disparos de ira

Hoy es el primer día en el que los personajes de I.A. se dispararon entre si, con varias bajas. Fue muy entretenido sentarse y mirar como se masacraban.
Ubiqué 4 piezas de artillería para disparar a las fuerzas amigas, mientras dos tanques Tipo 63 se acercaban para terminar el trabajo con sus cañones de 85mm y ametralladoras coaxiales.

Mientras tanto, un Transporte Acorazado de Personal M-113 amigo cargaba tropas y las llevaba detrás de la posición de artillería del enemigo, disparando a soldados del bando opuesto por el camino.

No pasó mucho tiempo hasta que mas de 70 soldados amigos murieron, pero casi 60 enemigos sobrevivieron.

Todavía no hay video, dado que aun queda algo de trabajo por hacer... ¡ya viene!



lunes, 22 de diciembre de 2014

(mucho mas) Trabajo con vehículos y tripulaciones

Sé que hace mucho que no agrego una entrada al Blog, y me disculpo por ello. Pero realmente no fue mi culpa. Culpo a esos conductores sobrios del Ejército Norvietnamita durante la década del 70 en Vietnam. Si hubieran estado totalmente ebrios mientras manejaban sus convoys de suministros por la senda Ho Chi Minh, podría haber escrito mucho antes.

Siento cierto grado de confusión en ti.
Dejame explicar.

Durante las últimas tres semanas vengo trabajando con los vehículos. Primero vino el Pathfinding (hacer que un vehículo encuentre un camino apropiado del punto A al punto B en el mapa). Tenía bastante aprehensión con este punto, y pensé que iba a ser un trabajo colosal, especialmente dado que tenía que lograr que los vehículos sigan correctamente caminos y carriles, y decidir cuando es apropiado dejarlos al dirigirse a un objetivo fuera de la ruta.

Pero lo hice sin sobresaltos y mucho mas rápido de lo que esperaba.


Pensé que lo peor había terminado, y estaba bastante confiado en que podría eliminar a los vehículos de la lista mucho antes de lo planeado. Asi que llegué a la simple tarea de la evasión de colisión: hacer que los vehículos reaccionen al tránsito y la gente que los rodean de manera de no chocar o trabarse en el camino. En otras palabras, reaccionar de manera opuesta a un conductor ebrio.

El tiempo de desarrollo planeado era de 2 días. 48 horas. Un trámite.

Seguro.

15 días mas tarde, trabajando un promedio de 12 horas por día incluyendo fines de semana, recién estaba terminando. En el camino, prácticamente tuve que empezar desde cero, DOS VECES.




Asi que eso nos deja aquí, hoy. El último par de días luego de terminar con la evasión de colisiones, estuve trabajando con -y terminé-  tripulaciones y pasajeros.
Todos los vehículos ahora necesitan tripulaciones para funcionar. Un vehículo sin conductor no se moverá. Uno sin artillero no disparará.
Además, los transportes de tropas acarrean personal. Es una imágen interesante ver varios camiones descargar decenas de soldados que corren a la batalla, a través del FLIR del AC-130.


Asi que eso está hecho. Realmente espero que las cosas sean mas amenas de ahora en mas.
A continuación: operación de armamento de vehículos. Nos vemos del otro lado.

domingo, 30 de noviembre de 2014

ESTO. ES. IMPRESIONANTE.

Hoy fue muy fácilmente el día de desarrollo mas apasionante.

Durante los últimos días, estuve perdiendo el sueño (y lo digo de la manera mas literal) debido a la performance del juego.

El código estaba optimizado al máximo, y sin embargo, a medida que iba agregando cosas esenciales, la performance seguía cayendo sin una solución a la vista. Simplemente no habían mas atajos que pudiera tomar sin hacer SERIOS sacrificios.

Comencé a pensar que debería, o bien apuntar exclusivamente a móviles de alta gama, o reducir significativamente la cantidad de personajes en pantalla. Y ODIABA ambas ideas.

Simplemente no creo que AC-130 Gunship Simulator pueda ser entretenido sin tener por lo menos 100 personajes por sector para la mayoría de las misiones.

Y finalmente, hoy, SUCEDIO. No RESOLVI el problema. Lo DESTRUI.

Funcionó de una manera tan efectiva, que al principio creí que había cometido un error en algún lugar. Asi que verifiqué todo nuevamente, recompilé, e intenté nuevamente.


Y efectivamente, volaba. 30-35 FPS en donde antes estaba obteniendo 12-15 en mi vieja Tablet (comparable con un Samsung Galaxy SII). Con ---200!!!--- personajes actuando de manera independiente en el mapa. La mejor parte es que la solución que implementé genera poca carga por personaje, por lo que probablemente podría agregar el doble sin un impacto muy significativo.

Si estás interesado en un detalle mas técnico, héchale un vistazo a como lo resolví.

martes, 25 de noviembre de 2014

I.A. de vehículos, la historia

Imagina que estás mirando a tu vecino a través de la ventana. Está sentado frente a su computadora desde que desayunaste esos fabulosos huevos con panceta.

Apenas se movió desde ese momento. Hasta ahora.

Son las 3:30 de la madrugada, y de repente empieza a festejar histéricamente, mientras señala su pantalla.

Comienzas a cuestionarte la calidad de las instituciones de salud mental de tu país. Incluso te preguntas si deberías llamar a los servicios de emergencias para que brinden asistencia al pobre hombre.

Pero hay algo que no sabes. Algo que convertiría esta ridícula situación en algo para lo cual podrías encontrar una explicación. Algo que incluso podría llegar a ser... lógico.

Lo que no sabes es que tu vecino es un desarrollador en Byte Conveyor Studios. No sabes que la I.A. de los vehículos, en lo que estuvo trabajando todo el día, acaba de funcionar correctamente en la primer prueba. Y no sabes que es quien ahora está escribiendo esta entrada en el blog.


El momento exacto en que el primer camión manejado por la I.A. llega a su destino.


No solo la parte de búsqueda de camino funcionó correctamente, sino que también la evasión de obstáculos funcionó en el primer intento, que es algo que no esperaba que suceda. En un punto durante la prueba, el vehículo incluso retrocedió mientras giraba, de modo de tocar con exactitud uno de los puntos intermedios que se encontraba demasiado cerca para su radio de giro.


La función que calcula el radio de giro. Una de las tantas cosas que nunca pensé que tendría que aprender en mi vida.


Luego, por supuesto, tenía que repetir el proceso agregando mas vehículos. Dado que las colisiones con otros vehículos aún no están programadas, los resultados fueron tan satisfactorios como graciosos.

viernes, 21 de noviembre de 2014

Liderando los rankings

Estamos liderando los rankings hoy: puesto 25 en IndieDB y puesto número 2 en SlideDB, ¡justo detrás de Minecraft! Espero que esto sea una idea aproximada del interés real que hay en el juego. ¡Muchas gracias a todos por su apoyo!


miércoles, 19 de noviembre de 2014

¡Usar la física es divertido!

Actualmente estoy en el proceso de incorporar todos los vehículos al juego. Hoy finalicé el movimiento de los vehículos terrestres. No la I.A., sino el movimiento en si.

Hay dos tipos de vehículos terrestres: con ruedas y con orugas. El movimiento de ambos tipos es controlado exclusivamente por modelos físicos, que siempre es entretenido. Dado que no hay I.A. para moverlos aún, los estuve controlando de manera directa con mi teclado durante las pruebas, y tengo que admitir que tal vez haya pasado mas tiempo del que debería haciéndolos hacer piruetas, vuelcos, o viendo si podía lograr trepar esa ladera empinada.

La programación toma en cuenta varios factores, como ser la irregularidad del terreno (verás a los vehículos mecerse cuando manejan sobre tierra, mientras que sobre el pavimento andarán suavemente), derrape de neumáticos y desplazamiento del Centro de Gravedad con la inclinación. Me gustó particularmente ver como se comporta el BTR-60, que usa cuatro de sus ocho ruedas para girar.

Aquí hay un video "detrás de cámara" de una de las pruebas. En él, estoy controlando todos los vehículos al mismo tiempo con mi teclado, asi que prepárate para ver algo bastante errático:

sábado, 15 de noviembre de 2014

¡Sitio web oficialmente abierto!

Hoy declaro el sitio web de  Byte Conveyor Studios oficialmente abierto. Dado que la agenda es extremadamente apretada -y tuve que posponer la programación del juego para poder hacer el sitio-, todo esto fue hecho en solo 48hs. Por 'todo esto', me refiero a que no había un diseño y ni siquiera una opción de hosting hace dos días.

Espero que les guste, y por favor agréguenlo a sus marcadores para poder mantenerse actualizados, especialmente a través de este Blog.


Noten que pueden comentar en estas notas; simplemente hagan click en el título y desplácense hacia abajo. Sus comentarios siempre son bienvenidos.

Aquí les dejo la imágen que hice para el fondo del sitio. Imagino que terminará como fondo de algún menú o bien como una pantalla de carga dentro del juego.



Ahora... ¡a seguir programando el juego!

lunes, 10 de noviembre de 2014

Próximamente blog del desarrollador

Esta sección tendrá nuestro Blog del Desarrollador. ¡Chequea mas adelante en la semana!