<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Building Browsergames &#187; api</title>
	<atom:link href="http://buildingbrowsergames.com/tag/api/feed/" rel="self" type="application/rss+xml" />
	<link>http://buildingbrowsergames.com</link>
	<description>Ever wanted to build a browsergame?</description>
	<lastBuildDate>Mon, 29 Mar 2010 14:00:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Using Google in your game</title>
		<link>http://buildingbrowsergames.com/2009/03/02/using-google-in-your-game/</link>
		<comments>http://buildingbrowsergames.com/2009/03/02/using-google-in-your-game/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 14:00:39 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://buildingbrowsergames.com/?p=784</guid>
		<description><![CDATA[Sure, Google is the king of web search right now &#8211; but did you know that there are a few other services Google provides that you can use in your game?
Google Apps
Google Apps allows you to set up your own suite of Google-driven applications, for free &#8211; giving you shared documents, e-mail, calendars, and wikis. [...]]]></description>
			<content:encoded><![CDATA[<p>Sure, Google is the king of web search right now &#8211; but did you know that there are a few other services Google provides that you can use in your game?</p>
<h2>Google Apps</h2>
<p><a href='http://www.google.com/apps/intl/en/group/index.html'>Google Apps</a> allows you to set up your own suite of Google-driven applications, for free &#8211; giving you shared documents, e-mail, calendars, and wikis. If you have control of your domain&#8217;s DNS records and haven&#8217;t already set up any MX records for another service, I would highly recommend Google Apps for your e-mail &#8211; I&#8217;ve been using the service for the last 6 months on a number of side projects, and haven&#8217;t had to deal with any headaches or downtime. Also, a 99.9% uptime guarantee is great if(like me) your core competency is development instead of e-mail.</p>
<h2>Google Ajax APIs</h2>
<p>Google also makes available a large number of <a href='http://code.google.com/apis/ajax/'>Ajax APIs</a> for developers &#8211; which lets you build things like Google Maps into your game, for free. One of the more useful APIs that they make available is their <a href='http://code.google.com/apis/ajaxlibs/'>Ajax Libraries API</a> &#8211; which means that you no longer have to worry about hosting your own copy of the core libraries for the javascript framework you&#8217;re using. The benefit of using Google&#8217;s Ajax Libraries API comes from caching, primarily &#8211; if users have visited a page that used the Google Ajax Libraries API before they visit your site, the javascript will be cached &#8211; which means that&#8217;s one piece of code their browser won&#8217;t need to fetch again when they visit your page. In the end, this results in a speed boost for your site &#8211; and even if the user <strong>doesn&#8217;t</strong> have the library cached yet, Google&#8217;s servers are configured with optimal performance and cachability in mind, so you don&#8217;t need to worry about doing that yourself.</p>
<p>Those are just two of the services Google offers that are useful to browsergames and not every developer knows about; are there any other Google tools your game is using?</p>
]]></content:encoded>
			<wfw:commentRss>http://buildingbrowsergames.com/2009/03/02/using-google-in-your-game/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Build an API for the Browser Game</title>
		<link>http://buildingbrowsergames.com/2008/12/22/build-an-api-for-the-browser-game/</link>
		<comments>http://buildingbrowsergames.com/2008/12/22/build-an-api-for-the-browser-game/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 16:00:31 +0000</pubDate>
		<dc:creator>Jacob Santos</dc:creator>
				<category><![CDATA[features]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[concepts]]></category>

		<guid isPermaLink="false">http://buildingbrowsergames.com/?p=421</guid>
		<description><![CDATA[It might not make sense from the perspective that most browser games require that players access the game from the browser. Actually, in most cases, it is the only way available to the player, even if you do build the API. If done correctly, the API will add additional incentive to play your game, but [...]]]></description>
			<content:encoded><![CDATA[<p>It might not make sense from the perspective that most browser games require that players access the game from the browser. Actually, in most cases, it is the only way available to the player, even if you do build the API. If done correctly, the API will add additional incentive to play your game, but it won&#8217;t make your game.</p>
<p>The concept is simple, through either REST, XMLRPC, or SOAP, you allow external access to the game. This might only be limited to read-only access, where players can display their stats on their web site. It could also be expanded to include full management of the game from buying supplies to attacking other players.</p>
<p>If the browser game is well established with a large player base, you can imagine it being moved in either two directions. The first is where you, the developer, use your API to build a client which has better graphics and interfaces with the statistics of the browser game. The second is where another player, who is also a developer, or team of players decide to build their own client to better manage their game. Whether the client is another web site or a Windows application is totally up to the developer.</p>
<p>Well, there are latency issues with HTTP, so it won&#8217;t be like you will be able to build a 3D real-time based system. You&#8217;re never going to build something that robust without building an actually server not dependent on HTTP protocol. You can still build a client for smart phones, iPhone, etc, which doesn&#8217;t require that much real-time involvement.</p>
<p>The concept is to have the external API available for when it is needed. If no one does anything with it, then you the developer of the game can.</p>
<h3>Possible Applications</h3>
<ol>
<li><strong>Mobile Phone</strong>
<p>There mobile phones that include APIs for building applications directly for the phone. These applications aren&#8217;t plain web pages in most cases and have a lot of low level power. You could reach an entire expanded audience, if the game was made available to those who have these phones.
</li>
<li><strong>GUI Application</strong>
<p>If you wanted to expand the game universe to either a 2D or 3D world with full interactivity and community, then pulling from the web based game world for stats would be easier. Given the latency, it might be better to create an client-server application on the server for the specific protocol that has less overhead than HTTP in this instance. If you only need a subset of the game information, then HTTP should be fine in the beginning.
</li>
<li><strong>Expanded universes in other PBBG based off of your game.</strong>
<p>You allow others to create services which can expand on your universe or populate information on battles and inform the player at that service that an attack is going to happen or has happen, so that the user can pick up information from many games in one location.
</li>
</ol>
<h3>Cool and New Factor</h3>
<p>While by no means an justifiable argument, you could be one of the few PBBG that allow for this service and be labeled cool and innovative. What this means to players would have to be decided by applications that use the API.</p>
]]></content:encoded>
			<wfw:commentRss>http://buildingbrowsergames.com/2008/12/22/build-an-api-for-the-browser-game/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Your PBBG on Facebook</title>
		<link>http://buildingbrowsergames.com/2008/10/09/your-pbbg-on-facebook/</link>
		<comments>http://buildingbrowsergames.com/2008/10/09/your-pbbg-on-facebook/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 14:00:30 +0000</pubDate>
		<dc:creator>Daedeloth</dc:creator>
				<category><![CDATA[marketing]]></category>
		<category><![CDATA[publicrelations]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[browser games hub]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://buildingbrowsergames.com/?p=461</guid>
		<description><![CDATA[Facebook is a great platform for game developers. The ease of using your Facebook account on various 3rd party applications allows users to start playing your game right away, without worrying about registration or account activation.
Porting your game to Facebook, however, is not an easy job to do, especially if your game is deployed on [...]]]></description>
			<content:encoded><![CDATA[<p>Facebook is a great platform for game developers. The ease of using your Facebook account on various 3rd party applications allows users to start playing your game right away, without worrying about registration or account activation.</p>
<p>Porting your game to Facebook, however, is not an easy job to do, especially if your game is deployed on multiple servers. </p>
<p><a href="http://apps.facebook.com/browser-games">Browser Based Games</a> found a solution for this. By using <a href="http://www.browser-games-hub.org/">Browser Games Hub</a> data and an <a href="http://www.openid.net/">OpenID</a> provider, they provide players an easy way to play browser games with their Facebook or OpenSocial capable (Orkut, MySpace, Netlog, &#8230;) account.</p>
<h3>OpenID?</h3>
<p>This application requires <a href="http://www.openid.net/">OpenID</a> support. OpenID is an open source system that enables users to use one identity across the web. Using one OpenID you can login to hundreds of websites without remembering all those passwords and logins.</p>
<p>Depending on how your game is written, OpenID is fairly simple to install. There are <a href="http://wiki.openid.net/Libraries">a lot of libraries</a> in multiple languages and a rather extended <em>quick guide</em> can be found <a href="http://www.plaxo.com/api/openid_recipe">here</a>.</p>
<p>On a sidenote, if your game supports OpenID, it will also support <a href="http://www.galaxy-news.net/content/284_galaxynews_id_one_account_all_the_fun.html">GalaxyNews ID</a>, which is based on the OpenID technology.</p>
<p><em>Note: in order to add your game to the BBG application, your login script must receive the openid_url in GET, not in POST.</em></p>
<p><strong>Adding your game</strong><br />
Next issue on the list is adding your game to BBG application. Since it uses the information provided by <a href="http://www.browser-games-hub.org/">Browser Games Hub</a>, you will have to add your game to the hub (see <a href="http://buildingbrowsergames.com/2008/10/05/browser-games-hubbrowser-games-hub/">previous article</a>). The most important section in your XML will be the <em>servers</em> element. If this section is invalid, your game will not appear in the application.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;browsergameshub</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;0.1&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;servers<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;server</span> <span style="color: #000066;">group</span>=<span style="color: #ff0000;">&quot;Pool A&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;id<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Server ID<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/id<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Server 2<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;version<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>0.123<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/version<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;game_url<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://link-to-your-game-server/<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/game_url<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;openid_url<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://link-to-your-game-server/openid.php?openid_url=%s<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/openid_url<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;players<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2504<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/players<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;status<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>open<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/status<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;descriptions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;description</span> <span style="color: #000066;">lang</span>=<span style="color: #ff0000;">&quot;en&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>speed 1x<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/descriptions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/server<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/servers<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/browsergameshub<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Let&#8217;s take a closer look at the element <em>openid_url</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;openid_url<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://link-to-your-game-server/openid.php?openid_url=%s<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/openid_url<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>This element should contain a direct link to the action of your OpenID login form. The GET variable declared in <em>openid_url=%s</em> will be populated with an OpenID. The Browser Games Hub will throw an error if it&#8217;s not working.</p>
<h3>And next?</h3>
<p>That&#8217;s it, really. Your game should now appear in the Hub with a lightning symbol, showing that your game supports OpenID. The application is only updated a few times a day, so it might take a while before all those facebook users start joining your game <img src='http://buildingbrowsergames.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://buildingbrowsergames.com/2008/10/09/your-pbbg-on-facebook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

