Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Discusiones sobre el diseño de un juego de estrategia

Iniciado por Yawin, Junio 08, 2017, 02:14:30 PM

Tema anterior - Siguiente tema
Junio 08, 2017, 02:14:30 PM Ultima modificación: Junio 08, 2017, 02:23:54 PM por Yawin
Hola a todos!
 
Abro este post porque estoy empezando a diseñar un videojuego de estrategia y no me vendría mal tener gente con quien debatir ideas y diseños.
 
El objetivo de este post no es presentar un proyecto definido, sino dar a conocer cómo defino un proyecto y, con ello, generar debate entorno al mismo.
 
La idea

Desde que tengo recuerdos amo con pasión los juegos de estrategia; no sólo los videojuegos, aunque estos siempre han sido los que más me han gustado. Pero en todos he encontrado cosas que no me gustaría que hubiera o faltas en cosas que creo que habría de haber. Por ejemplo: la limitación de población de los "Age of" siempre me traía de cabeza; ¿con una población máxima de 200 quién puede hacer un ataque a gran escala? Por eso, y desde hace mucho, ando ideando el que creo que sería mi juego de estrategia ideal. Por supuesto que aun hay muchas ideas sin concretar y muchas cosas que seguro que necesitan un par de vueltas.
 
Por el momento lo que tengo es, más bien, un listado de ideas:
 
- El mapa es de casillas hexagonales. Siempre he pensado que tiene más sentido que el mapa sea así y da más versatilidad a cómo concebir el espacio en el que se desarrolla la partida.

- La cámara debe poderse desplazar no sólo en vertical, horizontal y haciendo zoom sino, también, alrededor de los objetos del mapa.

- El objetivo es que se puedan dar partidas muy largas. Ya hay muchos juegos para partidas cortas, a los amantes de los juegos de estrategia nos vuelven locos las partidas que no parecen acabar nunca.

- Las victorias deben poderse catalogar como: por guerra, por investigación, por religión y por economía.

- Al estilo de videojuegos de estrategia evolutiva, no hay una "cuenta común de recursos". Los recursos se deben almacenar físicamente en almacenes, graneros, etc... y las unidades que requieran de estos recursos para trabajar deberán desplazarse a por ellos.

- Habrá disponibles unidades de transporte, edificios de almacenamiento e incluso, con las investigaciones adecuadas, sistemas para automatizar la adquisición de recursos y transporte como cintas transportadoras, autómatas recolectores, etc... (como en juegos como Factorio).

- No todos los recursos serán "eternos". Algunos elementos, como la madera o el hierro, podrán estar almacenados en cualquier lugar, de cualquier manera y durante el tiempo que se quiera; pero otros recursos serán perecederos (ej: comida), otros requerirán de transportes y almacenes especiales (ej: uranio).

- Los recursos perecederos se transformarán en otros recursos que no siempre serán aprovechables. Por ejemplo: la comida se transformará en deshechos orgánicos. Si se ha investigado algún modo de hacer uso de dichos deshechos orgánicos o de alguna manera de tratarlos se podrán aprovechar. Si no, el jugador verá cómo deshacerse de ellos: vendiéndolos, destruyéndolos, enviándolos a algún almacen a modo vertedero, etc...

- Habrá un resumen de propiedades que recuente los recursos que se posean a modo estadística ayudándote a saber cuánto tienes de qué recurso e, incluso, dónde lo tienes.

- Los recursos se podrán depositar en el suelo, en vez de algún edificio, pero estos no contarán para el resumen de propiedades.

- A diferencia de en otros juegos, sólo habrá una civilización. Sin embargo, a medida que se investiguen ciencias, políticas y demás avances los distintos jugadores irán teniendo divergencias en su desarrollo que deriven en civilizaciones distintas. Así, a medida que avance el juego, los jugadores se encontrarán separados con diferencias estéticas, tecnológicas, etc... Esta idea se basa en asumir el desarrollo de la civilización como un árbol de decisiones. Algunas investigaciones de cerrarán ramas de investigación, o encarecerán/ralentizarán algunos desarrollos. Por ejemplo: un jugador decide potenciar los avances en religión porque está sufriendo muchos ataques en esta dirección y esto le ayuda a contraatacar; sin embargo, esto le cierra las puertas a algunas ramas de investigación científica y le ralentiza otras.

Esto puede dar lugar a que, empezando en las mismas condiciones, dos jugadores acaben tan diferentes como que uno use una civilización enfocada a la magia y la otra, en cambio sea una suerte de diéselpunk. Además, al ser los jugadores quienes deciden este desarrollo, son quienes deciden las fortalezas y debilidades de su civilización; haciendo así que uno no pueda aprenderse de memoria las fortalezas y debilidades de tal o cual civilización.

