Game Development Community

Open Source MMP Framework

by Prairie Games · in General Discussion · 12/01/2002 (11:15 am) · 11 replies

Folks,

I have been hovering around these parts for a number of moons. My profile has a bit of history, work experience, and links to products I have created. I currently live in Minneapolis, Mn

And:

I have been designing a MMP game/framework for a long while now... researching technologies... etc... I've made a number of test(learning) frameworks along the way... the last implementation had an operational Master, World, Zone, and Client architecture with database authentication...

I am now comfortable with the choice of core technologies(see below). The design needs to be refactored with a clear vision firmly in mind. This is happening now... and I could use help :)

The technologies the project uses:

Python - the language the framework is written in... using v2.2+ (with generator support)
Zope - a dynamic web management system... editing of game mobs, items, mechanics, etc is handled via a browser to a database backend
Twisted - distributed computing package.. RPC etc. very very cool developers...
PostgreSQL - the database of choice (or at least the path of least resistance)
Torque - the Torque engine with the TGEPython extension I wrote and continue to refine. Also other enhancements such as Day and Night cycles...

In very basic terms, the design is thus:
RPGClient <-> RPGMaster <-> RPGWorld <-> RPGZone          <->       RPGClient
                                         ActionZone (TGE) <-> (TGE) ActionClient
ActionClient and ActionZone are interfaces bound to their respective RPG counterpart, which TGEClient and TGEZone implement(in the case of Torque). *Note* There certainly could be TNDClient and TNDZone (The Nebula Device), or Quake2Client and Quake2Zone (The GPL'd Quake2 code)... and others...

This isn't a centralized server system needing paid staff to monitor it. Players are able to run Worlds and Zones (missions in Torque), with the main bandwidth being at the Zone <-> Client level... 32-64 players will comfortably play in a Zone (depending on amount of twitch styled play).

A World can handle 100 or more Zones as this connection is quite low bandwidth... the World connects to a database(editable via a browser) which stores characters, and controls spawns,loot,EXP, etc. This minimizes cheating. Furthermore, Worlds can be password protected to only allow certain Players/Zones, creating social arenas or Rings. Mods? Of course :)

Fast forward:

It occured to me, that although using Torque, the project could be Open Source. This is due to the framework being written in 100% Python with a (clean) binding to the proprietary Torque code! Torque(with an embedded Python interpreter) can be supplied to developers without a source license as an executable. Importantly, people don't have to know anything about Torque to contribute...

***Side Note*** There is a seperate CVS project housing the project's modified Torque for (C++) developers with a license.

I would like to work with talented, experienced, and mature developers on this. I am seriously considering Open Sourcing the project. The mission: to create a high quality persistent world framework which supports massively cooperative/versus gameplay under an extremely liberal (BSD) license.

The goal with this post is to get a feeling for who may be lurking about... A trial run on the first of many stops...

[EDIT] Adding some contact info:

I have a TWiki up at www.actionrpg.com ... this has been my sketchpad since September, it resembles an exploded brain (and looks horrible under non IE browsers)... you have been warned! :)

I'll be in #actionrpg on irc.freenode.net

Vibes,
-J

#1
12/01/2002 (11:38 am)
Sounds really cool!

That would definately open doors for some people. :)
#2
12/01/2002 (11:44 am)
That would be fantastic and I'm sure it would be a popular resource. I would also be interested in hearing more about this. That's incredibly generous of you!
#3
12/01/2002 (11:59 am)
I echo everyone elses comments so far - this would be amazingly generous of you. I'd certainly be interested in hearing more from you on this.
#4
12/01/2002 (12:00 pm)
I'm absolutely interested in using this, but I don't have any time available to contribute to building/delivering it...
#5
12/01/2002 (12:24 pm)
Joshua,

This is very much what the GORPE project has set out to do. At the moment though we're floundering a bit trying to get up to speed on the Torque engine. Our goal from the begigning has been to create an open free D20 based RPG engine.

Perhaps you and I should talk and see if our goals are compatible.
#6
12/01/2002 (12:44 pm)
@Paul: Hiya
@J. Donavan Stanley: Does D20 allow commercial exploitation? It wouldn't really matter, I am sure that ruleset could be applied at a lower level in the code...

I hope people aren't thinking I am giving away a fully working MMP system and soon!

I am putting a sniffer out... hoping that some people are in the same boat as I... collaboration... the design needs work... and there is a whole lot of code to write...

It has taken strenuous effort to simply figure out HOW to put such a beast together, line up the appropriate tech, and make a chassis to bind Torque in with :)

-J
#7
12/01/2002 (1:21 pm)
The D20 is an open gaming system much like you typical open source application. Basicly they took all of the proper names out of the AD&D ruleset and released it on the world.

We selected D20 simply to save the effort of developing both the engine and the ruleset. D20 gives a framewrok to build on that people are already familiar with. Of course that also comes with the drawback that you have to get it right.
#8
12/01/2002 (4:41 pm)
Very cool, I am interested although the amount of work/talent required to create an mmpg is huge. At this moment we can only allocate resources for small projects like the SFPS we are making. I like the idea of being able to use it with the Q2/Nebula engines as well.
#9
12/01/2002 (5:16 pm)
Id love to help if I can port my game to your architecture.
#10
12/01/2002 (9:55 pm)
I've written a fair amount of code on this project. Though much of the code has been for prototyping, learning, and evaluating the involved systems... see the list of (mostly Open Source) technologies in the initial post. Coming up with this list was quite involved...

There is some production grade code carried over from this process... some of which is available on this very site. But I will stress again, the project is in design.

Where the (Torque) source code stands now is a CVS with the TGEPython extension and Day/Night cycles hooked up... I created this CVS with a GG Torque vendor tag which is "the right way to do it" ... it means that it will be trivial to continue getting most improvements from the HEAD GG Torque... and possible to track all changes between the two repositories...

Where the Python source stands is in design, rewrite, and refactoring... this is currently a speeding bullet...

I've also done a volume of (specific) game design... how this game interacts with the Open Source MMP Framework is yet to be resolved...

I have labored on all this alone for long enough. To repeat:

I would like to work with talented, experienced, and mature developers on this. The mission: to create a high quality persistent world framework which supports massively cooperative/versus gameplay under an extremely liberal (BSD) license.

I have a TWiki up at www.actionrpg.com ... this has been my sketchpad since September, it resembles an exploded brain (and looks horrible under non IE browsers)... you have been warned! :)

I'll be in #actionrpg on irc.freenode.net


-J
#11
12/05/2002 (12:54 am)
Ok, Lets do this then man, you need dirt slaves to make textures and models and maps and scripts. I can support your project by designing and creating world items and game media. I am very serious and i understand the depth of yur project. Im no C guru but im slowly learning. However in the meantime i can help your project in many ways. If were working together id like to alleviate asmuch external distraction from your task as possible. From a logical standpoint if i can put my material into a superior product we both win. Im eager to hear your response.