Ruleset Modeling Language - Discussions
September 06, 2010, 11:34:33 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: The new website and forum are up.  Beware that they are still teething however.
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Zen Engine  (Read 282 times)
Tony Richards
Have Posted
*
Offline Offline

Posts: 3


View Profile
« on: December 18, 2008, 08:00:05 AM »

Zen Engine is an open source (ZLib license) game engine that a few people (including me) have been creating over the past couple of years.

Zen Engine is still quite rough around the edges and I don't suggest anyone waste time trying to download and and trying to get it to compile (although you can if you want).  It's very stable, has a lot of great features, and after we've added a bit more polish, tutorials, documentation and sample games then I think it might be a great engine for you guys to use as a sandbox.

We have a plugin system for supporting third-party libraries such as scripting, rendering, audio, databases, etc.

I'm interested in integrating PA if you guys don't mind.

Any tips pointers or advice would be appreciated.
Logged
Cayle
Not Normal
Administrator
Hero Member
*****
Offline Offline

Posts: 2042



View Profile WWW
« Reply #1 on: December 18, 2008, 11:00:22 AM »

I'd be delighted.
 
As I said on the GG forums, I've been keeping tabs on the Zen engine and it has been one of the places I visit on my morning (my time, that means evening EST) rounds.   When I read that you wanted to stop coding for a few weeks to work on docs, I actually sat down and started writing a post on your forums to pimp RML/Memotica as I think that (yes, I have a corporate day job) there is a degree of synergy between the two projects.  I never posted as I decided to wait until after the holidays to get our 0.1 finished first. 

Quick aside to prevent confusion:  RML = Ruleset Modeling Language, which sums up what it does very succinctly.  Memotica is a marketing name for RML.  RML is a TLA and there are other languages called RML in the world; which is not very good for getting the word out.  When we post version 0.1 for download, it will be called Memotica.

Angela won't be ready to send and receive packets in a roundtrip fashion for probably six more weeks.  I'm on sabbatical for a year and able to put 40 hours a week into it, but I'm also realistic about what I can get done in a day.  I've got to make sure that entities are clean and I've got to debug (design has long since been done in Visio and there is code that was written against an earlier spec of RML that used specialized structures and not memes) the action and stimulus handling plugins.  The handling of integration of engines is designed however.

An Angela "Platform Driver" package is a collection of adapter code - be it python, c++, etc - that can communicate actions from the game engine to Angela and "resolved" stimuli back to the game engine.  Stimuli are bits of information that would be relevant to players or AI.  They might include text, audio, references to meshes or materials.  A resolved stimulus us a one that may be communicated to the client.  An old example is a little girl that may appear as a demon to some player avatars.  The agent is created with mesh and material stimuli for both and the choice of what to display is made when the stimulus is "resolved".  When the stimulus is resolved on the server side, the decision, based on whatever criteria, is made to determine what an individual player may see.  An agent may have any number of different types of stimuli.  The girl above may have textual descriptions of the demon and girl for text only clients.  This opens to door to having the same content accessible in both text and graphical modes; allowing you to play a 3D world as a text mud when on your mobile phone. 

In any case, the platform driver does whatever it needs to do to and then passes actions to Angela by putting them into a python queue object.  The broadcaster drivers - one for each type of stimulus - get resolved stimuli from queue objects, transform as needed and pass them along to whoever needs them.  One challenge wrt. Zen is the resolved descriptors.  We have a comprehensively designed metamemes and memes for translatable, dynamic text.  A collada -or something similar (OGRE?) - resolver will probably need to be written.  I've got a nice little book on the collada spec, but afiak good collada exporters that can be used as examples are few and far between. 

You may have better ideas about how to handle Angela's platform connection needs; in which case I'm all ears.  We are not too late to change direction in that area. 
« Last Edit: December 18, 2008, 11:05:54 AM by Cayle » Logged

The Ruleset Modeling Language - A project for making it easier to design virtual worlds.
Cayle
Not Normal
Administrator
Hero Member
*****
Offline Offline

Posts: 2042



View Profile WWW
« Reply #2 on: December 18, 2008, 11:07:19 AM »

A quick and dirty mockup of Angela's current engine integration approach.

Logged

The Ruleset Modeling Language - A project for making it easier to design virtual worlds.
Cayle
Not Normal
Administrator
Hero Member
*****
Offline Offline

Posts: 2042



View Profile WWW
« Reply #3 on: December 23, 2008, 11:28:12 PM »

I started a topic on the Zen forums to discuss how Zen handles its equivalents to Memotica actions/stimuli and what the integration challenges might be.
Logged

The Ruleset Modeling Language - A project for making it easier to design virtual worlds.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!