• Advertisement
Sign in to follow this  

Making a Telnet-based game?

This topic is 4242 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello everyone! You guys gave me some good tutorials on pixel art - but I just suck at it... Anyways. I'm not very familiar with Telnet, and I've only used it a couple of times... But I've seen some people making online games for it... Here's some questions I have: 1. Can I code it in C or C++? 2. Do people need broadband Internet? 3. Is it cross-platform? I assume so, since it just sends data to a Telnet client... Thanks!

Share this post


Link to post
Share on other sites
Advertisement
1. Yes, you can. Or vb, or java, or asm, or whatever other language you have that has access to sockets.
2. Nope. You could use a 300 baud modem if you wanted to. Thats why these things were popular way back when, because the amount of data really is small (and the latencies that you can have are rather large :))
3. Yes, it is cross platform. Anybody with a telnet client (or similar) can play your game :)

Are you interested in making a little mud using telnet?

Share this post


Link to post
Share on other sites
What the... Really?! That's so damn cool! :D
I haven't really thought of what the game will be, I'll learn network proggying before going onto that... Hey, what libs do you recommend? I've used SDL_Net, but I tried to go too complex without actually knowing anything... *Embarrassed*
Thanks!

[edit] Can I use color too? [/edit]

Share this post


Link to post
Share on other sites
Colour, in telnet. Yes, you can. Assuming you can find the characters.... (telnet does what you tell it to do. Its a dumb terminal).

In C++, SDL_net should be fine. Theres a reson muds are so popular. It doesn't have the insane sort of complexity that other games have. (even the world itself is easier to make).

[Edited by - Nice Coder on November 24, 2009 3:22:14 AM]

Share this post


Link to post
Share on other sites
Wikipedia has a list of the commands you'd want to use to get color in telnet here.

If you want to set up a proper server you'll also want to implement the functionality described in RFC 854 as well, although most MUD servers and similar applications can safely ignore that. (Unless you're interested in more complex features like MCCP)

Share this post


Link to post
Share on other sites
Remember to correctly implement the telnet protocol, it is easy to get it wrong. There are a lot of crap and broken clients out there too you have to work with (NCSA telnet, Windows telnet).

I don't think it's something that you should really be doing in 2006 :)

Mark

Share this post


Link to post
Share on other sites
MUD development is a fine tradition, and something you can certainly do in 2006 -- especially to learn. If you want to shoot for an MMORPG in the future, doing a MUD first would be an excellent way to learn (better than, say, a single-player 3D game, in some respects).

There are lots of resources on developing MUDs online, just google for something like "MUD telnet development" and you'll find what you need. I recommend implementing at least the very basics of the telnet protocol correctly (offer and request, IIRC) else some clients will be very confused.

There are also some MUD development mailing lists, such as (IIRC) MUD-DEV you might want to check out (there are FAQs and archives online).

Share this post


Link to post
Share on other sites
Sorry to butt into this topic, but don't most firewalls block the Telnet port 23 because its not very secure? (Easy filtration into your system?)

Share this post


Link to post
Share on other sites
Most firewalls worth anything will block absolutely every port except those you choose to open. So, simply choose to open port 23. There's no danger there. Having said that, most MUDs or other telnet-like games don't run on port 23 anyway, instead choosing an arbitrary one above 1024. (Not that it makes any significant difference on a security level - it's the services you're running that constitute the risk. Ports are really just numbers.)

Share this post


Link to post
Share on other sites
You can run the telnet protocol on any port. A MUD will typically expose the port in question as part of the address -- "For glurb-mud, do 'telnet glurb.mud.com 1234'".

Also, firewalls may block port 23 for incoming connections, but as a telnet client, you are making an outgoing connection. Presumably, if the other end is hosting a telnet server, they arrange for the appropriate ports to get to the server.

Share this post


Link to post
Share on other sites
Sorry all for late response - I didn't have Internet yesterday because a thunderstorm broke one of the phone wires in the street, and Thunderbird just gave me the GD.NET replies in a batch... >:@

Anyways... Yeah, I'll try to use Telnet as better as possible. And I thought about it and I got a better idea than a MUD. Something nobody has ever seen before on Telnet. Just wait and see... markr: I would be doing something more modern if I didn't suck so much at drawing... *Cries* Thanks all!

BTW: Nice Coder, I couldn't get on at 5PM because of the wire thing. Sorry 'bout that!

Share this post


Link to post
Share on other sites
ok.

i've got a little demo thing up and running now. (its nethack-ish....)

Its at 58.168.127.37:8080 (using telnet)

I've gotten a few complaints that it was really laggy.

Would anybody like to play and check it out? (you just move around using the wasd keys. Nothing major).

Share this post


Link to post
Share on other sites
Quote:
Theres a reson muds are so popular. It doesn't have the insane sort of complexity that other games have.


Riiight. :) I assume you've never dealt with a system as complex as PENNMUSH, or the internal workings of the LPMUD parser, or written a command parser capable of understanding stuff like "get bob's hat from the dresser and wear it".

Just because muds look simple on the outside, doesn't mean they are simple underneath. If you want to do some of the really crazy stuff that's out there on some muds, you're going to need more than what people usually produce the first time.

Share this post


Link to post
Share on other sites
hmmm. i've never specifically dealth with command parsers. I have a couple of commandbots for irc. "ie. lock channell #chan, kickban Random*guy then join channell #random." one of my more complex bots can understand "If somebody says "Test" then kickban them".

But thats about as far as i've gotten. (and it is rather hacked up, but meh. first time doing something as complex as that).

Is the lpmud parser open source? it looks like i've got some reading to do.

i've found This and This, the parser seems very interesting. Thanks for pointing me in that direction [lol].

Share this post


Link to post
Share on other sites
Quote:
Original post by Deyja
Riiight. :) I assume you've never dealt with a system as complex as PENNMUSH, or the internal workings of the LPMUD parser, or written a command parser capable of understanding stuff like "get bob's hat from the dresser and wear it".


To be honest, that last bit is actually quite easy. Games written for 32K computers in the early 80s were doing that, before the lore got forgotten and replaced with trivial verb-noun parsing.

Share this post


Link to post
Share on other sites
Just because it's been done before doesn't mean it's not complicated.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by Nice Coder
i've found This and This, the parser seems very interesting. Thanks for pointing me in that direction [lol].


LDMud started as a project to clean up and modernize Amylaar's LPMud gamedriver.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by Anonymous Poster
Quote:
Original post by Nice Coder
i've found This and This, the parser seems very interesting. Thanks for pointing me in that direction [lol].


LDMud started as a project to clean up and modernize Amylaar's LPMud gamedriver.


So the actual link part didn't make it, hehe, here: http://www.bearnip.com/lars/proj/ldmud.html

Share this post


Link to post
Share on other sites
Quote:
Original post by Deyja
Just because it's been done before doesn't mean it's not complicated.

True, but in this case, it's not complicated. :) A lot of the parser's complexity only arises when the world model is not very good, as simple NLP operating on well-defined nouns with a predefined list of verbs is not all that difficult to do well. Sadly most MUDs don't have a great object system in the first place.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement