Proyecto Cutre-civ

Cutre-civ

 

(Versión del documento 0.1)

 

¿Genero del juego?

 

Estrategia planetaria e interplanetaria por turnos.

 

 

Metas de la versión 1.0

 

+ Hacer un juego del genero comentado multijugador, el modo de un solo jugador será dejado para futuras versiones.

+ Poner los cimientos de un juego, que pretenderá ampliarse en futuras versiones.

+ Buscar la compatibilidad con WinNT, Linux, FreeBSD y Mac.

+ Realizar la primera versión jugable una vez haya llegado el verano.

 

 

Contexto del juego

 

+ El juego se desarrolla en un mundo 100% futurista.

+ La raza o razas del juego se buscará que sean antropomorfas, o que en última instancia tengan al menos dos o más brazos. No usar una raza de caracoles.

+ El escenario es un sistema solar, que contiene varios planetas y estos contienen un terreno de dimensiones no muy extensas a fin de agilizar el tema de la batalla.

 

 

Acciones que el jugador puede realizar durante el juego

 

+ Dentro del planeta:

       - Mover unidades.

       - Atacar enemigos (unidades o construcciones).

       - Capturar colonias.

       - Construir ciudades y colonias (con la unidad "colonizadora").

       - Construir edificios dentro de las ciudades (campamento, factoría, laboratorio, defensas, etcétera).

       - Construir unidades.

       - Asignar recursos.

       - Desmantelar colonia.

       - Terraformación básica (caminos, infraestructuras básicas, ...)

       - Construir minicolonias, comunicadas por carreteras y con una gran limitación de espacio e influencia, para aumentar los recursos totales de la colonia principal.

       - Montar unidades en otras unidades capacitadas para el transporte de estas (naves, barcos, camiones, etcétera).

       - Emplear la unidad módulo de descenso, que permite volver a la nave nodriza que orbita en el exterior del planeta (a menos que la hayan destruido).

       - Gestionar el arbol de tecnologías.

 

+ Fuera del planeta:

       - Producir naves.

       - Mover naves.

       - Atacar naves.

       - Investigar planeta.

       - Invadir planeta.

 

+ Otras acciones:

       - Generar escenarios.

 

 

En lo referente a los escenarios

 

Se requiere generar dos tipos de escenarios: el interplanetario y el planetario.

 

Los tipos de terrenos del planeta son: Montaña, Valle/Llanura, Mar, Desierto, Bosque.

 

Los tipos de recursos dentro del planeta son: Mineral, Comida (también extraible del mar) (ternera y pescado). Hay zonas sin recursos obviamente.

 

Los parametros a tener en cuenta para generar un terreno planetario son: % de Mar, % de Recursos, % de Fertilidad, y el tamaño del mapa.

 

 

Interfaz gráfica del juego

 

+ Menu

 

Protocolo de red del juego

 

La arquitectura del juego es la de cliente-servidor, de hecho es importante recordar que el servidor también es un jugador en la partida, por lo que obviamente no necesita dicho jugador conectarse al servidor y usar este protocolo del todo, ya que solo tendrá que realizar algunas de las acciones, en vez de todas a la hora de actuar.

 

Servidor <-----------------------------------------> Cliente

                              |

Creación del servidor         |

                              |

                        <-----|------ Conexión al servidor

                        <-----|------ Enviar información del jugador

                              |       (Nick, Color)

Enviar información de   ------|----->

la partida actual             |

(Información de los otros     |

 jugadores (Nick, Color),     |

 las propiedades del mapa)    |

                              |

Enviar información del  ------|-----> (Resto de clientes)

nuevo jugador conectado       |

al resto de clientes          |

(Nick, Color)                 |

                              |

                              |

Espera mientras se inicia     |

la partida                    |

                              |

                        <-----|------ Texto del chat

Enviar texto recibido a ------|-----> (Resto de clientes)

todos los demás clientes      |

                              |

                              |

Desconexión de un cliente     |

                              |

                        <-----|------ Señal de desconexión

Enviar señal de jugador ------|-----> (Resto de clientes)

desconectado a los demás      |

clientes                      |

                              |

                              |

Cambio de datos del jugador   |

                              |

                        <-----|------ Cambio del nick o del color

Enviar cambio de datos  ------|-----> (Resto de clientes)

del jugador a los demás       |

clientes                      |

                              |

                              |

Inicio de la partida          |

                              |

Iniciar partida         ------|----->

Enviar mapa del jugador ------|----->

Enviar los datos del    ------|----->

jugador (unidades,            |

posiciones, ...)              |

                              |

                              |

Manejo de las unidades        |

                              |

Proponer unidad         ------|----->

                        <-----|------ Selección de otra unidad

Confirmación de la      ------|----->

disponibilidad de dicha       |

unidad                        |

                        <-----|------ Orden (Mover, Atacar, Capturar,

                              |              Construir, Embarcar)

Actualización           ------|-----> (Solo clientes afectados)

                              |

                              |

Manejo de los edificios       |

                              |

                        <-----|------ Aviso de unidad nueva creada

Actualización           ------|-----> (Solo clientes afectados)

                              |

                        <-----|------ Aviso de colonia desmantelada

Actualización           ------|-----> (Solo clientes afectados)

                              |

                              |

Manejo de los turnos          |

                              |

Fin del turno global    ------|-----> (Todos los clientes)

                              |

Fin forzado del turno   ------|----->

                              |

                        <-----|------ Fin del turno del jugador

                              |

                              |