<div dir="ltr"><div><div>Thanks for your replies, guys.<br><br></div>I reckon specific client and server programs would indeed be best for implementing &#39;anti-lag&#39;, 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&#39;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.<br>

<br>That&#39;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&#39;ll put it on Github or something and let you know ;)<br>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 20, 2013 at 8:43 AM, Keith Winstein <span dir="ltr">&lt;<a href="mailto:keithw@mit.edu" target="_blank">keithw@mit.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hello Hannes,<div><br></div><div>There&#39;s no fundamental reason that Mosh couldn&#39;t support an application-specific local echo model. Look in src/frontend/terminaloverlay.cc (<a href="https://github.com/keithw/mosh/blob/master/src/frontend/terminaloverlay.cc" target="_blank">https://github.com/keithw/mosh/blob/master/src/frontend/terminaloverlay.cc</a>) for the current code.</div>



<div><br></div><div>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&#39;s keystrokes and do whatever you want with them, rather than trying to be another part of Mosh itself.</div>



<div><br></div><div>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&#39;re really just making a local user interface for a particular application, there&#39;s a lot less ambiguity about trying to infer if your &quot;predictions&quot; are correct and you could do this as a straight-up wrapper program on the client side.</div>



<div><br></div><div>Good luck!</div><div><br></div><div>Cheers,</div><div>Keith</div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">On Sun, Aug 18, 2013 at 5:24 PM, HannesJvV (alt email) <span dir="ltr">&lt;<a href="mailto:slimkind7@gmail.com" target="_blank">slimkind7@gmail.com</a>&gt;</span> wrote:<br>



</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div><div>I understand Mosh uses a simplified model of server-side activity to give &quot;intelligent local echo&quot;, but I&#39;m not clear on the details. Can Mosh use application-specific local echo models?<br>





<br></div>I&#39;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&#39;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.<br>





<br></div>I understand that with roguelikes there would be many cases where Mosh wouldn&#39;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&#39;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&#39;m waiting for it. This is impossible with SSH, but I think it might well be doable with Mosh if it can take &#39;local echo plugins&#39;.<br>





</div>
<br></div></div>_______________________________________________<br>
mosh-devel mailing list<br>
<a href="mailto:mosh-devel@mit.edu" target="_blank">mosh-devel@mit.edu</a><br>
<a href="http://mailman.mit.edu/mailman/listinfo/mosh-devel" target="_blank">http://mailman.mit.edu/mailman/listinfo/mosh-devel</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div></div>