Make your own free website on Tripod.com

Wormhole

Bienvenido a la página Principal del Proyecto Wormhole !

(Let us see what's out there.... - Jean Luc Picard, Captain del U.S.S. Enterprise)

English version of this page

Ah!, Wormhole? Qué es?

Wormhole es (ejem! bueno, quería decir que será en un futuro) un juego de estrategia de ciencia ficción parecido a Master of Orion o The Ascendancy . Al igual que en estos juegos la acción de Wormhole se desarrollará en el futuro, en donde imperios interestelares compiten por obtener el control de toda la galaxia. El objetivo de este juego consiste en construir nuevas colonias, desarrollar nuevas tecnología, luchar con otros imperios y por supuesto ganar!!!

Novedades (y noticias)...

¿Dónde puedo obtener las últimas noticias? Simplemente visita el grupo de discusión del proyecto wormhole en parsimony.net/forum/forum1216/

En qué esta basado el programa Wormhole

Pinguin-Logo El sistema operativo: Linux

Se utiliza linux porque se quiere crear un juego complejo, basado en un gran concepto, pero no con buenos gráficos 3DFX. Además en este momento no hay nadie en el equipo de desarrollo con un gran talento (o incluso con algo de talento) para crear los gráficos. Con linux, se dispone de una buena plataforma sin "Super-Juegos", pero con buenas posibilidades para desarrollar aplicaciones estables con o sin soporte de red.

El lenguaje de programación: C++

Es evidente que un juego complejo como Wormhole es más fácil implementarlo con una programación orientada a objetos que con una programación procedural. Es por esto que se ha decidido utilizar C++. Por su similitud con el C se pueden utilizar la mayoría de las llamadas al sistema y la funciones de librería existentes en linux.

Conceptos de Visualización

Dado que no nos hemos puesto de acuerdo acerca del "GUI Toolkit" a utilizar (aunque si estamos seguros de que Wormhole tendrá un interface X), hemos llegado al siguiente compromiso:

El juego ofrecerá un interface para poder realizar varias implementaciones gráficas (GUI-Implementation), por lo que ambas partes (el interface y las GUIs) serán independientes.

La solución mas simple es crear dos implementación gráficas diferentes (GUIs), una desarrollada con Qt (para utilizarlo con KDE) y otra con GTK (para GNOME).

El GUI toolkit (para KDE/aspecto QT): Qt

Qt es un toolkit similar al XForms o Motif. Es bastante potente y fácil de usar (Si quieres quedar impresionado con los "Qt-Style widgets", mira la página principal de KDE (www.kde.org) . Está basado en Qt).
IMPORTANTE: La última versión de Qt , la 1.4, ya está disponible. Creo que deberías echar un vistazo... ;-)
IMPORTANTE: QtEZ es una herramienta potente para hacer desarrollos basado en Qt y KDE. Creo que también deberías verla... (Puedes encontrarla en qtez.commkey.net)

El GUI toolkit (para GNOME): GTK

No tengo información acerca de GTK, pero si quieres utilizarlo para el proyecto wormhole, por favor indícamelo, y lo pondré aqui.

Conceptos del juego

Conceptos básicos (introducción)

Diferencias con otros juegos de estrategia

Concepto de programación

Dado que el lenguaje a utilizar es el C++, todo el código estará orientado a objetos.

La jerarquía de clases en wormhole (en la parte del juego)

Dado que hay una estricta separación entre las dos partes, cliente y servidor, hay dos jerarquías de clases. Para el
servidor es:

