What It’s All About
You are driven to solve difficult architectural challenges in the design and implementation of server clusters and client/server game programming. You enjoy figuring out how to get the most out of multi processor servers and limited bandwidth to support great online gameplay. You are comfortable with complicated multi-threaded environments and asynchronous network code and understand the complexities of highly scalable server architectures.
A Typical Day
You’ve just re-configured the network protocol to support reliable transport over UDP, so now it’s time to test it. You have previously created a graphic-less game client that you can use to send well formed and not so well formed packets to your new network layer, running several test protocols to ensure the new transport layer works as intended. Since things seem to be running smoothly, its now time to start adapting the client to support load testing by creating thousands of connections to your new server, the ultimate test before releasing the new code into the daily build.
Who You Work With
Since your work is so central to the game, you end up supporting many designers and programmers on small, multidisciplinary teams to implement gameplay, combat, and other features. You also work closely with the operations team to help design the datacenters/servers that will host the game, and you are often mentoring new programmers who need to learn the complexities of the systems that you have created.
- 3-5 years of experience in software development with emphasis on code development and optimization in Linux
- Prior experience implementing network gameplay over TCP/IP or UDP protocols
- Fluent in C++ and Linux based server environments
- Previous online game experience in designing and implementation of content deployment systems
- Experience coding in highly threaded, asynchronous distributed environments
- Supporting the operations team in the launch of a successful AAA online game
- Solid understanding of database performance and tuning
- Enthusiasm and experience in working in a team environment bringing game design ideas to fruition
- Great people skills, able to work in multi-disciplinary, team oriented environments
- Unyielding passion for games
- MySQL experience and familiarity with Web 2.0 scalability techniques
Red 5 Studios - 2 years ago