In these articles outside developers and Google engineers describe their experience porting libraries and applications to Native Client. They share their insights and provide some tips and instructions for how to port your own code.
- Porting Go Home Dinosaurs
- Fire Hose Games recently developed a new webgame Go Home Dinosaurs. It features tower defense, dinosaurs, and good old fashioned BBQ. This article explains their experiences developing for Native Client including useful lessons learned to help you get started.
- Porting Zombie Track Meat
- Fuzzycube Software, traditionally a mobile game development studio, talks about their adventure into the web, porting the undead decathlon Zombie Track Meat from Objective C to Native Client.
- Porting AirMech
- Carbon Games chose Native Client as a solution for cross-platform delivery of their PC game AirMech to Linux and Macintosh in lieu of native ports. They describe the porting process on their blog.
- Porting XaoS
- Google engineers ported XaoS, an interactive graphical
exploration tool for fractals, to Native Client. Many of the porting problems they encountered are quite common, and the techniques
described here should help with similar porting efforts. Some of the background information might also benefit
those who are writing new Native Client applications.
- Porting MAME
- Multiple Arcade Machine Emulator (MAME) is an emulator for a large number
of classic arcade games. Google engineers ported it to Native Client. This article discusses the overall porting strategy,
newlibincompatibilities, and handling binaries that are built and run as part of the build process.
- How to Port SDL Games
- Simple Directmedia Layer (SDL) is a popular library that many games and applications use to access sound and video capabilities on end-user machines. Native Client bindings for SDL have recently become available on naclports, making it possible to port SDL-based games to Native Client. This article by Google engineers describes how to complete such a port, focusing on writing the glue code for fusing your game with the Pepper APIs.