Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
 parse description bug
Yesterday, 10:08 pm
By Remcon
Couple bugs
Dec 12, 2017, 5:42 pm
By Remcon
Bug in disarm( )
Nov 12, 2017, 6:54 pm
By GatewaySysop
Bug in will_fall( )
Oct 23, 2017, 1:35 am
By GatewaySysop
Bug in do_zap( ), do_brandish( )
Oct 18, 2017, 1:52 pm
By GatewaySysop
LOP 1.45
Author: Remcon
Submitted by: Remcon
LOP Heroes Edition
Author: Vladaar
Submitted by: Vladaar
Heroes sound extras
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.3
Author: Vladaar
Submitted by: Vladaar
Memwatch
Author: Johan Lindh
Submitted by: Vladaar
Users Online
CommonCrawl, DotBot

Members: 0
Guests: 9
Stats
Files
Topics
Posts
Members
Newest Member
477
3,706
19,240
608
LAntorcha
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Codebases » SmaugFUSS » Demonstration of auto-mapper ...
Forum Rules | Mark all | Recent Posts

Demonstration of auto-mapper and other server/client interaction
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Feb 26, 2010, 4:38 pm   Last edited Feb 26, 2010, 5:03 pm by Samson
Go to the top of the page
Go to the bottom of the page

Nick Gammon
Fledgling
GroupMembers
Posts20
JoinedMay 20, 2008

I have made a YouTube video demonstrating various suggestions I have been making in this thread:

http://www.gammon.com.au/forum/?id=10043

The general idea is that the server can send extra information to the client using telnet subnegotiation (and yes, I know the idea is not new).

The video demonstrates an actual working version - a somewhat modified version of SmaugFuss 1.9, MUSHclient 4.50, and a number of plugins that draw things like the map to "miniwindows" which are parts of the output window you can set up to draw into using graphical primitives (like squares, lines, etc.)



       
Post is unread #2 Feb 26, 2010, 4:58 pm   Last edited Feb 26, 2010, 4:59 pm by Nick Gammon
Go to the top of the page
Go to the bottom of the page

Nick Gammon
Fledgling
GroupMembers
Posts20
JoinedMay 20, 2008

The code is available here:

http://github.com/nickgammon/smaugfuss

I forked off a version of SmaugFuss, made a few improvements for C++, fixed a few bugs, and then got stuck into handling the telnet negotiation and other things like sending messages to the client when you move around.

You need to select the status_messages branch to get all the stuff about the messages.
       
Post is unread #3 Feb 26, 2010, 5:04 pm
Go to the top of the page
Go to the bottom of the page

Samson
Black Hand
GroupAdministrators
Posts3,639
JoinedJan 1, 2002

Don't mind my edit, just updating the Youtube tag handling for XHTML 1.1 compliance :)
       
Post is unread #4 Jul 17, 2010, 8:19 pm
Go to the top of the page
Go to the bottom of the page

Keirath
Magician
GroupMembers
Posts144
JoinedJan 24, 2008

Necro'd

I've been messing with my SWR and have been slowly converting it to C++. One thing I'm very interested in doing is instituting a lot of what you've done here by way of telnet subnegotiation and waht not. However, I have absolutely no experience with this. What is the best way to go about this?

One of the big things I'm interested in doing is creating it so while in space (and specifically space combat) you can have a status bar much like that of the HP/etc bar you've displayed here. So, that's kinda just one of the small goals I am aiming for.

Any tips would be great.
       
Post is unread #5 Jul 18, 2010, 5:04 am
Go to the top of the page
Go to the bottom of the page

6Dragons
Fledgling
GroupMembers
Posts48
JoinedNov 23, 2008

Nice Job Nick!
       
Post is unread #6 Jul 30, 2010, 3:34 pm
Go to the top of the page
Go to the bottom of the page

Nick Gammon
Fledgling
GroupMembers
Posts20
JoinedMay 20, 2008

Keirath said:


One thing I'm very interested in doing is instituting a lot of what you've done here by way of telnet subnegotiation and what not. However, I have absolutely no experience with this. What is the best way to go about this?


I tend not to read this forum very frequently, as I have to keep an eye on the MUSHclient one.

If you want to ask me more questions about it, you would get a faster response there:

http://www.gammon.com.au/forum/

Basically though, if you want to send stuff for status bars etc., you have some sort of protocol (eg. ATCP, Lua, JSON, B-encoding, MSDP) which is a method of encoding your information (eg. hp=22;mana=33). Then you may well want to send this extra stuff "out of band" so-to-speak, so it doesn't clutter up the main screen. Telnet subnegotiation is one way of doing that, which is what I used in the above demo.

Once you decide on a protocol (my example code for the above demo used a combination of telnet subnegotiation, and Lua) then you need to have a plugin (or other method) at the client end to pull the data out of the incoming data stream, decode it, and display it usefully (eg. a status bar).


Some useful links:

http://www.ironrealms.com/rapture/manual/files/FeatATCP-txt.html
http://www.ironrealms.com/gmcp-doc
http://json.org/
http://en.wikipedia.org/wiki/Bencode
http://tintin.sourceforge.net/msdp/

This post by me puts it all together somewhat:

http://www.gammon.com.au/forum/?id=10043

Note that my suggestions were not universally accepted.
       
Pages:<< prev 1 next >>