i just tested this over the network and it worked fine. and i should also point out that the client at the other end need not be written in lua. it should work with any other socket library for any other programming language you can think of. only reason i used the lua client was because i didnt want to learn two libraries in the same day. you could probably even talk to some service on the web, like twitter, and tell the world whenever you blow up a sathanas beam cannon. you could probibly go as far as creating an achievements system for the game and mods, if you were so inclined.
hardware experimentation is gonna have to wait though, until i can get the cash for that ethernet shield. of course i could easily write a proxy program to relay data from loopback to the serial port and vise versa. i could slap something together with lua in a few minutes, however i think id rather try doing this in c/++, for speed, and for error checking (serial has no inherent checking so i like to use 7 or 8 bit crcs), something not so easily written in lua. i think i also want to try tcp and see what kind of performance that can do. tcp would be better suited to everything except streaming (udp would handle that better).
as far as streaming goes the game doesnt really give me anything as far as reading textures. i can create them, draw them and use them, but you cant read the raw texel data. id like to be able to stream out render targets and other textures in real time. this would require some c code in the engine. cramming a 24 bit 512*512 texture through the tubes 30 times a second would require 189 megabits of throughput. pushing that through gigabit ethernet would be easy, but likely 100mbit would not be able to handle it. you can also downsample the texture pretty fast in real time, convert a 24 bit image into 16 or 8 bit could be done with some inexpensive shift operations. 8 bit would still require 63 megabit. block compression like you find in dxt1 would half that to 32megabit, probably fast enough to move over wifi, and serial if you reduce resolution and framerate.
for speed you would probably just use a 2d engine at the other end for panel elements, only streaming over the sprites, and only once at init. frame to frame you would just give commands to the 2d renderer on the external device. so you want to do a sensor panel like the one on the hud. you send the background sprite, raster font for text readouts, indicator bars and other graphic elements. every frame you tell it what to draw where and how. the little 3d ship icon could be drawn as a tiny render target, which would be streamed un-compressed, but its not like you are transfering the whole gauge, unless of course you want to implement a 3d renderer at the other end. likely whatever device will not have a lot of cpu power. probibly an mcu with some kind of graphics processor. if you wanted to do a little rear view camera display on a small lcd with fast refresh and high resolution, your hardware starts to get expensive.