编辑“︁
DesignOverview
”︁(章节)
跳转到导航
跳转到搜索
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
== What is Marauroa? == Marauroa is our portable, robust, and multithreaded server architecture. The server is written in Java and uses Python for writing your games rules. A mySQL persistence engine powers the server and allows it to communicate with dozens of players using a UDP transport channel. Marauroa is based on a philosophy we call Action/Perception. Each turn clients can ask the server to do any action on their behalf using action requests. A Perception is then sent to the clients explaining to them what they perceive of the world around them, and hence the result of their action. Marauroa is totally game agnostic and makes very little assumptions about what you are trying to do, allowing great freedom to create whatever type of game you want. Bugs are a fact of life, they just happen. However, Arianne is fully tested using Test Units with JUnit and cppunit. All modules are tested for most common cases, allowing better quality software to be deployed. Your cooperation in reporting problems is simply invaluable: You are our best developer and we want to hear from you. Marauroa is based on very simple principles: * Clients communicate with the server and vice versa using a UDP portable network protocol. It has been designed with reliability in mind to allow a more stable experience in online games when lag occurs. * You can develop an Arianne client on anything that is able to compile C code using the Arianne client framework. * In order to play a game everyone needs an account on the server that is identified by a username and password. * Players use their account to login to the server and choose a character to play the game with from one they have available in their accounts. The server checks the login information using the mySQL backend and loads the player into the game using the persistence engine. * Players cast actions to the server in order to play. The action system is totally open and nothing is hard coded thus allowing one to fit it totally to ones game style. The server sends information at regular time intervals, called turns. Each turn a perception is sent to the clients to inform them of the state of the game and any relevant state modifications. Marauroa's perception system is based on Delta^2: an algorithm which simply sends whatever has changed. * The server executes code each turn to move game status from one turn to the next. Using this hook it is simple to code triggers, time outs, conditions and whatever kind of behavior you need. * The server transparently and automatically stores players and game status modifications on the persistence engine. Exactly what is stored is also configured by the game developer using the scripting language. * Server side game rules can be written in Python to allow simple and rapid development of the game rules engine without recompiling or knowing anything about Marauroa internals. Game rules can also be coded in Java if desired. * The server can be run with zero administration. * Another feature are statistics of usage. These are generated by the server and then stored on a mySQL database so you can later generate fancy statistics from the information. If you do not require them they can be disabled so you don't waste CPU time and disk space. Marauroa is built around modules that can be changed and disabled without affecting others. * Both the server and the client are fully documented. The documentation includes specification and design and not just API documentation.
摘要:
请注意,所有对gamedev的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Gamedev:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息