[mosh-devel] Mosh for roguelike games?

HannesJvV (alt email) slimkind7 at gmail.com
Sat Aug 24 08:46:23 EDT 2013


Thanks for your replies, guys.

I reckon specific client and server programs would indeed be best for
implementing 'anti-lag', but a seperate client/server/protocol has never
been developed for any roguelike (AFAIK) because running over telnet or SSH
is such a simple, well-working solution... as long as your latency is
small. The way I see it, a specific client application for Crawl wouldn't
hold up in the long run because the trouble to implement and keeping it up
to date would outweigh the benefits for most users.

That's why I wondered whether it might be possible to add some tweaks to
Mosh to that end, but I realise that that could also become needlessly
complex as Mosh would need to understand the way the game works. Still,
simple things like echoing movement input on a specific line below the map
display (instead of wherever the cursor happens to be) or constraining
input during a Y/N choice during a lag spike might be useful, so I think I
might look into it some time. If I actually manage to do something useful,
I'll put it on Github or something and let you know ;)


On Tue, Aug 20, 2013 at 8:43 AM, Keith Winstein <keithw at mit.edu> wrote:

> Hello Hannes,
>
> There's no fundamental reason that Mosh couldn't support an
> application-specific local echo model. Look
> in src/frontend/terminaloverlay.cc (
> https://github.com/keithw/mosh/blob/master/src/frontend/terminaloverlay.cc)
> for the current code.
>
> You *might* be better off just writing your thing as a separate wrapper
> program that the user would run before they run Mosh or SSH. (Look at
> our src/examples/termemu.cc for an example of this.) This could just
> interpret the user's keystrokes and do whatever you want with them, rather
> than trying to be another part of Mosh itself.
>
> Mosh itself benefits from having the prediction be tied in with the
> networking, because we want to know which user keystrokes have been seen by
> the server (in order to know whether our predictions were confirmed or
> rejected). But if you're really just making a local user interface for a
> particular application, there's a lot less ambiguity about trying to infer
> if your "predictions" are correct and you could do this as a straight-up
> wrapper program on the client side.
>
> Good luck!
>
> Cheers,
> Keith
>
>
> On Sun, Aug 18, 2013 at 5:24 PM, HannesJvV (alt email) <
> slimkind7 at gmail.com> wrote:
>
>> I understand Mosh uses a simplified model of server-side activity to give
>> "intelligent local echo", but I'm not clear on the details. Can Mosh use
>> application-specific local echo models?
>>
>> I'm asking because I would love to play Dungeon Crawl online but I live
>> in Africa, far away from any server. Lag makes playing over SSH absolutely
>> unbearable. I'm thinking that Mosh with crawl-specific local echo model
>> could at least make the lag a lot more bearable and would be a big step
>> forward for roguelikes in general.
>>
>> I understand that with roguelikes there would be many cases where Mosh
>> wouldn't really help (just as with complex commands in Vim) and that this
>> would be complicated to pull off. But simple things can go a long way: if
>> I've been waiting for a response from the server for the past few seconds
>> after giving a movement command, I might as well check out my spell list or
>> inventory or examine a monster while I'm waiting for it. This is impossible
>> with SSH, but I think it might well be doable with Mosh if it can take
>> 'local echo plugins'.
>>
>> _______________________________________________
>> mosh-devel mailing list
>> mosh-devel at mit.edu
>> http://mailman.mit.edu/mailman/listinfo/mosh-devel
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.mit.edu/pipermail/mosh-devel/attachments/20130824/1899c530/attachment.html


More information about the mosh-devel mailing list