Established in 2008, Ubisoft Chengdu has since grown into a robust production center contributing to Ubisoft’s biggest brands across numerous platforms. Located in China, the world's biggest gaming market, the studio is uniquely positioned to master production on both AAA and free-to-play titles, build strong bridges to promote Chinese culture to Western audiences, and offer memorable and meaningful gaming experiences to players around the world.
The studio continues to build upon its commitment to excellence in game production and live operations, with a strong track record of development on Assassin’s Creed, For Honor, Immortals Fenyx Rising, Mario Rabbids: Sparks of Hope, Rainbow 6 and Skull and Bones. Notably, we also led production on Immortals Fenyx Rising: Myths of the Eastern Realm, a full-fledged, standalone DLC based on Chinese myths, as well as casual titles such as Rabbids: Party of Legends and UNO which were released to worldwide audiences.
At Chengdu studio, we embrace diversity in all forms, and we are committed to providing a fair and inclusive working environment for our employees, which now comprises over 470 talents hailing from 10 nationalities. Our strength lies in our diverse and passionate people, and together, we explore the unknown and create the best games for fans of all ages.
Job Description
About the role
As a network programmer, you will be responsible for selecting appropriate network function design solutions for different game projects, and effectively use the middleware provided by Ubisoft's middle platform combined with independent development to implement the game's network-related functions. Your solution needs to support game clients to access background services in a fast, efficient and stable manner. At the same time, it is necessary to consider cross-platform play, multi-platform support, high concurrency and other key requirements. In addition, in your daily work, you need to independently drive function design, execution, troubleshooting and promote optimization. During the development process, your work will revolve around answering some basic questions: Do players respond promptly in multiplayer mode? Does the degree of network latency meet players' expectations for the game? Can the player experience be improved? Always start from the perspective of player experience and deliver high-quality code.
What you will do
Gradually familiarize yourself with and master the network technology stack of Ubisoft's middle platform, and use it for daily development
Work closely with game designers to clarify and confirm design requirements involving network/server/operation and maintenance tools.
Provide network communication solutions for the development of new game functions according to the requirements of game designers.
Design and implement required game-specific servers according to the needs of game designers.
Work closely with game client programmers to integrate network functions into the game to achieve functions such as seeking team formation, network communication, state synchronization or frame synchronization.
Work closely with technical operations and IT teams to assist in the continuous release and maintenance of network services on the cloud.
Debug network functions and solve network performance bottlenecks, perform corresponding stress tests on developed network services and make improvements and optimizations.
Be able to notify management in advance when task progress is behind schedule and propose solutions.
Qualifications
More than 6 years of relevant programming experience.
Proficient in C++, proficient in multi-threaded programming, familiar with database programming, familiar with Socket programming. Have excellent network programming knowledge.
Familiar with and apply various network protocols, such as TCP, UDP, QUIC, HTTP and other basic protocols.
Proficient in at least one WebAPI development technology stack, regardless of language
Familiar with network diagnostic software, at least one network sniffing software, such as Wire Shark, CharlesProxy
Understand databases, experience with MySQL, MongoDB, Tcaplus or Redis databases is preferred
Proficient in virtual machine related technologies, familiar with Linux and Windows cross-platform network programming
Understand the network object synchronization mechanism in online games
Have software engineering practice knowledge and knowledge of agile software development
Able to analyze and evaluate development risks and provide solutions
Able to write and debug programs using object-oriented or procedural programming thinking
Good communication skills in Chinese and English, competent for daily work English communication
Passionate about playing games and making games
Understand and use Python, lua, go or other scripting languages
Familiar with Kubernetes, Prometheus, kong, locusts
Additional Information
Ubisoft CSR commitment
Making a long-lasting positive impact for our players, our teams, our partners and our planet.
In Ubisoft, we are working to enrich players’ lives through unique and memorable gaming experiences and by improving the positive impacts of our games. To get there, we are creating a safer, more inclusive work environment, we are giving back to the communities where Ubisoft operates by working with local non-profit partners and by working to reduce the environmental impact of our business.