- Aunque las diferencias estéticas permitirán a los jugadores experimentados conocer la línea general de evolución que ha seguido su contrincante, no podrá conocer con exactitud su desarrollo real obligando así a los jugadores a emplear métodos para conocer estas cuestiones como el enfrentamiento directo o el uso de espías.

- Todos los edificios proporcionarán un área de influencia. Este área no se tiene que entender como el sistema de fronteras de juegos como Civilization, sino más bien como rangos en los cuales lo que sea que haga el edificio tenga efecto.

- Para que un edificio funcione necesitará trabajadores (al estilo Stronghold Crusader o como las granjas de los "Age of"). En la medida en que estos puestos de trabajo queden cubiertos, el edificio tendrá un rendimiento de funcionamiento.

- A menos que se indique lo contrario, los edificios que produzcan unidades quedarán excluídos de la mecánica anterior.

- No todas las tecnologías serán bélicas. Las distintas investigaciones también permitirán mejorar la investigación, religión, recogida de recursos, mecanización, transporte, etc...

- Se guardarán automáticamente las repeticiones de las partidas; las cuales serán parecidas a las del juego "Planetary Annihilation".
 
Ideas para un posible multijugador:
 
- Para jugar online se tendrá que disponer de una cuenta válida.

- Los servidores de juego (y por extensión de cuentas) estarán federados. Esto significa que quien lo desee podrá montar su propio servidor y que con tener cuenta en un servidor se podrá acceder a cualquier servidor (siempre y cuando ambos servidores se encuentren federados). [Nota: en el mundo de los servidores federados a veces pasa que un servidor no está de acuerdo con el funcionamiento de otro y por tanto lo añade a su lista negra. Esto lleva a que los usuarios de ambos servidores no pueden conectar entre ellos]

- Al crear la partida se indicará la versión de juego y los mods (en caso de que los haya) a emplear; haciendo fingerprint de los clientes conectados con el fin de garantizar que no se hacen trampas.

- Las partidas se podrán pausar, guardar y cargar en el propio servidor para que los jugadores puedan tener varias sesiones de juego.

- Las repeticiones de las partidas se podrán almacenar en el servidor y podrán ser públicas de modo que otros puedan visualizarlas, comentarlas e, incluso, puntuarlas.

- Los usuarios podrán desarrollar IAs que se almacenarán en los servidores de modo que otros jugadores puedan escoger jugar contra IAs de terceros e, incluso, puedan montarse competiciones de IAs.
 
Dicho esto, ¿qué tal pinta le veis? Ahora mismo estoy enfrascado en plantearme los diagramas UML básicos por los que empezar a plantear el motor del juego.
 
P.D.: Aunque he posteado este tema aquí aún no he decidido qué lenguaje/motor/framework voy a usar para hacerlo y, por tanto, entiendo que esto tiene un valor más teórico que práctico.

Lo tienes todo bastante pensado, te felicito por ello.
 
Lei por encima (bastante) pero no vi, si quieres hacer un RTS o uno por turnos, vi que mencionabas Civilization, pero igual para todo lo que deseas te sale mas a cuenta algo a tiempo real.
 
La verdad que creo que tienes muchas cosas en la cabeza, si vas poco a poco podras sacar algo, no quieras hacer todo de golpe.
 
Un saludo y mucha suerte en este proyecto!

····>Desarrollando un videojuegos online-arcade para Android.


····>Programador en:C,C#,VB.net,PHP,HTML5,SQL,JS,Ruby.


····>Trabajando en: Desarrollo de paginas web y bushistudios.


                    ๑۩۞۩๑_(▀▄)KINGTRASE(▄▀)_๑۩۞۩๑ 



En tiempo real ¡por supuesto! Civilization lo menciono por el sistema del mapeado hexagonal.
 
Hay mucho pensado, sí, pero aún queda mucho por pensar, diseñar y perfilar.
 
¡Muchas gracias por los ánimos!

Cita de: Yawin date=1496926465En tiempo real ¡por supuesto! Civilization lo menciono por el sistema del mapeado hexagonal.
   
   
      Hay mucho pensado, sí, pero aún queda mucho por pensar, diseñar y perfilar.
   
   
      ¡Muchas gracias por los ánimos!
   


y por que no te olvidas de lo hexagonal? me refiero a algo tipo imperium, Tzar o Age of empire, con un movimiento libre por el mapa. (Igual te da mas libertad)

····>Desarrollando un videojuegos online-arcade para Android.


····>Programador en:C,C#,VB.net,PHP,HTML5,SQL,JS,Ruby.


