Motor estrategia estilo Advance Wars (POO)

elkaoD

Bueno, he retomado la idea de un Advance Wars que propuse para el proyecto en conjunto forero hace un tiempo y me han surgido unas dudas. El proyecto, para los vagos que no quieren seguir el link, es un motor de estrategia por turnos multijugador (A lo Advance Wars) con opciones de modding.

Las clases y sus interfaces me está costando pensarlas porque hay muchas que son sólo del script, otras específicas del motor y muchas compartidas, y definir la interacción entre todas ellas es jodido, y más cuando estoy relativamente verde en POO. En la universidad he visto que los de cursos superiores, en laboratorios usan un programita que te permite dibujarte diagramas de clases y sus interfaces e interacciones. ¿Me podéis recomendar alguno? Lo haría en papel, pero es MUY grande.

En segundo lugar, durante la planificación me estoy topando con una barrera. No sé hasta qué punto debería dejar personalizar el juego. Simplificar el script, o dar más potencia... Aunque esto ya lo comentaré más adelante.

Otra cosilla, he pensado que a lo mejor hacer el juego en C++ es estúpido. Quizá Python puede ser un buen sustituto y se podría usar al propio Python en el sistema de scripting fácilmente. ¿Qué os parece a los que lo habéis probado?

Y por último, las listas de propiedades (valores de variables inherentes a cada unidad) he pensado hacerlas mediante identificadores de cadenas (En plan this->setProperty("health", -1)) con una hashtable. ¿No será muy pesado? Porque va a haber un montón de lecturas de propiedades por turno. A lo mejor sería mejor con constantes definidas por el script y punto.

Si alguien se anima a unirse a hacer el proyecto conmigo de forma personal, me comprometo a tomarlo con ganas. Tengo ideas bastante interesantes pero creo que necesito alguien que aporte su visión.

EDIT: Joder, acabo de ver que varias de las preguntas que he propuesto ya las había hecho en el otro hilo... pffft xD

r2d2rigo

Oh noes, TL;DR avistado!

En la universidad he visto que los de cursos superiores, en laboratorios usan un programita que te permite dibujarte diagramas de clases y sus interfaces e interacciones. ¿Me podéis recomendar alguno?
Hazlo en papel. Puedo recomendarte Visio o Rational Rose, pero vas a acabar hasta los mismisimos huevos de dibujar formas y rellenar texto. Da igual que tengas un UML de 100 clases, siempre podras dividiarlas en areas y aislarlas para simplificar el diagrama general.

Otra cosilla, he pensado que a lo mejor hacer el juego en C++ es estúpido. Quizá Python puede ser un buen sustituto y se podría usar al propio Python en el sistema de scripting fácilmente. ¿Qué os parece a los que lo habéis probado?
He oido hablar bien de PyGame para hacer juegos facil y rapido, pero personalmente no lo he usado nunca.

Y por último, las listas de propiedades (valores de variables inherentes a cada unidad) he pensado hacerlas mediante identificadores de cadenas (En plan this->setProperty("health", -1)) con una hashtable. ¿No será muy pesado? Porque va a haber un montón de lecturas de propiedades por turno. A lo mejor sería mejor con constantes definidas por el script y punto.
Esto ya depende de lo que uses... en C++ te recomendaria subclasificar hasta la muerte y getters/setters a punta pala.

Si alguien se anima a unirse a hacer el proyecto conmigo de forma personal, me comprometo a tomarlo con ganas. Tengo ideas bastante interesantes pero creo que necesito alguien que aporte su visión.
Cuanto pagas? 8D

Si finalmente usas C++, te recomendaria usar una libreria especifica para evitar comerte miles de mierdas a bajo nivel (SDL/Allegro/etc). O si te animas, C# y XNA son la filosofia del RAD aplicada a videojuegos :P

Kartalon

"En la universidad he visto que los de cursos superiores, en laboratorios usan un programita que te permite dibujarte diagramas de clases y sus interfaces e interacciones. ¿Me podéis recomendar alguno?"

Esas son herramientas CASE y tienes a puñados, en nuestra universidad tenemos una propia llamada SET orientada a crear el modelo de dominio y de casos de uso, pero las hay por ahí mejores a puñaos llenos para modelar en UML.

Usuarios habituales

  • Kartalon
  • r2d2rigo
  • elkaoD