sábado, 13 de noviembre de 2010

Scripts

Con la poca actividad que hay en este blog, cualquiera diría que el proyecto está muerto, pero no. Si gue adelante, con paso lento pero seguro...
Os voy a enseñar la pinta que tiene un script de lua de los que usamos para definir las cartas del juego. En este caso se trata de la carta "Jikoku Fighter" una nave Gongen con una habilidad mantenida. Es importante la distinción entre los distintos tipos de habilidades que poseen las cartas. En este caso es una habilidad que se dispara constantemente, lo que llamamos una "ongoing hability".
Este es el script:


card = {};
card.type = "fighter";
card.image = "Content/cardImages/JikokuFighter.jpg";
card.name = "Jikoku Fighter";
card.number = "1080";
card.faction = "1";
card.destinyNumber = "1";
card.cost = "1";
card.iconCost = "2";
card.unlimited = "false";

card.capacity = "1";
card.scouting = "false";
card.power = "2";
card.tactics = "2";
card.defense = "4";

card.text = "As long as you have at least two other Gongen fighters here, this ship is defense +2";

luanet.load_assembly("WarsR"); --our misleading namespace yay!
OngoingAbility = luanet.import_type("WarsR.Abilities.OngoingAbility");

function doOngoing()
location = card:getPlace()
ships = location:getShipsHere(card:getPlayer():isFirstPlayer(),not card:getPlayer():isFirstPlayer())
contador = 0
for variable = 0, ships.Count-1, 1 do
if ships[variable]:getFaction() == 1 then
contador = contador + 1;
end
end
if(contador>2) then
card:setDefense(ongoing:getCard():getDefense()+2)
end
end

Podemos observar facilmente que las primeras lineas son simplemente los datos y números que aparecen en la carta, como son la fuerza, el destino o la facción. Lo realmente importante es la función "doOngoing()" donde se chequea el numero de naves gongen presentes en la misma localización que esta carta, y si es mayor que dos, se suma un +2 a la defensa.
El programa se encargará de lanzar esta función constantemente.

Bueno, no me da tiempo a contaros más, ya que estoy trabajando, pero otro dia os mostraré algún script más complejo, como podría ser el de cartas con habilidades activadas o disparadas.

Un saludo!

jueves, 9 de septiembre de 2010

¿Que es Wars Resurrection?

Wars Resurrection es, 5 años después de su muerte, una resurrección virtual del juego Wars TCG.

La idea es crear un juego para PC donde los jugadores puedan retarse online, o jugar contra la inteligencia artificial, en partidas del juego de cartas de manera totalmente automatizada. No como el famoso cardtable, sino como el nuevo Magic de Xbox.


La idea nos surgió a mi hermano y a mi mientras programábamos un juego de plataformas para Xbox 360 con XNA. Juego que nunca llegó a ver la luz (algún día...). Apasionados los dos al Wars, y anteriormente a Star Wars, los dos juegos de Decipher, lloramos amargamente la desaparición de estos dos juegos. Así que aprovechando la experiencia adquirida con la programación de aquel plataformas, nos lanzamos a programar el que es, sin duda, el mayor proyecto que hemos hecho nunca.

La tecnología usada para ello es la siguiente: XNA, por supuesto, fácil de usar y con multitud de utilidades. El motor de juegos Flatredball. Este es un motor para juegos en 2.5D. Tal vez no es el más apropiado para un juego que es casi totalmente en 3D, pero el hecho de conocerlo nos hizo decantarnos por él. Neoforce Controls para crear los menús y ventanas. Lidgren para el online. Y Lua para crear los scripts de las cartas.

Precisamente este aspecto, el de los scripts, es importante recalcar. Ya que, aunque la scriptación no se puede usar en Xbox 360, haciendo imposible el port a la máquina de Microsoft, nos facilita mucho la programación, haciendo el programa mucho más modular, además de fácilmente editable. Esto nos permitiría, en un futuro, que cualquiera pudiera añadir nuevas cartas sin necesidad de conocer el código.

Una vez hecho el resumen de que es Wars Resurrection, supongo que alguno de vosotros tendrá los dientes largos por probarlo cuanto antes, pero he de deciros que el juego aún está en un 50% aproximadamente. Por lo tanto, aquí iremos informando de los avances alcanzados en la programación, y en cuanto sea posible, colgaremos la primera versión jugable.

Un saludo!

martes, 24 de agosto de 2010

Todas las cartas

Aqui teneis todas las cartas publicadas del Wars (Incursion y Nowhere to hide):
WARS_complete_card_encyclopedia

Y las que no se llegaron a publicar (Edge of a Sword):
WARS_EoS_ShiG_fixed
WARS_EoS_EartherG_fixed
WARS_EoS_GongenG_fixed
WARS_EoS_IndependentG_fixed
WARS_EoS_LocationG_fixed
WARS_EoS_MaverickG_fixed
WARS_EoS_QuayG_fixed

Resurrección



Bienvenidos a Wars Resurrection.

Para los que no conozcáis el Wars (lo mas probable), se trata de un juego de cartas coleccionables editado por Decipher, y que lamentablemente murió hace ya unos años. WARS_Trading_Card_Game

Pero para algunos enamorados a este juego, aun queda vida después de la muerte...aunque se trate de vida virtual...