Bonjour,
It's time for me to make a report of my progress.
I try to follow the scientific method for my search
http://www.experiment-resources.com/ Also, my studies only cover the MOUL-ou game system (CWE+MOSS). In this post I write about the first two steps: "Question about the big picture" and "Concepts, literature review, casual explanations"
The first step is "
Questions about the big picture" To make it clear, here are the questions I'm working on:
- What are the main actors (components) of the MOUL game system?
- What are the main activities (concepts)?
- How these are working together?
The second step is "
Concepts, literature review, casual explanations"
I could find bits of information about the MOUL game system scattered all over the internet. However, there is two main hub where that info is hosted: OpenUru wiki
http://wiki.openuru.org and Guild of Writers wiki
http://www.guildofwriters.org/wiki Thats where I started my reading. here is the summary of what I learned that is related to my three questions.
The OpenUru MOUL runtime environment consist of two major game software. The first is the game client, called
CyanWorld.com Engine (CWE) ref:
http://wiki.openuru.org/index.php?title ... com_Engine. The second is the server, called
Myst Online Server Software (MOSS) ref:
http://wiki.openuru.org/index.php?title=MOSS.
There is also a bunch of other miscellaneous software, more or less related to MOUL, that I won't cover much for now:
Wireshark plugin
http://wiki.openuru.org/index.php?title ... ark_Plugin
3DS Max plugin
http://wiki.openuru.org/index.php?title ... _Tutorials
PyPRP
http://www.guildofwriters.org/wiki/PyPRP
PyPRP2
http://www.guildofwriters.org/nathan205 ... ion-guide/
Drizzle
http://guildofwriters.org/wiki/Drizzle
Offline KI
http://guildofwriters.org/wiki/Offline_KI
DirtSand
http://www.guildofwriters.org/wiki/Development:DirtSand
PlasmaShop
http://guildofwriters.org/wiki/PlasmaShop
others?
The CyanWorld.com Engine is the Cyan Worlds' Plasma game engine used to run Myst Online: Uru Live. It's based on the concept of "Keyed Object Messaging System" I found two great references that explain a little what Plasma is and how it works:
http://www.guildofwriters.org/wiki/Plasma_101 and
http://www.guildofwriters.org/Brice2.html
I learned much about the Myst Online Server Software on the wiki
http://wiki.openuru.org/index.php?title=MOSS. I did some reading about Endianness
http://en.wikipedia.org/wiki/Endianness that is a basic concept that one must know when working with network protocol.
The game content is composed of Python script , State Definition Library (SDL), graphics (packaged in Plasma Resources Page file (prp)) and sound resources. State Definition Library are used to keep track of progress and changes. Python is used for the game's interactions (puzzle, action, events, etc..). Curiously, there is also some game logic in the Plasma code (heek, bluespiral aka "door run", marker, ...) I don't understand the reason why Cyan put some of the game logic into the Plasma engine. Maybe was it for performance reasons or because Python was too limited when building multiplayer games? I will have to find more documentation or references about that.
I assisted the OpenUru Q&A event on Monday 6th
http://mystonline.com/forums/viewtopic. ... 004#382004 This was very interesting and I hope there will be other events like this in the future. I'm glad that I can rely on such a great community that is OpenUru's. It's very motivating.
I downloaded CWE-ou source and I peeked through the Doxygen CWE documentation
http://foundry.openuru.org/assets/Found ... index.html. CWE C++ source code is quite a huge beast to tame for me. My C class was about 15 years ago and my own Visual C++ 6 box is collecting dust since 10 years now.
That's all I have for now. I hope you enjoyed it. Feel free to comment as it is a work in progress.
Edit: Added PlasmaShop to the other miscellaneous software list. Changed the descriptive of CyanWorld.com Engine based on comments received. Minor orthographic corrections.