····>Trabajando en: Desarrollo de paginas web y bushistudios.


                    ๑۩۞۩๑_(▀▄)KINGTRASE(▄▀)_๑۩۞۩๑ 



Consejo para aceptar ideas y críticas sobre un proyecto en el que trabajas:
 

  •    No lo quieras tener todo atado y pensado. Aprende a saber aceptar ideas y críticas ajenas, y deja participar a los demás.


De lo contrario, te estás engañando a ti mismo y realmente no quieres opiniones ajenas, sinó únicamente que la gente sepa que estás haciendo tu juego, sin posibilidad de que puedan participar de tu idea.
 
Si te abres algo más, verás cómo el proyecto crece y se hace más variopinto, más creativo.
 
 
 
Mucha suerte! 

Cita de: pioj date=1496945091Consejo para aceptar ideas y críticas sobre un proyecto en el que trabajas:
   
   


  •          No lo quieras tener todo atado y pensado. Aprende a saber aceptar ideas y críticas ajenas, y deja participar a los demás.
          

  •    

      De lo contrario, te estás engañando a ti mismo y realmente no quieres opiniones ajenas, sinó únicamente que la gente sepa que estás haciendo tu juego, sin posibilidad de que puedan participar de tu idea.
   
   
      Si te abres algo más, verás cómo el proyecto crece y se hace más variopinto, más creativo.
   
   
       
   
   
      Mucha suerte! 


¡Claro! Por eso lo he publicado aquí, para charlar y debatir sobre las distintas ideas.
 
 
 
Cita de: kingtrase date=1496943883y por que no te olvidas de lo hexagonal? me refiero a algo tipo imperium, Tzar o Age of empire, con un movimiento libre por el mapa. (Igual te da mas libertad)
   


Independientemente del movimiento que se tenga (libre o no) cosas como la colocación de edificios o la decoración del mapa irán ancladas a la forma de las casillas que componen el mapa. Si escojo un modelo hexagonal es, percisamente, porque da más libertad y versatilidad. Al final, para el jugador, no será algo relevante; pero para el funcionamiento del juego creo que es mejor un encasillado hexagonal (generación de mapas, cálculo de rutas, etc...).
 
 
 
El método de cuadrícula habitual de los juegos que has mencionado ha sido siempre algo que no me ha gustado en exceso. Complicaban, a mi parecer, cosas como los movimientos en diagonal.


Eso es. Al final, el hexagonal afecta al cálculo de rutas y a la colocación de edificios, más que a otra cosa.

Junio 08, 2017, 09:37:00 PM #8 Ultima modificación: Junio 08, 2017, 09:37:33 PM por GSG3D
Cita de: Yawin date=1496949335Eso es. Al final, el hexagonal afecta al cálculo de rutas y a la colocación de edificios, más que a otra cosa.
   


En el calculo de rutas no (eficiencia), pero no se que sistemas vas a implementar de pathfinding, algo propio o algo del propio motor.

Cita de: GSG3D date=1496950620En el calculo de rutas no (eficiencia), pero no se que sistemas vas a implementar de pathfinding, algo propio o algo del propio motor.
   


lo suyo seria algo propio, y el pathfinding no deberia ser por hexagonos, piensa como se moveria una unidad (con libertad de movimiento) si tubieses que calcular la ruta por hexagonos xD seria gracioso :P

····>Desarrollando un videojuegos online-arcade para Android.


····>Programador en:C,C#,VB.net,PHP,HTML5,SQL,JS,Ruby.


····>Trabajando en: Desarrollo de paginas web y bushistudios.


                    ๑۩۞۩๑_(▀▄)KINGTRASE(▄▀)_๑۩۞۩๑ 



Mi planteamiento para el pathfinding es el siguiente:
 
Los hexágonos que componen el mapa tienen varios bloques de información, y uno de ellos es qué tipos de unidades pueden atravesarle. Si es un hexágono de agua sólo le pueden atravesar barcos y voladores, si es de tipo grieta sólo voladores y si es de tipo campo abierto cualquier unidad (son sólo ejemplos, habría muchos tipos diferentes de hexágonos). A esto hay que añadir que los exágonos no serán celdas enormes en las que cabrá un bosque completo sino que serán hexágonos pequeños en las que no quepan más de un par de soldados.
 
Entendiendo esto, lo que planteaba era que la unidad que quiere buscar un recorrido, se trace un recorrido de por qué hexágonos tiene que pasar y ya, cuando se mueva por ellos, perfilará su movimiento a través de ellos.
 
 
 
Tampoco soy un gran conocedor de este tema, así que me alegra que tengáis otras maneras de verlo. Seguro que aprendo mucho. Y cuanto más aprenda mejor podrá ser el juego.

Etiquetas: