martes, 5 de abril de 2011

Thinking bigger

It's been a while since the last post, but a important things have happened.
We have been working on Wars Resurrection, but along the way, we realized that we were not using the appropriate technology. We were programming with XNA, which is a great tool, but it is limited to XBox and Windows systems. Besides, a game programmed in XNA requires an installation. All these issues could make that some of you couldn't enjoy Wars Resurrection.
Now we are reimplementating what we did using Unity. Unity is a game engine that allows the game to be embedded in a webpage. Therefore, it is possible to play a game directly from your browser. We think this is a great advantage because it gives us more control over future updates, and it makes esier for everybody to play the game.
The integration of Wars Ressurrection with a webpage that we can achive using Unity has given us a lot of new ideas. Now, we realize that what we started as an amateur project can become something bigger. We have started to think about maintaining an online player comunity, tournaments and events.
Pay attention to new posts because we'll show in new game captures and more info about the online player community.
Bye!

miércoles, 26 de enero de 2011

Deck Editor

This is how the deck editor looks like.
And it is fully working! Things are runnnig nicely!

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!