Please check out Federation II !

Member Discussions

terms



[Previous] [Next] [Post] [Reply] [Topics] [Summary] [Search]


1. Creating a web-based building environment Mon Mar 31, 2008 [8:59 PM]
ipsedixit
Email not supplied
member since: Mar 31, 2008
Reply
On my mud we migrated our wld files into a mysql database a while back, which has given us more latitude to integrate the mud with our website. As such, I've been working on creating a web-based building environment.

On one hand, it's nice to ditch the buggy OLC (we used Oasis, which was actually decent but had its problems) and have the opportunity to design my own builder without any preconceived limitations. But on the other hand, considering my limited php skills, its also been a very frustrating experience.

Has anyone had an opportunity to do something like this before? I'd love to pick the brain of other builders-cum-programmers and see what tricks they used to create a usable web-based building application.

(Comment added by ipsedixit on Mon Mar 31 22:04:40 2008)

Addendum: I understand that there have been past users who have managed to do something like that, but their links are old. I'm asking to see if anyone /currently/ hanging around is working on this. It's 2008, for god's sake, surely there has to be someone else out there.


2. RE: Creating a web-based building environment Mon Mar 31, 2008 [9:11 PM]
ShawnCplus
shawncplus@gmail.com
member since: Aug 6, 2006
In Reply To
Reply
I've been asked a few times to make one for SMAUG after I made an online helpfile reader with color parsing and online skill lists/arena rankings and things. I really don't have a lot of time but once I get a free weekend I might flesh a basic one out.

It's really not that complicated, it's just dealing with SMAUG's atrocity of a file format they use (WHAT IS WITH THE DAMN TILDES?!) which you have to regex the crap out of to keep things from breaking.


3. RE: Creating a web-based building environment Mon Mar 31, 2008 [9:37 PM]
ipsedixit
Email not supplied
member since: Mar 31, 2008
In Reply To
Reply
Oh yes, the noble tilde. Joyous days! We ended up stripping the tildes out once we got the files in their respective tables, but that was a nightmare.

Anyway, how would you implement it? I've done the script for rooms, so I'm specifically looking at how to handle mobs/objs. Ideally, what I'd like to do is build a bunch of preset mobs/objs and then have builders go off of those. For instance, if they wanted to build a long sword, they could select 'long sword' from a drop down menu (or maybe there would be a series of menus - chose 'weapon' and it loads another drop down with the types of weapons, choose 'sword' and it loads yet another drop down and then choose 'long sword') and it would automatically populate the various fields with the stats, dice, etc. for a long sword. The builder could customize the sword how they wanted (or based on the lvl of their account flags maybe they can't change every field - let's hypothetically say jr builders may not have the ability to modify the dam dice or whatever) and then press a 'create' button. The sword would insert into a new row and bam, we have a new object. This is sort of how I am inclined to go; I can't think of any downside to it. Yet!


4. RE: Creating a web-based building environment Tue Apr 1, 2008 [2:39 PM]
ShawnCplus
Email not supplied
member since: Aug 6, 2006
In Reply To
Reply
Like I said, once you get the file format down you can pretty much do anything you want. It's really just a few basics forms:
Room Creation
Item Creation
Mob Creation

each with their own sub-pages for progs.

You could extend functionality by using DHTML so you could have automatic previews and maybe even write a small script parser/debugger to test mobprogs there as well.


5. RE: Creating a web-based building environment Tue Apr 1, 2008 [7:13 PM]
Aelius
Email not supplied
member since: Mar 1, 2007
In Reply To
Reply
Unfortunately I can't point you to a working example (yet...), but I would strongly recommend using PHP. Even if you have limited PHP skills, the language is enough like C that you shouldn't have much trouble if you know your way around typical C code. Even though it's trendy to use PHP's object oriented interface, you don't have to - it can be entirely procedural as well.

At any rate, I also would only attempt this if the world is stored in some kind of SQL database. And since yours is, perfect.

The one important thing you need to keep in mind, though, is that, unless you want to ditch in-game memory caching and just have the world run entirely from the SQL database all the time (i.e. no in-game structs), you'll need to figure out the problem of synchronization. While an in-game editing system like Oasis updates the game-loaded world, you won't get that with a web-based building client unless you drum up some serious bells and whistles. If you're just editing the information in the tables, you'll have to (of course) reboot the mud to take into account any changes.

Of course, you could just have an in-game command that reloads the world from the SQL database to take into account any of the changes, which wouldn't really be that hard.
Aelius
Legends of Karinth


6. RE: Creating a web-based building environment Tue Apr 1, 2008 [11:37 PM]
Threshold
http://www.thresholdrpg.com
member since: Mar 4, 2000
In Reply To
Reply
I have seen links to a few downloadable building programs on TMS, but I haven't seen a good web based one yet.

I think such a thing would be absolutely awesome. You could actually turn things lose to a wider array of "builders", and maybe find a few creative "diamonds in the rough" to train up.

--
Michael (Aristotle)
Threshold RPG - Our World, Your Imagination
http://www.thresholdrpg.com
http://www.frogdice.com



7. RE: Creating a web-based building environment Wed Apr 2, 2008 [5:48 AM]
nass
Email not supplied
member since: Jul 23, 1999
In Reply To
Reply
> I think such a thing would be absolutely awesome

Completely agree


8. RE: Creating a web-based building environment Wed Apr 2, 2008 [10:42 AM]
turbotom_1
Email not supplied
member since: May 28, 2007
In Reply To
Reply
Just in case it's at all interesting/needed CoffeeMUD has an internal webserver that can put up an admin website on another website port. By logging in with an admin character the admins/builders can graphically modify areas and any changes are instant.


9. RE: Creating a web-based building environment Thu Apr 3, 2008 [10:49 PM]
Threshold
http://www.thresholdrpg.com
member since: Mar 4, 2000
In Reply To
Reply

turbotom_1 wrote:
Just in case it's at all interesting/needed CoffeeMUD has an internal webserver that can put up an admin website on another website port. By logging in with an admin character the admins/builders can graphically modify areas and any changes are instant.


That's cool. Do you have a demonstration anywhere that folks can see it online?


--
Michael (Aristotle)
Threshold RPG - Our World, Your Imagination
http://www.thresholdrpg.com
http://www.frogdice.com



10. RE: Creating a web-based building environment Fri Apr 4, 2008 [9:59 AM]
turbotom_1
Email not supplied
member since: May 28, 2007
In Reply To
Reply
At http://zimmers.net/home/mud/grinder.html there is screenshots and data about the CoffeeMUD online builder system.


11. RE: Creating a web-based building environment Fri Apr 4, 2008 [11:05 AM]
nass
Email not supplied
member since: Jul 23, 1999
In Reply To
Reply
That's amazing. Great job, guys :)


12. RE: Creating a web-based building environment Fri Apr 4, 2008 [11:30 AM]
Lorial
Email not supplied
member since: Oct 17, 2005
In Reply To
Reply
It is pretty amazing. I still do most of my building OLC though.

I am strange like that. ;)
-Lorial
Builder and Coder
"No Ocean too High, No Mountain too Deep"


13. RE: Creating a web-based building environment Fri Apr 4, 2008 [2:40 PM]
Samson
Email not supplied
member since: Jul 24, 1999
In Reply To
Reply
Even worse, I'm prone to do alot of building work via text editing the area files. Yes, I'm old school that way :)
SmaugMuds.org: http://www.smaugmuds.org
My Blog. Leave your political correctness at the door: http://www.iguanadons.net


14. RE: Creating a web-based building environment Fri Apr 4, 2008 [8:34 PM]
Threshold
http://www.thresholdrpg.com
member since: Mar 4, 2000
In Reply To
Reply

turbotom_1 wrote:
At http://zimmers.net/home/mud/grinder.html there is screenshots and data about the CoffeeMUD online builder system.


