
(Let us see what's out there.... - Jean Luc Picard, Captain del U.S.S. Enterprise)
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!!!
¿Dónde puedo obtener las últimas noticias? Simplemente visita el grupo de discusión del proyecto wormhole en parsimony.net/forum/forum1216/
El sistema
operativo: LinuxSe 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.
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.
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).
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)
No tengo información acerca de GTK, pero si quieres utilizarlo para el proyecto wormhole, por favor indícamelo, y lo pondré aqui.
Dado que el lenguaje a utilizar es el C++, todo el código estará orientado a objetos.
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.
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.
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).
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.
Lo siento, por ahora no hay fuentes disponibles.
| 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 |
Ú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