Difference between revisions of "Development/Architecture/KDE4/KGGZ (es)"

Jump to: navigation, search
m
(translation to spanish)
Line 7: Line 7:
 
'''Impaciente?''' ''[http://svn.ggzgamingzone.org/trac.cgi/browser/trunk/playground/ggz-kde4/README.ggz-kde4 GGZ in KDE 4 - Status file]''
 
'''Impaciente?''' ''[http://svn.ggzgamingzone.org/trac.cgi/browser/trunk/playground/ggz-kde4/README.ggz-kde4 GGZ in KDE 4 - Status file]''
  
En el tiempo de la liberación de KDE 4.0, la mayor parte del trabajo preliminar fue empleado en desarrollar GGZ, basandose en las bibliotecas de KDE. Se han escrito tres bibliotecas (kggzmod, kggzgames, kggznet) y algunos macros CMake. Vease [http://api.kde.org/4.0-api/kdegames-apidocs/libkdegames/html/ API docs].
+
En el tiempo de la liberación de KDE 4.0, la mayor parte del trabajo preliminar fue empleado en desarrollar GGZ, basándose en las bibliotecas de KDE. Se han escrito tres bibliotecas (kggzmod, kggzgames, kggznet) y algunos macros CMake. Véase [http://api.kde.org/4.0-api/kdegames-apidocs/libkdegames/html/ API docs].
  
 
Los juegos de barcos de KDE, KReversi y KBattleship, proporcionan un modo de red GGZ que se activa cuando el juego se ejecuta en modo cliente con GZZ. Si KReversi se ejecuta con la opción GGZ, este conecta con el propio Kreversi de GGZ, cambiando su nombre a [http://www.ggzgamingzone.org/gameclients/kggzreversi/ KGGZReversi], algo que fue planeado durante largo tiempo. Ambos usarán el servidor de Reversi en GZZ. Para KBattleship, un servidor dedicado llamado [http://svn.ggzgamingzone.org/trac.cgi/browser/trunk/python/submarine Submarine] ha sido escrito en Python y está disponible en el svn de GZZ.
 
Los juegos de barcos de KDE, KReversi y KBattleship, proporcionan un modo de red GGZ que se activa cuando el juego se ejecuta en modo cliente con GZZ. Si KReversi se ejecuta con la opción GGZ, este conecta con el propio Kreversi de GGZ, cambiando su nombre a [http://www.ggzgamingzone.org/gameclients/kggzreversi/ KGGZReversi], algo que fue planeado durante largo tiempo. Ambos usarán el servidor de Reversi en GZZ. Para KBattleship, un servidor dedicado llamado [http://svn.ggzgamingzone.org/trac.cgi/browser/trunk/python/submarine Submarine] ha sido escrito en Python y está disponible en el svn de GZZ.
  
KDE 4.1 tendrá tambien el juego KSquares, el cual es compatible con el servidor Connect the Dots de GGZ (un parche ha sido aplicado recientemente). También está planeado el soporte de KFourLine. Por tanto, este reemplazaría al cliente KConnectX basado en KDE3, liberado junto con GGZ 0.0.14. Además, podrían portarse juegos adicionales. En KDE 4.1 también está planeado una mejor integración con los clientes. Esto podría incluir clientes embebidos (por ejemplo, los juegos pueden conectarse a los servidores GGZ por si solos), un port de KGGZ a KDE4, y la integración de GGZ con jabber, incluida el algunos widgets de Kopete relacionados con el juego online.
+
KDE 4.1 tendrá también el juego KSquares, el cual es compatible con el servidor Connect the Dots de GGZ (un parche ha sido aplicado recientemente). También está planeado el soporte de KFourLine. Por tanto, este reemplazaría al cliente KConnectX basado en KDE3, liberado junto con GGZ 0.0.14. Además, podrían portarse juegos adicionales. En KDE 4.1 también está planeado una mejor integración con los clientes. Esto podría incluir clientes embebidos (por ejemplo, los juegos pueden conectarse a los servidores GGZ por si solos), un port de KGGZ a KDE4, y la integración de GGZ con jabber, incluida el algunos widgets de Kopete relacionados con el juego online.
  
 
Sobre el port de KGGZ, actualmente KGGZ-ng, hay alguna información disponible [http://svn.ggzgamingzone.org/trac.cgi/browser/trunk/playground/ggz-kde4/kggz-ng aqui]. Ya puedes disfrutar del trabajo realizado en algunos widgets, como la [http://us.ggzgamingzone.org/~josef/playerlist.png lista de jugadores] y [http://us.ggzgamingzone.org/~josef/roomslist.png la lista de salas disponibles].
 
Sobre el port de KGGZ, actualmente KGGZ-ng, hay alguna información disponible [http://svn.ggzgamingzone.org/trac.cgi/browser/trunk/playground/ggz-kde4/kggz-ng aqui]. Ya puedes disfrutar del trabajo realizado en algunos widgets, como la [http://us.ggzgamingzone.org/~josef/playerlist.png lista de jugadores] y [http://us.ggzgamingzone.org/~josef/roomslist.png la lista de salas disponibles].
Line 23: Line 23:
 
Mientras que el desarrollo de juegos GGZ basados en KDE3 requiere la biblioteca ''ggzmod'', es decir, programada en C, KDE4 tiene ''kggzmod''/''kggznet''/''kggzgames'' (referenciadas por libkggz*), así las bibliotecas y todos los juegos que las usan podrán compilarse sin ninguna otra dependencia.
 
Mientras que el desarrollo de juegos GGZ basados en KDE3 requiere la biblioteca ''ggzmod'', es decir, programada en C, KDE4 tiene ''kggzmod''/''kggznet''/''kggzgames'' (referenciadas por libkggz*), así las bibliotecas y todos los juegos que las usan podrán compilarse sin ninguna otra dependencia.
  
Para que sea posible jugar a los juegos desde un cliente online (tanto clientes GGZ como KGGZ), el cliente aun necesita registrarse en el registro de modulos central de juegos de GGZ. La herramienta ''ggz-config'', que es parte del paquete ''ggz-client-libs'', es necesaria para esta tarea. La mayoria de las distribuciones lo empaquetan como parte del paquete ''ggzcore-bien'' o algo similar.
+
Para que sea posible jugar a los juegos desde un cliente online (tanto clientes GGZ como KGGZ), el cliente aun necesita registrarse en el registro de módulos central de juegos de GGZ. La herramienta ''ggz-config'', que es parte del paquete ''ggz-client-libs'', es necesaria para esta tarea. La mayoría de las distribuciones lo empaquetan como parte del paquete ''ggzcore-bien'' o algo similar.
  
 
El archivo ''module.dsc'' contiene información sobre el juego, algo sobre el autor, la biblioteca/entorno de la UI y donde se encuentra el ejecutable. Los dos valores importantes son que protocolo y que versión de este se está usando:
 
El archivo ''module.dsc'' contiene información sobre el juego, algo sobre el autor, la biblioteca/entorno de la UI y donde se encuentra el ejecutable. Los dos valores importantes son que protocolo y que versión de este se está usando:
Line 33: Line 33:
  
  
Sí y sólo si ambos valores coinciden con los del servidor, se ofrecerá el juego a los jugadores! Puedes encontrar mas información sobre este archivo en el [http://svn.ggzgamingzone.org/trac.cgi/browser/trunk/ggz-client-libs/ggz-config/readme.ggzconfig archivo readme] de ggz-config y en la [http://www.ggzgamingzone.org/docs/guides/gamedev/ggz-game-development-guide.pdf guia de desarrollo de juegos con GGZ] (la cual contiene abundante informacion y realmente debería ser imprimida si se quiere desarrollar con GGZ).
+
Sí y sólo si ambos valores coinciden con los del servidor, se ofrecerá el juego a los jugadores! Puedes encontrar mas información sobre este archivo en el [http://svn.ggzgamingzone.org/trac.cgi/browser/trunk/ggz-client-libs/ggz-config/readme.ggzconfig archivo readme] de ggz-config y en la [http://www.ggzgamingzone.org/docs/guides/gamedev/ggz-game-development-guide.pdf guía de desarrollo de juegos con GGZ] (la cual contiene abundante información y realmente debería ser imprimida si se quiere desarrollar con GGZ).
  
 
==Desarrollo==
 
==Desarrollo==
  
Añadir soporte GGZ a los juegos de KDE no es dificil en absoluto. Hay tres bibliotecas para tareas diferentes: ''kggzmod'', que maneja todos los eventos y peticiones especificos de GGZ; ''kggznet'', que puedes usar para networking (pero no tienes por que); y ''kggzgames'' para la integracion de los componentes GGZ en la GUI.
+
Añadir soporte GGZ a los juegos de KDE no es difícil en absoluto. Hay tres bibliotecas para tareas diferentes: ''kggzmod'', que maneja todos los eventos y peticiones específicos de GGZ; ''kggznet'', que puedes usar para networking (pero no tienes por que); y ''kggzgames'' para la integración de los componentes GGZ en la GUI.
  
 
Además, ''kggzdmod'' esta disponible como biblioteca experimental para el desarrollo del servidor de juegos GGZ basado en Qt4,.
 
Además, ''kggzdmod'' esta disponible como biblioteca experimental para el desarrollo del servidor de juegos GGZ basado en Qt4,.
Line 53: Line 53:
 
=== Instalación paralela ===
 
=== Instalación paralela ===
  
Si las version de GGZ y la instalada en KDE difieren, hay algunas consideraciones a tener en cuenta. Lo primero de todo, necesitan ser instalados en diferentes directorios. La razón es que ambas no usan la misma version de los includes, y el paquete ggz-kde-* de GGZ aun está basado en KDE3. Aqui está una configuracion de desarrollo típica, aunque podrías querer adaptarla:
+
Si las versión de desarrollo de GGZ y la instalada en KDE difieren, hay algunas consideraciones a tener en cuenta. Lo primero de todo, necesitan ser instalados en diferentes directorios. La razón es que ambas no usan la misma versión de los includes, y el paquete ggz-kde-* de GGZ aun está basado en KDE3. Aquí está una configuración de desarrollo típica, aunque podrías querer adaptarla:
  
 
* KDE3, KDE4 y GGZ instalado en /usr para KDE3 ocupando /usr/include/k*
 
* KDE3, KDE4 y GGZ instalado en /usr para KDE3 ocupando /usr/include/k*
Line 59: Line 59:
 
* GGZ (devel) instalada en ~/sys/ggz (y ~/sys/ggz/bin debería estar en $PATH)
 
* GGZ (devel) instalada en ~/sys/ggz (y ~/sys/ggz/bin debería estar en $PATH)
 
* Los prefijos no concuerdan, por lo que configura kdegames con -DGGZ_FORCEREGISTRY=1
 
* Los prefijos no concuerdan, por lo que configura kdegames con -DGGZ_FORCEREGISTRY=1
* En los modulos ggz, para cada entrada deKDE4, añade 'runkde4' antes de cada ejecutable.
+
* En los módulos ggz, para cada entrada deKDE4, añade 'runkde4' antes de cada ejecutable.
 
* runkde4 contendrá lo siguiente:
 
* runkde4 contendrá lo siguiente:
  
Line 70: Line 70:
 
</code>
 
</code>
  
Tal mecanismo de envoltura (wrapper) se necesita en muchos sitios de GGZ, por lo que uno genérico estaría genial. Todavia es necesaria la ayuda para portar ggz-kde-* a KDE4!
+
Tal mecanismo de envoltura (wrapper) se necesita en muchos sitios de GGZ, por lo que uno genérico estaría genial. Todavía es necesaria la ayuda para portar ggz-kde-* a KDE4!
  
 
=== Prueba de juegos GZZ ===
 
=== Prueba de juegos GZZ ===
  
Conectarse con el servidor principal de GGZ no es necesario para testear juegos GGZ, siempre que el servidor del juego esté instalado ademas del cliente del juego!.
+
Conectarse con el servidor principal de GGZ no es necesario para testear juegos GGZ, siempre que el servidor del juego esté instalado además del cliente del juego!.
 
Simplemente usa la herramienta ''ggz-faketable'' del paquete ggz-python.
 
Simplemente usa la herramienta ''ggz-faketable'' del paquete ggz-python.
 
El uso de ''kde4launch'' es opcional, por supuesto.
 
El uso de ''kde4launch'' es opcional, por supuesto.

Revision as of 01:42, 17 September 2008


Contents

Development/Architecture/KDE4/KGGZ


GGZ Gaming Zone ofrece una infraestructura completa y gratuita para juegos online. Los juegos online siempre han proporcionado alguna integración con KDE, pero con el inicio de KDE 4.0, esta integración está disponible fuera de la biblioteca KDE Games (libkdegames). El soporte de GGZ está disponible para una gran variedad de distribuciones y gana popularidad para con un gran numero de juegos.

Estado

Impaciente? GGZ in KDE 4 - Status file

En el tiempo de la liberación de KDE 4.0, la mayor parte del trabajo preliminar fue empleado en desarrollar GGZ, basándose en las bibliotecas de KDE. Se han escrito tres bibliotecas (kggzmod, kggzgames, kggznet) y algunos macros CMake. Véase API docs.

Los juegos de barcos de KDE, KReversi y KBattleship, proporcionan un modo de red GGZ que se activa cuando el juego se ejecuta en modo cliente con GZZ. Si KReversi se ejecuta con la opción GGZ, este conecta con el propio Kreversi de GGZ, cambiando su nombre a KGGZReversi, algo que fue planeado durante largo tiempo. Ambos usarán el servidor de Reversi en GZZ. Para KBattleship, un servidor dedicado llamado Submarine ha sido escrito en Python y está disponible en el svn de GZZ.

KDE 4.1 tendrá también el juego KSquares, el cual es compatible con el servidor Connect the Dots de GGZ (un parche ha sido aplicado recientemente). También está planeado el soporte de KFourLine. Por tanto, este reemplazaría al cliente KConnectX basado en KDE3, liberado junto con GGZ 0.0.14. Además, podrían portarse juegos adicionales. En KDE 4.1 también está planeado una mejor integración con los clientes. Esto podría incluir clientes embebidos (por ejemplo, los juegos pueden conectarse a los servidores GGZ por si solos), un port de KGGZ a KDE4, y la integración de GGZ con jabber, incluida el algunos widgets de Kopete relacionados con el juego online.

Sobre el port de KGGZ, actualmente KGGZ-ng, hay alguna información disponible aqui. Ya puedes disfrutar del trabajo realizado en algunos widgets, como la lista de jugadores y la lista de salas disponibles.

icon.png icon.png icon.png

Configuración

Mientras que el desarrollo de juegos GGZ basados en KDE3 requiere la biblioteca ggzmod, es decir, programada en C, KDE4 tiene kggzmod/kggznet/kggzgames (referenciadas por libkggz*), así las bibliotecas y todos los juegos que las usan podrán compilarse sin ninguna otra dependencia.

Para que sea posible jugar a los juegos desde un cliente online (tanto clientes GGZ como KGGZ), el cliente aun necesita registrarse en el registro de módulos central de juegos de GGZ. La herramienta ggz-config, que es parte del paquete ggz-client-libs, es necesaria para esta tarea. La mayoría de las distribuciones lo empaquetan como parte del paquete ggzcore-bien o algo similar.

El archivo module.dsc contiene información sobre el juego, algo sobre el autor, la biblioteca/entorno de la UI y donde se encuentra el ejecutable. Los dos valores importantes son que protocolo y que versión de este se está usando:

ProtocolEngine=TicTacToe ProtocolVersion=2


Sí y sólo si ambos valores coinciden con los del servidor, se ofrecerá el juego a los jugadores! Puedes encontrar mas información sobre este archivo en el archivo readme de ggz-config y en la guía de desarrollo de juegos con GGZ (la cual contiene abundante información y realmente debería ser imprimida si se quiere desarrollar con GGZ).

Desarrollo

Añadir soporte GGZ a los juegos de KDE no es difícil en absoluto. Hay tres bibliotecas para tareas diferentes: kggzmod, que maneja todos los eventos y peticiones específicos de GGZ; kggznet, que puedes usar para networking (pero no tienes por que); y kggzgames para la integración de los componentes GGZ en la GUI.

Además, kggzdmod esta disponible como biblioteca experimental para el desarrollo del servidor de juegos GGZ basado en Qt4,.

Por favor considera reusar protocolos existentes para juegos iguales o similares. Hay tres sitios donde puedes echar un vistazo: KDE Games, GNOME Games y los juegos empaquetados por el proyecto GGZ en alguno de sus varios paquetes. En http://www.ggzgamingzone.org/engines/ hay una lisa de todo los juegos GGZ conocidos.

Por el momento, echa un vistazo a las APIS de kggzmod, kggznet y kggzgames, las cuales son todas parte de libkdegames.

Un número de tutoriales fueron enviados a la lista kde-games-devel, proporcionando información adicional sobre las API.

Si esta información no es suficiente: unete a #kdegames en irc.kde.org y dí si quieres ayudar. Si estás seriamente interesado en echar una mano, por favor publica tus ideas en la lista de correo kde-games-devel.

Consejos

Instalación paralela

Si las versión de desarrollo de GGZ y la instalada en KDE difieren, hay algunas consideraciones a tener en cuenta. Lo primero de todo, necesitan ser instalados en diferentes directorios. La razón es que ambas no usan la misma versión de los includes, y el paquete ggz-kde-* de GGZ aun está basado en KDE3. Aquí está una configuración de desarrollo típica, aunque podrías querer adaptarla:

  • KDE3, KDE4 y GGZ instalado en /usr para KDE3 ocupando /usr/include/k*
  • KDE4 (devel) instalada en ~/sys/kde4
  • GGZ (devel) instalada en ~/sys/ggz (y ~/sys/ggz/bin debería estar en $PATH)
  • Los prefijos no concuerdan, por lo que configura kdegames con -DGGZ_FORCEREGISTRY=1
  • En los módulos ggz, para cada entrada deKDE4, añade 'runkde4' antes de cada ejecutable.
  • runkde4 contendrá lo siguiente:

  1. !/bin/sh

export PATH=$HOME/sys/kde4/bin:$PATH export KDEDIRS=$HOME/sys/kde4 export KDEHOME=$HOME/.kde4 exec $*

Tal mecanismo de envoltura (wrapper) se necesita en muchos sitios de GGZ, por lo que uno genérico estaría genial. Todavía es necesaria la ayuda para portar ggz-kde-* a KDE4!

Prueba de juegos GZZ

Conectarse con el servidor principal de GGZ no es necesario para testear juegos GGZ, siempre que el servidor del juego esté instalado además del cliente del juego!. Simplemente usa la herramienta ggz-faketable del paquete ggz-python. El uso de kde4launch es opcional, por supuesto.

kde4launch ggz-faketable $ggzprefix/lib/ggzd/ggzd.dots $kde4prefix/bin/ksquares


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal