2009-05-17

MTGDeck Version 0.5

Paso a presentarles la primera version Beta (0.5) del MTGDeck!

Este programa/juego permite jugar al conocido juego de trading cards "Magic: The Gathering" desde la computadora a través de la red, sin la necesidad de comprar los no-tan-baratos set de cartas, pudiendo probar distintos mazos, combinaciones, estrategias, etc...

El juego esta separado en dos aplicaciones distintas:
- Servidor: programa encargado de almacenar la información de las manos de los jugadores y de comunicarlos entre si. El mismo puede servir varias partidas distintas y para jugar siempre será necesario acceso al servidor donde se aloje la partida a la cual se desea ingresar.
- Cliente: programa desde el cual - conectándose a un servidor - permite jugar partidas de Magic contra el resto de los jugadores conectados.


Que NO hace el programa:

- NO valida las (complicadas) reglas del juego y cada una de sus cartas. El propósito de este programa es el de reemplazar el set de cartas, y nada mas. El hecho de "jugar" propiamente dicho todavía queda a cargo de los humanos.

- NO permite jugar contra la computadora. El único modo de jugar solo es, simplemente, no tener contrincante.

- NO te va a ayudar a ganar minas (aceptémoslo, es un juego bien nerd)


Que SI hace el programa:

- Permite jugar desde uno (practica solo) hasta varios jugadores dentro de la misma partida

- Permite armar mazos, utilizar cualquier carta que haya existido para Magic: The Gathering, referenciándolas por su nombre en ingles
- ¡Te ahorra dinero! (¡no hoy que ir a comprar cartas!)
- ¡Te proporciona horas y horas de diversión nerd!

Requerimientos:
- Windows XP o superior con todos sus Service Packs.
- .NET Framework 3.5 con todos sus Service Packs.
- Algun tipo de conexión de red (y al menos la primera vez que se usa cada mazo, conexión a internet).

Info sobre el proyecto:
- UI hecha con .NET 3.5 en Winforms.
- Para la comunicación entre los clientes y el server se puede utilizar tanto un cliente/server de WCF funcionando con basicHttpBinding - proximamente esto será configurable - y otro cliente/server hecho con old-school Remoting.
Esto tiene dos motivos: por un lado, hay algunas computadoras en los cuales el server de WCF no funciona. Todavía no pude encontrar el problema, pero voy a seguir buscando. El otro motivo es que las librerías de Remoting en Mono estas mucho mas maduras que las de WCF y, pese a que todavía me topo con algunos errores del lado de Mono, pienso que dentro de poco voy a poder tener la app mas cross-platform (si me vuelvo suficientemente loco me pongo a hacer una interfaz nativa para Mac y todo!).
Por default, se utiliza el Client de WCF, pero esto se puede modificar por configuración (y ya que es levantado por reflection... ¡Pueden hacer sus propios clientes y servers en casa!)

FAQ:

- ¿De dónde bajo el juego?
Esta versión la pueden bajar de aca. El código fuente y las futuras versiones las podrán encontrar en el sitio de MTGDeck en Google Code

- ¿Cómo empiezo?
El paquete incluye un pequeño manual de usuario. Ahí esta toda la info necesaria para salir andando.

- Todo muy lindo pero... ¡Cómo armo mi mazo?
El formato del archivo de mazos es muy simple: cada línea tiene la cantidad de cartas de un tipo, seguida por el nombre de la carta. Las lineas que comienzan con "#" son ignoradas. Junto con el paquete se incluye un ejemplo.

Para armar mazos, recomiendo la siguiente página: http://www.essentialmagic.com/decks/

- ¡No puedo conectarme al servidor! ¿Qué pasa?
Posiblemente, el problema sea que el firewall de Windows (o algún otro) no este permitiendo conectarse al puerto 1234 (o el que esté configurado) en la computadora donde el servidor esté ejecutando. Para solucionarlo, habilitar el puerto en el firewall o desactivarlo por completo.
Durante las pruebas me ha ocurrido que hay máquinas donde el server indica que levantó correctamente, sin embargo es imposible conectarse, incluso desde la máquina local. Cuando tenga identificado este error y lo solucione, avisaré.

- Encontré un error. ¿Cómo lo reporto?
Pueden contactarse conmigo por twitter (http://twitter.com/pablozaiden), por mail o dejando un comentario en el blog.

- Me gustaría que el juego tuviese tal o cual feature. ¿Qué puedo hacer?
Nuevamente, podes contactarme por alguno de los medios nombrados anteriormente y si sos desarrollador podes contribuir con el desarrollo (proximamente)


A continuación dejo unos screenshots del juego en acción:



Saludos!
Z

No hay comentarios.: