Please check out Dark Rifts !

Member Discussions

terms



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


1. PHudBase -- a PHP-based, WebSocket supporting naked codebase Tue Feb 9, 2010 [3:00 AM]
Tlanuwa
jfitzdela@gmail.com
member since: Aug 15, 2005
Reply
Hello, all! I've puttered around here over the years and have only recently gotten back to developing my games, so I'm back! And for you dual-forum readers, I've posted this exact message at TMC and TMS forums. Gotta get the word out....

I've taken a couple of days to build an open-source, clean version of the codebase I've developed over the last 4 years (stripped down to the work of about two nights).

What resulted is called, "PHudBase," short for PHP MUD Codebase (duh). PHP-MUD was taken by another guy named John doing what appears to be something very similar. About 5 days ago (and more power to him -- I'd love to see further innovation on this stuff).

Aside from being a very-simple-to-code base (and very, very naked), the big thing is that I've built HTML5 WebSocket support into the engine, so very rich browser clients can be built without the need for Flash or Java and without sacrificing speed or reliability (this is a true, two-way, socket based interface).

The project is hosted at http://www.phudbase.com/ with a demo (for Google Chrome users only for the time being) and the codebase available at Google Code (linked from the homepage).

If you don't have Chrome, you can also telnet in at phudbase.com:12345 and use the following commands (pretty standard):
say
look
n|ne|e|etc.
quit

I really think this could be an excellent start for a budding developer, and more importantly, a great way to hook these young'uns that don't know what Telnet is to our games.

I'm also interested in working with anyone who wants to try implementing WebSockets alongside your standard socket-type code in existing codebases. Hit me up at jfitzdela@gmail.com or the Google Group linked from the homepage.

So what do you guys think?

- John
Creator: PHudBase.com, a PHP MUD codebase with support for browser clients using HTML5 WebSockets
Owner: WGFriends.com, a social network for browser and MUD gamers alike


2. RE: PHudBase -- a PHP-based, WebSocket supporting naked codebase Tue Feb 9, 2010 [4:25 AM]
KaVir
Email not supplied
member since: Aug 19, 1999
In Reply To
Reply
Very nice, but is PHudBase intended for creating both the client and server, or could mud owners choose to use it purely as a client front-end for their existing muds?
God Wars II: http://www.godwars2.org (godwars2.org 3000) Roomless world. Manual combat. Endless possibilities.
MudLab: http://www.mudlab.org


3. RE: PHudBase -- a PHP-based, WebSocket supporting naked codebase Tue Feb 9, 2010 [4:34 AM]
Tlanuwa
jfitzdela@gmail.com
member since: Aug 15, 2005
In Reply To
Reply
It contains both a client and server, and they work together, of course, but neither is dependent on the other (you can connect the client to another mud or another client to PHudBase).

The only caveat at the moment is that the client depends on WebSockets, an HTML 5 feature currently only supported by Google Chrome.

I'm going to build and include an "alternate" client that uses an intermediary comet server (so the comet server connects to the MUD, clients connect to the Comet server, nobody knows the difference) that still only requires javascript to function and is supported by just about every browser on the web.

The cool thing about the Orbited client is that it handles Telnet natively and could, with a bit of work, render all the colors, etc. The bad thing is that the browser has to point directly at the Orbited server, which doesn't support PHP, so it can literally ONLY process HTML (which is still pretty cool).

Thanks for the compliment!

- John

(Comment added by Tlanuwa on Tue Feb 9 6:36:33 2010)

Another caveat (really the same, but whatever) is that the MUD server must support WebSockets, as well. This primarily means sending the initial handshake that's required for the client to be happy, but it also has a few quirks in data formatting that have to be worked out.

This isn't a problem for the Orbited setup.
Creator: PHudBase.com, a PHP MUD codebase with support for browser clients using HTML5 WebSockets
Owner: WGFriends.com, a social network for browser and MUD gamers alike


4. RE: PHudBase -- a PHP-based, WebSocket supporting naked codebase Tue Feb 9, 2010 [5:15 AM]
KaVir
Email not supplied
member since: Aug 19, 1999
In Reply To
Reply
My mud already uses FastCGI to generate parts of its website on the fly, and I've done some work on website logins (using the mud name and password). I've been wondering if I could use it to let people play through the website, but your approach seems to be far better suited.

I'm not sure what's involved in adding WebSockets support to a mud, but if the protocol is fairly straightforward then I could see this opening the market for muds, allowing us to advertise (and compete) alongside browser games.

I've only seen one other browser-based mud client, and it's not open source, so there's no real possibility to extend it graphically.
God Wars II: http://www.godwars2.org (godwars2.org 3000) Roomless world. Manual combat. Endless possibilities.
MudLab: http://www.mudlab.org


5. RE: PHudBase -- a PHP-based, WebSocket supporting naked codebase Tue Feb 9, 2010 [5:20 AM]
Tlanuwa
jfitzdela@gmail.com
member since: Aug 15, 2005
In Reply To
Reply
Glad to hear you say it, because that's exactly the response I wanted from the MUD gurus -- a seamless, plugin-free browser implementation of a MUD client would go far in competing with existing browser games.

I've never coded on, well, any other MUD lib, so I don't know how much help I'll be there, but I will -- today, in fact -- at least start on a document for what I would expect to be the necessary modifications, handshake requirements, etc. for existing codebases to implement the client (with WebSockets, that is... the Orbited setup is even easier, and I'll detail that, as well).

- John
Creator: PHudBase.com, a PHP MUD codebase with support for browser clients using HTML5 WebSockets
Owner: WGFriends.com, a social network for browser and MUD gamers alike


6. RE: PHudBase -- a PHP-based, WebSocket supporting naked codebase Tue Feb 9, 2010 [9:00 AM]
Drizzt1216
Email not supplied
member since: Aug 12, 2005
In Reply To
Reply
I've only seen one other browser-based mud client, and it's not open source, so there's no real possibility to extend it graphically.


http://www.crackwhip.com
Builder Academy:
http://www.tbamud.com
telnet://www.tbamud.com:9091
4 Dimensions:
http://www.4dimensions.org
telnet://www.4dimensions.org:6000


7. RE: PHudBase -- a PHP-based, WebSocket supporting naked codebase Tue Feb 9, 2010 [9:28 AM]
KaVir
Email not supplied
member since: Aug 19, 1999
In Reply To
Reply
> > I've only seen one other browser-based mud client, and
> > it's not open source, so there's no real possibility to
> > extend it graphically.
>
> http://www.crackwhip.com

Pretty basic, but if it's open source I guess it would be a start. I couldn't find any information about downloading their client though, even after browsing their wiki - where did you see the source code?
God Wars II: http://www.godwars2.org (godwars2.org 3000) Roomless world. Manual combat. Endless possibilities.
MudLab: http://www.mudlab.org


8. RE: PHudBase -- a PHP-based, WebSocket supporting naked codebase Tue Feb 9, 2010 [11:36 AM]
Idealiad
Email not supplied
member since: Jan 16, 2006
In Reply To
Reply
It looks like the whole source for that thing is in the page source actually.

Still, it's pretty much anyterm (anyterm.org), which I believe is open source. However as these kinds of clients are basically telnet emulators, it'd be far nicer to see a client built for the web, to look like the web, from the get go. That's what Tlanuwa's client (and Fmud, etc.) achieve which these AJAX clients do not. Not to say AJAX can't do that, but there's something to be said for using something that's designed for the use you want.


9. RE: PHudBase -- a PHP-based, WebSocket supporting naked codebase Tue Feb 9, 2010 [11:58 AM]
Orrin
Email not supplied
member since: Jul 10, 2008
In Reply To
Reply
I've only seen one other browser-based
mud client, and it's not open source, so there's no real
possibility to extend it graphically.

There's also Soiled and jMUD which you
might find of interest.
MudGamers - bringing the best of MUDs and online text gaming to your browser http://mudgamers.com
FMud - web based Flash MUD client http://bc-dev.net/projects/fmud/
My blog http://bc-dev.net


10. RE: PHudBase -- a PHP-based, WebSocket supporting naked codebase Tue Feb 9, 2010 [12:14 PM]
KaVir
Email not supplied
member since: Aug 19, 1999
In Reply To
Reply
> It looks like the whole source for that thing is in the
> page source actually.

Interesting, I didn't even think to check for that. No licence though, and simply owning a copy doesn't give any right to use it.

> Still, it's pretty much anyterm (anyterm.org), which I
> believe is open source.

I'm familiar with anyterm from when Crat was using it - and I know there are other telnet clients as well. But I was really looking for mud clients.


Orrin - thanks. I wasn't familiar with Soiled, although it looks like its more of a telnet client than a mud client. jMUD is more the sort of thing I had in mind, although it uses Flash (which Tlanuwa's approach doesn't).

God Wars II: http://www.godwars2.org (godwars2.org 3000) Roomless world. Manual combat. Endless possibilities.
MudLab: http://www.mudlab.org


11. RE: PHudBase -- a PHP-based, WebSocket supporting naked codebase Tue Feb 9, 2010 [4:31 PM]
Idealiad
Email not supplied
member since: Jan 16, 2006
In Reply To
Reply
It'd be really useful to document all these web-based clients somewhere. This topic seems to be coming up more often lately.


12. RE: PHudBase -- a PHP-based, WebSocket supporting naked codebase Tue Feb 9, 2010 [6:36 PM]
Tlanuwa
jfitzdela@gmail.com
member since: Aug 15, 2005
In Reply To
Reply
I'll add the appropriate license to each source file -- forgot about that part (this is my first opensource release... like ever....).

The "guts" of the client are contained in client.js -- this file handles (on document load) connecting to the appropriate server and processing reads from/writes to it. What's done with the data after that is arbitrary.

In other news, I've had an epiphany, and I'm working on a client implementation that will be drop in capable for just about any existing MUD server.

What I need is someone who'll let me play. :) Anyone mind me spamming (as in trying to connect a few times a minute and, once actually connected, trying to play through the new client)?

- John
Creator: PHudBase.com, a PHP MUD codebase with support for browser clients using HTML5 WebSockets
Owner: WGFriends.com, a social network for browser and MUD gamers alike




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