Wow. That is AWESOME.

What language is CoffeeMUD? I assume your web building interface is php?

And does it worj with MySQL only or any SQL?

That is really impressive. Nice work.

--
Michael (Aristotle)
When in Doubt, Whine on the forums



15. RE: Creating a web-based building environment Fri Apr 4, 2008 [10:27 PM]
turbotom_1
Email not supplied
member since: May 28, 2007
In Reply To
Reply
Firstly let me clarify my position, I am personally heading a project using the CoffeeMUD codebase but the credit for the actual codebase goes to a guy called Bo Zimmerman. I can however, explain how the system works as I am rather familiar with it.
CoffeeMUD does not ship with a flat file database instead it uses a relational database system of sorts called FakeDB however, the codebase can “supports any JDBC or ODBC compliant database system”. The actual web based builder is a mass of files that are put online via the built in web server for example, you can run the admin site on www.mymud.com:6654 via modification of a few setup files.
As the web based builder html pages are put online by the actual game instead of Apache or whatever, the game has the opportunity to parse the html files at certain points. For example, I believe there's command called @deleteroom which receives a set of arguments and deletes a room now if an authorized individual opened the html file containing that command the server would parse that command, search the database for that room and delete the room. Well that's the basics of it I hope I've clarified everything in this rather rambling reply!


16. RE: Creating a web-based building environment Fri Apr 4, 2008 [11:53 PM]
Threshold
http://www.thresholdrpg.com
member since: Mar 4, 2000
In Reply To
Reply
Yeah, thanks for the explanation.

So when you create rooms and such with the online editor, does it generate flat text files of the type your mud uses (.c or .whatever), or is it simply entering data into the DB and then setting up a link between various rooms?

And ultimately, if you edit things via the web based interface, are you editing actual files or making database entries?

--
Michael (Aristotle)
When in Doubt, Whine on the forums



17. RE: Creating a web-based building environment Sat Apr 5, 2008 [12:44 AM]
Lorial
Email not supplied
member since: Oct 17, 2005
In Reply To
Reply
So when you create rooms and such with the online editor, does it generate flat text files of the type your mud uses (.c or .whatever), or is it simply entering data into the DB and then setting up a link between various rooms?

All changes (rooms, exits, items, mobs, scripting (internal prog language or Javascript), behaviors, etc.) are directly accessible to the live engine and added to the database (whichever you are using).

From within the engine you can "export" text flat-files with a .cmare extension. Good for backing up individual areas, area MOBs, area Items or the whole world, and for transfering them if wanted.

And ultimately, if you edit things via the web based interface, are you editing actual files or making database entries?

Database entries, if you are using a database. CM ships with a flat-file system (FakeDB) but as was posted can use any JDBC/ODBC database. I prefer it with MySQL.
-Lorial
Builder and Coder
"No Ocean too High, No Mountain too Deep"


18. RE: Creating a web-based building environment Sat Apr 5, 2008 [12:57 AM]
Kunin
Email not supplied
member since: Sep 10, 2007
In Reply To
Reply
I find tools like this to be really helpful and speed things up, especially if you can work in a simple GUI (boxes and lines work great) for the map layout. Something where the builder can lay out the rooms, and then edit the text/flags/etc on each one.

I built something like this for Tears of Polaris, called JavaLC(I know... real creative there). I would suggest going that route, if you can, as it's nice to be able to do all your work completely offline(say you're on a trip, and don't live in Korea where wireless is everywhere).

I used IRE's ATCP to import and export rooms from/to the game, but since you use a MySQL capable database it should be fairly easy. You would just need to let the client connect to the database to submit/grab rooms and be done with it, either by directly connecting with the database or going through a tunnel on your site. The latter having the advantage of being able to tie it to their character and have them log in before they can submit anything.
Producer, Tears of Polaris
http://forums.TearsOfPolaris.com




[Previous] [Next] [Post] [Reply] [Topics] [Summary] [Search]