In a detailed technical feature with sample code
posted on Gamasutra today, Team Bondi programmer Claus Höfele delves into the practical steps for your players to get gameplay footage automagically uploaded online.
Noting that "increasingly, YouTube integration is seen as a valuable feature addition to games," Höfele points to Maxis' Spore Creature Creator
, which makes extensive use of YouTube integration, features its own YouTube channel, and ties its community into the site.
Since YouTube provides an API that makes this feature possible for just about any game developer, even indie game makers can offer a bonus to their users that otherwise may be prohibitive in terms of the development effort and server capacity that would be required.
Höfele includes not only code examples in his article but also a demo application with included full source code. In the feature, he addresses numerous major steps to adding YouTube integration: recording gameplay, choosing a video format, encoding screenshots, dealing with YouTube's API, and uploading the videos.
As Höfele summarizes:
"Adding YouTube upload to your game is straightforward, but requires some planning.
"To start with, you need to decide how you are going to record the game footage. From the discussed options, a framebuffer capture is the easiest to add to an existing game, but recording game state or player input gives you more flexibility to apply changes to the recording. If you want to change the camera angle later on, for example, game state recordings allow you to do that.
"Finally, an application can upload videos with YouTube's RESTful interface; a protocol based on HTTP. The demo application for this article comes with an implementation for authentication, search, and video upload requests that you can use for your own game."
You can now read the full Gamasutra feature on the subject
, posted as an independently authored piece within the Intel Visual Computing section
, and which includes sample code (no registration required; please feel free to link to this feature from external websites).