|
[Kde-games-devel] Game Developer Guide: msg#00128kde-games-devel
first let me introduce myself: I am writing a mah jongg game using python and Qt4/KDE4, see http://www.kde-apps.org/content/show.php/kmj?content=103206 The next big change is to add networking code and an AI player, so I should certainly have a look at GGZ. I am reading the development guide and have a few questions as a novice I might be in a good position to point to unclear formulation - please understand this as constructive criticism. My aim ist first to understand GGZ and second to help with getting better documentation on the way 0. Some of my questions might be answered somewhere else but I assume this development guide is meant to be complete in the sense that no external lookup is needed for understanding - so I decided not to try finding answers somewhere else. 1. it mentions Kuobe - that should be kuohbe, and it might be worth noting that kuohbe is a QT3 application only. 2. on page 7, 3rd paragraph from the bottom: "A launched game client .... which launched the game." That got me thinking - who exactly launches a game? Before I thought it is the game server when it has enough players. But this sentence seems to imply that one of the players launches the game. But on second thought I think you mean " ... which launched the game client." Could this also be written as "The GGZ core client launches one game client and establishes a control channel to it." I am not sure if I would mention callbacks here at all - that seems like an implementation detail (twisted as an example implements asynchronous processing with its Deferred objects instead of callbacks) This chapter 4.2 (and 2.3 too btw) mentions the GGZ core client without first introducing it - maybe it would be helpful to shortly explain its role or to add a link to that explanation. 3. am I right in assuming that there is never a direct connection between game clients and core clients except one locally? So two game clients would always talk to each other using the game server as an intelligent router? If so, why is it preferred to separate core client and game client into two processes? Why can't the core client functionality always be added as a library to the game client (embedded game like Widelands)? 4. on the kdegames mailing list Josef said: > In any case, use ggzcomm-based declarative network protocol descriptions so > that you can have your networking code autogenerated for any programming > language and library. am I right in understanding that using ggzcomm is not needed - I could just as well use anything else like python-twisted? Is ggzcomm recommended only because it might facilitate my work or do I have some other advantages when using ggzcomm? Currently I prefer twisted because I could use that know-how also for other projects (twisted also is new to me). There already is some glue code that merges the main event loop of twisted into Qt4, so that should be easy. 5. I am not sure whether by "server" you mean a physical computer or a process - so I am not sure if the game server is a separate computer using ggzdmod for connecting to the GGZ main server or if the GGZ main server process spawns game server processes on the same computer. Am I right in assuming that there is exactly one GGZ main server worldwide? -- Wolfgang _______________________________________________ kde-games-devel mailing list kde-games-devel@xxxxxxx https://mail.kde.org/mailman/listinfo/kde-games-devel
|
|
||||||||||||||||||||||||||
|
|
|
| News | Mail Home | sitemap | FAQ | advertise |