View previous topic :: View next topic |
Author |
Message |
mckillroy
Joined: 16 May 2005 Posts: 40
|
Posted: Sun Sep 28, 2008 2:21 Post subject: Brainstorming for a persistent world zero-module ... |
|
|
I'm bringing up this thread, because I'm thinking about ways to make a good "zero-module" for a PW.
A zero-module ("ZM") is a module together with a database, external tools and development environment which can serve as a starter for developing a PW. There have been several people doing this on various persistent worlds, but I believe it would be worth an effort to develop such a ZM as open source project to be used by everyone.
A ZM that can be published needs to meet some requirements, which make it interesting. I'd like to discuss ideas for such a module here to use it as a guideline for my own development - if everything goes well it might become a group project - who knows?
Why re-invent the wheel everytime a PW is created - it just drags away from content, story, DMing and all the good stuff that makes up a fun PW.
Here some unordered ideas as starters - maybe over time this thread could spit out a project plan with milestones for the development of such a ZM:
-- Dynamic world:
As much as possible shall be changeable by scripts loading stuff from the database depending on parameters like time-of-day, season, region,political situation, mood of the goblin-king ...
-- Individualization:
Plots shall be individualized (PC random seeds directing plot details)
-- Separating data from the module:
All the secrets of the world must reside in the database, not in the scripts. Ideally no additional scripts would be needed to make the PW - everything will be database driven.
--Data Consistency, Transactional handling of data operations:
Persistence and data reliability on every level is an issue. All data operations must be transactional and meet the acid criteria, e.g. to avoid dupe bugs. ( http://en.wikipedia.org/wiki/Transaction_processing )
-- Dis-Encumberance:
The technical means used to build and run the module must be as stable as possible and not stand in the way of the creative process. They must be compatible with upcoming updates to the game client and server.
-- RAD-techniques:
Extensive use of templates, ideally usable from a DM staff.
-- Web interface:
E.G. Someone writing a Dialogue through a web interface and assigns it to two or more NPCs and on-the fly it appears in-game.
-- Inter-Server operations:
like server cluster wide chat
-- World Self-Control:
Autonomous NPCs: Bandits picking out super-rich players. Bounty hunters harassing mindless NPC slayers.
-- Economy:
A working, self-regulating economy
--Balanced progression:
Not only XP-system is meant here, but also things like knowledge of the world, reputation scores and so on. People should be able to have a lot of fun without powergaming.
--DM friendly:
DMs being able to spawn persistent objects.
--Developer friendly:
Using Tools like Subversion and Doxygene and server side script compilation together with using directory mode for easier incremental and distributed module development.
I know many of these ideas can be found elsewhere - I'd just like to use this thread as a sort of incubator for a top-down approach. I believe proper planning before touching any code can help a lot. Code comes and goes - data formats (-models) stay forever.
Thats all for now.
What do you think ? _________________ /McKillroy
a.k.a Yorlik |
|
Back to top |
|
|
Mithreas
Joined: 09 May 2008 Posts: 24
|
Posted: Fri Oct 03, 2008 22:58 Post subject: |
|
|
If you search nwvault for the gigaschatten engine you'll find essentially exactly this, a set of 'basic' systems that every world needs (though clearly it doesn't have all of the features you list, just a selection). It works out of the box and requires almost zero setup; pretty much all the configuration that's required is done IG using DM-wand tools, meaning you don't need to know any scripting to use it.
Giga developed it for the Arelith world which I now maintain. I've occasionally looked at releasing the 'current' version of the Arelith engine as a sort of mark 2 of Giga's effort. However, there are complications. To name a few of them:
We now rely on an external MySQL database, which poses a huge additional setup cost on a non-technical world-builder. They need to install database software and configure all the tables, plus they need to be using NWNX. If you're not a technical person, that's quite intimidating.
The more systems you put in, and the more configuration options which are therefore available, the more someone has to understand the systems in order to set the module up. This can be frustrating if you know there's lots of really cool features at your fingertips but don't know how to use them.
The net is that while Giga's engine is usable even for someone with no technical background, doing the same for the current Arelith engine would require me to spend a lot of time documenting and testing a step by step process for getting all the dependencies in place to run it. I'd much rather spend that time writing more cool systems for Arelith, like the politico-economic system we're working on at present.
That said... I am very open to sharing the current Arelith code in a subversioned project if people seriously want to take the engine, genericise it, document it and release it. Just don't underestimate the amount of work involved (and please don't expect me to be hugely responsive - I'm not a student ).
Cheers,
-Mith
(check out the Arelith - Surface or Arelith - Underdark modules under the Role Play gamespy section if you want to see more of the stuff we have on Arelith. www.arelith.com is the best place to find me to ask questions). |
|
Back to top |
|
|
mckillroy
Joined: 16 May 2005 Posts: 40
|
Posted: Sat Oct 04, 2008 0:09 Post subject: |
|
|
I think the database stuff can be fixed easily .. make a sql dump of the structures and you are done and can easilyreimport. Seems a Zero database sql file is needed here .
I'd be happy to check your system out and adapt it to my needs. If everything is opensource and can be published - with mentioning all contributors of course - it would be awesome. I'd most like use doxygen for documenting right out of the code. _________________ /McKillroy
a.k.a Yorlik |
|
Back to top |
|
|
Disco
Joined: 06 Dec 2006 Posts: 152
|
Posted: Sat Oct 04, 2008 14:19 Post subject: |
|
|
I created quite a few of these things as well, especialy in the PHP-MySQL-NWN department. I don't mind sharing these things, but I do have my doubts about a project like this.
I have basically eliminated all NWVault systems from our own server to get a lean and specialised set of utilities for our own world because the overhead of trying to figure out what some anonymous scripter did in 2005 was becoming too much. I guess behind every good PW there's a good (team of) developers, not a general backbone package. |
|
Back to top |
|
|
mckillroy
Joined: 16 May 2005 Posts: 40
|
Posted: Sat Oct 04, 2008 20:34 Post subject: |
|
|
True. But I believe a well designed and documented Open Source package could
A. Motivate people to actually work together
B. Make developers independant from a single project - everyone could use the package for himself.
C. Help avoid bugs by community reviewing
D. Create a synergy effect and prevent everyone from re-inventing the wheel.
E. Produce more quality and more stable code due to the open nature and reviewing. _________________ /McKillroy
a.k.a Yorlik |
|
Back to top |
|
|
Kosmous
Joined: 10 Jan 2005 Posts: 44
|
Posted: Tue Feb 17, 2009 7:34 Post subject: |
|
|
I'm going to play necromancer here since I have nothing better to do at the moment and since I've actually had a project thats been going on for the good part of 6 years that fulfills a good portion of these requirements.
Please go to http://nwn.pldtplay.com/ddpw
Due to lack of interest I didn't really update the site past 1.68 even though the system itself has been updated to 1.69 for almost a year now.
The main problem with trying to promote a prefab PW using NWNX has already been brought up: People are unable/unwilling to learn the db and NWNX backend of things. I have personal experience with this problem and the only teams that I've been able to "sell" my work to are people who expected me to join their team and be the one to add content via my tools.
Anyone who is willing and able to put in the time to use anything other than "Plug n Play" systems tend to see such offerings as unnecessary to their "vision" of their PW.
Maybe the NWN1 community is not viable for this kind of concept or perhaps this concept, though sensible at the very least, runs contrary to the wants of the DYI RPG crowd.
...Hope someone still bothers to look at this thread. |
|
Back to top |
|
|
Fireboar
Joined: 17 Feb 2008 Posts: 323
|
Posted: Thu Feb 19, 2009 16:07 Post subject: |
|
|
VERY interesting. Is there a download link at all, or is this purely conceptual? I got the impression that it's working now, but I couldn't find a download anywhere so I did wonder. |
|
Back to top |
|
|
Mikel of Avalon
Joined: 29 Dec 2004 Posts: 72 Location: Germany
|
Posted: Thu Feb 19, 2009 17:33 Post subject: |
|
|
I read this a couple of times before and also find this very interesting. Hopefully the author read this thread so possible a download link or instruction will be posted... _________________ Mikel of Avalon
Kalandur - Die vergessene Welt |
|
Back to top |
|
|
Kosmous
Joined: 10 Jan 2005 Posts: 44
|
Posted: Thu Feb 19, 2009 19:03 Post subject: |
|
|
Ya it has been working for a while but I was being hard headed in the past and insisted I assist in the installation of the system. I see now that this approach is unlikely to work unless I have some sort of downloadable system that can at least showcase what DDPW can do.
I'm currently doing that right now and I'll release a bare bones system that only utilizes the Dynamic Conversations and the Object Trigger Events Manager. This way only a handful of scripts, db tables, and conversations are needed for the core package. I hope there's still people interested in downloading in a week's time. |
|
Back to top |
|
|
Mikel of Avalon
Joined: 29 Dec 2004 Posts: 72 Location: Germany
|
Posted: Fri Feb 20, 2009 10:34 Post subject: |
|
|
Sure i'm always interestet in your system. I'm currently use the outdated and modified system called *Gigaschatten PW Engine* but as far i can see with your system more will be doable so i still wait for it - possible for use in the new modul which is currently bound in planing state _________________ Mikel of Avalon
Kalandur - Die vergessene Welt |
|
Back to top |
|
|
Fireboar
Joined: 17 Feb 2008 Posts: 323
|
Posted: Fri Feb 20, 2009 17:55 Post subject: |
|
|
Mikel of Avalon wrote: | Sure i'm always interestet in your system. I'm currently use the outdated and modified system called *Gigaschatten PW Engine* but as far i can see with your system more will be doable so i still wait for it - possible for use in the new modul which is currently bound in planing state |
About that, I've got a far more recent version - myself and a few others are working at releasing an updated version. Trouble is, it's now far more integrated with NWNX, so it's available to fewer users, and there's a lot of Arelith-specific stuff (the engine itself is built and maintained on Arelith) that needs removing from core.
Kosmous wrote: | Ya it has been working for a while but I was being hard headed in the past and insisted I assist in the installation of the system. I see now that this approach is unlikely to work unless I have some sort of downloadable system that can at least showcase what DDPW can do. |
There's your thing. No wonder you didn't get any custom! If you insist on installing something yourself, people are going to naturally assume you want to be a builder on whatever world they're doing, and say either "yeah, we'll take it and you script for us" or "forget it, this is our project not yours".
This really ought to be open source. As in, really ought to be open source. It's inevitable to become that way if you release it - that's the way this sort of thing works: someone WILL find a way to improve on it and make it better. Someone WILL create a Linux GUI supplementary to the Windows GUI you've already got. |
|
Back to top |
|
|
Kosmous
Joined: 10 Jan 2005 Posts: 44
|
Posted: Sat Feb 21, 2009 6:03 Post subject: |
|
|
Ya. I'm not very good at putting myself in someone else's shoes I had no intention of hijacking anyone's project but I now understand why it would be seen that way. But a lot of it was really insecurity at my part... ESPECIALLY for open-source. However, I realize now that it's silly to be scared that people will criticize my work. It's free. If people aren't constructive about your work, then they can bugger off
I'm almost done with the core system release but if someone can give me some advice on what to release with this core system would be great. Is the documentation ok already? Is there anything that most people usually miss when creating packages like these? |
|
Back to top |
|
|
Maltalossėwen
Joined: 15 Jul 2007 Posts: 10
|
Posted: Sat Feb 21, 2009 13:14 Post subject: |
|
|
Kosmous, I saw your project long time ago and considered it being very interesting to work with. What held me back though was indeed the unavailability of any system to download and play with. I prefer downloading a system and see if I can get it to work and if I don't, I'll ask the author for help and if I actulay use it then I'll give credit for it.
What irritates me most when working with a prebuilt system is not so much the lack of documentation as is the inconsistency between the system available for download and the documentation, eg. version 8.1 is available for download but the documentation is still from version 7.0 while the demo module is made with yet another version with a commentary of the original author that he has no longer the time to maintain the project (yes, those things can be found on the vault). But I digress...
As for you questions, as far as I can see now, the documentation looks very clear and verbose (which is good), you should just make sure that what you release as core system demonstrates its abilities.
People that download your system are most-likely those that know how to setup a server and how to create a database/tables etc., in other words, they don't want someone else to set it up for them, they just need to know that you are around when they have a question.
And don't forget to mention the technical specs / requirements such as will it run on a Linux server, are you planning on porting your Client tools to Linux or can the run in Wine on Linux.... |
|
Back to top |
|
|
Fireboar
Joined: 17 Feb 2008 Posts: 323
|
Posted: Sat Feb 21, 2009 17:47 Post subject: |
|
|
I expect Wine will have no problems.
Kosmous, I'd advise releasing everything to be honest. Having a core package is a good idea, then the rest of the stuff as plugins just like NWNX is. As for what you include... well, nobody can really answer that question now except for you.
As for criticisms... for shame! Anyone who criticizes something like this is just like anyone who criticizes NWNX: They're criticizing an imaginative piece of work, something that doesn't exist anywhere else. Shame on them: they're the minority (and not the kind that we have to be nice to ). |
|
Back to top |
|
|
Kosmous
Joined: 10 Jan 2005 Posts: 44
|
Posted: Sat Feb 21, 2009 18:30 Post subject: |
|
|
I honestly believe that the core package is the best course of action in this particular case. The reason being that the portions which include outlands (and hence quests) require thousands of prefab areas which are a burden for any PW. The core system would require much less with just scripts, template conversations, a single area, and a few blueprints (aside from the mysql tables and biodbs).
By itself, the core system is pretty useful with the ability to add dynamic conversation and interactive objects which can be modified in functionality during runtime.
I will release the larger package on a later date (within a couple of weeks hopefully). But I'd have to write far more documentation on actual implementation into an existing PW. Once I release the DDPW core system, perhaps I'll get enough feedback on how I'll release it as a package and not as just another "here's my PW, have fun" downloadable. |
|
Back to top |
|
|
|