Anyone got a better way I can transfer my pixel data? At the moment it's sending a table of 256 values (One for each pixel.)
You might want to reduce the information needed by each pixel... consider systems like having a set palette of colours so you can get many pixels into a single byte (say, 2^5 colours - 32 - might be enough, and would allow you to get two pixels into one Short value, in the same way spawnflags and things are sent as a number representing many 0/1 values).
Or you could have players select their own palette of colours, say 4 colours, and then be able to send just 4 RGB values alongside pixels of only 4 colour possibilities, for much greater efficiency with great numbers of pixels.
It will be tough. But for the last contest I created the illusion of lots of moving entities (potentially 30+) using clientside entities and usermessages, reducing network traffic 100-fold or more. I hope that proves you can achieve some pretty awesome things if you think around your problem hard enough.