As for the codec: the best codec there is is XviD... you can find it all over the internet. Source at
www.xvid.org I believe.
Almost all the OP2 vids that Lev has done, are XviD encoded.
The only drawback would be it requires a little bit more processing power to run on slow machines (real slow machines though, majority of computers are no concern).
I'll also note that DirectShow (the movie component of DirectX) supports any ACM codec. (In other words: if Media player, winamp, any other program can play it back, so can yours. Almost all codecs -- XviD included -- are ACM codecs).
Regarding Hamachi:
Why would you need Hamachi if the program was properly designed to punch through NAT? Read this link to learn how it's done:
http://www.mindcontrol.org/~hplus/nat-punch.htmlAlso, another consideration on portability: Pick an endian and stick with it. This applies to files and network data. Probably little endian since 95% of the machines running the game will be little endian.
Make it easy for people porting the game to convert the endian. (Use abstract classes, I know it's all I say, but it's true
)
Hamachi should be unnecessary. Design the game the way it's supposed to be, and you don't need to worry about any of the artificial wrappers and misc crap.