Y la parte para el(los) cliente(s):
El cliente de wormhole también tendrá una clase llamada CClientMain, otra CNetInit y otra CNetConnection (en cambio solo se necesita una instancia de CNetConnection). Aunque la clase de red del cliente tiene que realizar otras acciones(tareas) que la clase del servidor, es posible que se puedan basar en la misma clase abstracta.
Al igual que el servidor el cliente tiene una clase CStartUp class que muestra una ventana de diáologo antes del comenzar el juego. Aqui el jugador puede hacer un "log" en un servidor y mandarle el nombre del jugador y su dirección IP..
Después de esto, el jugador hará una llamada a la clase CRunGame de la aplicación cliente.
Los clientes son tontos, es decir, son solo responsables del intercambio de datos con el servidor, todo el proceso de evaluación de los datos se hace en la aplicación del servidor.

Jerarquía de clases para los datos

En wormhole hay que manejar una gran cantidad de datos, pero muchos datos utilizan los mismos conceptos básicos. Asi que es fácil crear una jerarquía de clases para todos los tipos de datos:

DGalaxy: Esta clase representa el área jugable. Todas las instancias del juegos deben realizarse dentro de ese área.
DSystem: Un sistema solar.
DPlanet: Una clase abstracta básica. Una subclase podría se por ejemplo DEarthLikePlanet y DGasGiant.
DBuilding: Clase abstracta básica para las construcciones de los colonos. Subclases podrían ser por ejemplo DresearchLab, DSpacePort o DMissileBase.
DShipClass: Esta clase contiene la información acerca de todos tipos de naves.

Hay una gran cantidad de instancias de las clases de Qt, pero se utilizan principalmente para la visualización asi que no lo mencionamos aqui.

El concepto de cliente/servidor en Wormhole (Nuevo concepto)

Para jugar Wormhole se necesitará un servidor y uno o varios clientes. Servidor y clientes se comunicarán vía TCP/IP, ejecutándose, bien en la misma máquina, o en diferentes ordenadores en una LAN.
Para poder jugar por internet con un coste mínimo, wormhole se podrá jugar via e-mail. En el ordenador donde corre el servidor, para cada jugador remoto existirá lo que se llama VPD (Virtual player device=Jugador Virtual), que jugará como un jugador local pero obteniendo los parámetros de juego via e-mail

El cliente es un interfaz para cada jugador, mientras que es el servidor el que recoge todos los datos de los jugadores y realiza los demás aspectos del juegos. El objetivo final es desarrollar un servidor que sea capaz de manejar el mayor número de clientes posibles (solo limitado por los recursos del sistema y por la velocidad de la conexión).

Licencia de uso

Este juego se distribuirá bajo la licencia del GPL, es decir todo el mundo tendrá acceso a los fuentes del programa y contribuir al proyecto. Si usas linux, ya tienes una copia de la licencia GPL ("General Public License"), asi que no hace falta que la ponga aqui.

Download el programa

Lo siento, por ahora no hay fuentes disponibles.

¿Cómo tomar parte en el proyecto wormhole?

Simplemente manda un mail a The Wormhole Project
IMPORTANTE: Por favor si tienes algo que decir acercar de este proyecto manda el mensaje a discussion forum, asi todo el equipo de desarrollo del wormhole podría leerlo.

¿Quienes estamos en esto? (El equipo de desarrollo del proyecto wormhole)

Nombre Tareas
Hendrik Belitz Versión alemana de la página principal del proyecto wormhole, mecanismo del juego, interfaz de usuario
Daniel von Dincklage *
David Raynes Inteligencia Artificial (IA), diseño cliente/servidor
Jose Ignacio (Nacho) Versión española de la página principal del proyecto wormhole
Robert Welham *
Antonello Foa Versión italiana de la página principal del proyecto wormhole, *
Gustav Petersson Encargado del ftp
Rich Morgan *
Machieu Faucher Versión francesa de la página principal del proyecto wormhole
Chad A. Chance Gráficos del juego
*: dado que estamos en la etapa de pre-desarrollo, en principio no hay mas cosas que hacer que el diseño del juego y el pre-diseño del programa.

¿Que se necesita?


El Proyecto Wormhole


Última modificación: Thu Jul 30 13:36:14 CEST 1998
Una nueva versión de esta página se realizará el Lunes Aug 31 1998