Video Game Networking Architecture

0 views
Skip to first unread message

Curtis Mckinney

unread,
Apr 18, 2012, 11:45:07 AM4/18/12
to Live Group Computer Performance
Hey Guys,

So we were talking a bit at the SuperCollider Symposium about our
different networking technologies, and spoke briefly about possibly
combining efforts for a possible standardized solution that might be
rolled into SuperCollider, instead of relying on a collection of
proprietary efforts.

As Chad and I discussed, the Glitch Lich networking architecture is
predicated on techniques developed for FPS videogame networking. Game
and music have a lot in common, including the need for extremely fast,
reliable, and smooth control information transmitted over distance,
with minimal jitter, lag, and packet loss. They've come up with some
innovative ways of dealing with this.

They also have to worry about problems that is not as big of an issue
for network music, namely bandwidth(dealing with hundreds of users on
a single server), and cheating.

Les asked to see some papers on the subject. Unfortunately, most game
developers tend not to write papers, but there are a few documents
online that speak at length on the subject. Probably the clearest
document that addresses this(that I've seen) is the Unreal Networking
Architecture overview made by Tim Sweeney. you can find it here:

http://udn.epicgames.com/Three/NetworkingOverview.html

Another useful document is the overview of the valve networking
architecture, including interesting features such as input
prediction(such as dead reckoning...could be useful for network music,
haven't attempted it myself yet).

https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking

regarding TCP vs.UDP usage in games(and thus network music) check out
this document and the paper it references for why you should
realistically never use TCP:

http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/

(this is the paper that the previous link references regarding the
effects of simultaneous TCP and UDP usage):
http://www.isoc.org/INET97/proceedings/F3/F3_1.HTM

If you want to see one way of applying this to network music you can
check out the paper Chad and I submitted to ICMC this year about our
networking software OSCthulhu:

http://curtismckinney.com/OSCthulhuICMC2012.pdf

Though keep in mind that our software system is specifically tailored
towards remotely rendering synthesis to multiple intercontinental
sites, rather than a local area network with multiple laptops
rendering their own audio. Perhaps we could begin a discussion about
what might be a good way of structuring a more standardized model that
might work as a general purpose SuperCollider synchronization library.
Perhaps one that would offer multiple modes of operation(mesh vs. hub,
local rendering vs. remote rendering, etc).

-Curtis
Reply all
Reply to author
Forward
0 new messages