<?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>Devana</title>
	<atom:link href="http://devana.eu/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://devana.eu/blog</link>
	<description>how a browser game is made</description>
	<lastBuildDate>Sat, 06 Aug 2011 07:11:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>graphics</title>
		<link>http://devana.eu/blog/misc/graphics/</link>
		<comments>http://devana.eu/blog/misc/graphics/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 14:58:08 +0000</pubDate>
		<dc:creator>devland</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://devana.eu/blog/?p=45</guid>
		<description><![CDATA[I found this open source game 0 AD and I am seriously thinking of using the buildings and units from it for Devana 2. I will be using it's map editor to take screenshots of the buildings and units on top of the same tile, from the same angle. Then crop the images and put [...]]]></description>
			<content:encoded><![CDATA[<p>I found this open source game <a href="http://wildfiregames.com/0ad/">0 AD</a> and I am seriously thinking of using the buildings and units from it for Devana 2.<br />
I will be using it's map editor to take screenshots of the buildings and units on top of the same tile, from the same angle. Then crop the images and put them in the game.<br />
Problem solved.</p>
<p>update:<br />
I contacted the developers of 0 AD on their forums and not only did they give a prompt answer, they also agreed to me using content from their game as long as I credit their work. The full conversation I had with them is <a href="http://www.wildfiregames.com/forum/index.php?showtopic=15035">here</a>.<br />
Today I'll be doing the graphic content generation using the map editor from 0 AD. I'll post some of the images here so that you'll have an idea as to what to expect in the game. <img src='http://devana.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>update:<br />
And here are some of the images I've gathered.</p>
<p><a href="http://devana.eu/blog/wp-content/uploads/2011/08/civilCentre.png"><img class="alignnone size-thumbnail wp-image-47" title="civilCentre" src="http://devana.eu/blog/wp-content/uploads/2011/08/civilCentre-150x150.png" alt="" width="150" height="150" /></a><a href="http://devana.eu/blog/wp-content/uploads/2011/08/civilCentre1.png"><img class="alignnone size-thumbnail wp-image-48" title="civilCentre" src="http://devana.eu/blog/wp-content/uploads/2011/08/civilCentre1-150x150.png" alt="" width="150" height="150" /></a><a href="http://devana.eu/blog/wp-content/uploads/2011/08/civilCentre2.png"><img class="alignnone size-thumbnail wp-image-49" title="civilCentre" src="http://devana.eu/blog/wp-content/uploads/2011/08/civilCentre2-150x150.png" alt="" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://devana.eu/blog/misc/graphics/feed/</wfw:commentRss>
		<slash:comments>1871</slash:comments>
		</item>
		<item>
		<title>onward</title>
		<link>http://devana.eu/blog/development/onward/</link>
		<comments>http://devana.eu/blog/development/onward/#comments</comments>
		<pubDate>Sun, 24 Jul 2011 10:58:26 +0000</pubDate>
		<dc:creator>devland</dc:creator>
				<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://devana.eu/blog/?p=40</guid>
		<description><![CDATA[I've changed the MySQL storage engine from MyISAM to InnoDB so I can use transactions to provide atomicity to the game's actions. In conjunction with the serializable isolation level they allow me to control concurrent actions performed on the database. Nodes (towns) can now be created and moved periodically (there is a cool-down timer). The [...]]]></description>
			<content:encoded><![CDATA[<p>I've changed the MySQL storage engine from MyISAM to InnoDB so I can use transactions to provide atomicity to the game's actions. In conjunction with the serializable isolation level they allow me to control concurrent actions performed on the database.</p>
<p>Nodes (towns) can now be created and moved periodically (there is a cool-down timer). The movement feature can be turned on/off according to the game's gameplay conventions. For the default medieval setting of the game this feature will be turned off.<br />
A simple admin panel has been added to allow admin editing of the game's flag variables. They allow core features like login and register to be turned on/off.</p>
<p><a href="http://devana.eu/blog/wp-content/uploads/2011/07/createNode.png"><img class="size-thumbnail wp-image-41 alignnone" title="createNode" src="http://devana.eu/blog/wp-content/uploads/2011/07/createNode-150x150.png" alt="" width="150" height="150" /></a><a href="http://devana.eu/blog/wp-content/uploads/2011/07/adminPanel.png"> <img title="adminPanel" src="http://devana.eu/blog/wp-content/uploads/2011/07/adminPanel-150x150.png" alt="" width="150" height="150" /></a></p>
<p>And here are the files so far: <a href="http://devana.eu/blog/wp-content/uploads/2011/07/devana.zip">devana.zip<br />
</a>Note that the files now come with a license so read that before reading the code.</p>
<p>More work is to be done soon (the following weeks) as I have now got my college degree; I am now officially a computer software engineer. <img src='http://devana.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://devana.eu/blog/development/onward/feed/</wfw:commentRss>
		<slash:comments>2022</slash:comments>
		</item>
		<item>
		<title>forum disabled</title>
		<link>http://devana.eu/blog/misc/forum-disabled/</link>
		<comments>http://devana.eu/blog/misc/forum-disabled/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 11:30:15 +0000</pubDate>
		<dc:creator>devland</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://devana.eu/blog/?p=38</guid>
		<description><![CDATA[Due to excessive spam bot posts the forum is going offline. I am very sorry for those who used the board for mods, but I just cannot keep cleaning up after people who just do not appreciate such mediums. It's a real shame, as phpBB is really good. The forum will reemerge once devana 2.0 [...]]]></description>
			<content:encoded><![CDATA[<p>Due to excessive spam bot posts the forum is going offline.<br />
I am very sorry for those who used the board for mods, but I just cannot keep cleaning up after people who just do not appreciate such mediums. It's a real shame, as phpBB is really good.</p>
<p>The forum will reemerge once devana 2.0 nears completion and it will use code written by myself since that is the only way to prevent spam bot abuse.</p>
]]></content:encoded>
			<wfw:commentRss>http://devana.eu/blog/misc/forum-disabled/feed/</wfw:commentRss>
		<slash:comments>1948</slash:comments>
		</item>
		<item>
		<title>webGL experiment</title>
		<link>http://devana.eu/blog/misc/webgl-experiment/</link>
		<comments>http://devana.eu/blog/misc/webgl-experiment/#comments</comments>
		<pubDate>Tue, 15 Mar 2011 21:11:34 +0000</pubDate>
		<dc:creator>devland</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://devana.eu/blog/?p=33</guid>
		<description><![CDATA[I had a school assignment for today. Some algorithm optimization using Newton's discrete method. The fun thing is that I got to display f(x, y) type functions in 3D space. I chose to do so using the new webGL draft from the html5 suite. It was a whole lot of fun making it. A colleague [...]]]></description>
			<content:encoded><![CDATA[<p>I had a school assignment for today. Some algorithm optimization using Newton's discrete method.<br />
The fun thing is that I got to display f(x, y) type functions in 3D space. I chose to do so using the new <a title="webGL" href="http://en.wikipedia.org/wiki/WebGL" target="_blank">webGL</a> draft from the html5 suite.<br />
It was a whole lot of fun making it. A colleague created Newton's method code while I just wrote the 3D rendering stuff.</p>
<p>Here's the link: <a title="webGL experiment" href="http://devana.eu/misc/newton/newton.html" target="_blank">http://devana.eu/misc/newton/newton.html</a><br />
Keep in mind that since this is a very new draft (v1.0 released on March 3, 2011), not all browsers currently support it.<br />
At the time this post was written, the script was tested and worked on Chrome and Firefox 4 Beta. It might also work in Safari, but It needs testing.</p>
<p>This will surely be a thing of the future as I'm sure lots of great games/applications will be made using it. Even more once the support across browsers will be wide spread.</p>
<p>hints:</p>
<p>Make sure to first press "compute" and then "draw" for the script to work properly.<br />
Also, here is a set of functions I used to test this script:</p>
<blockquote><p>Math.pow(1-x, 2)+100*Math.pow(y-Math.pow(x,2),2)<br />
x*y<br />
Math.sin(x)*Math.cos(y)<br />
Math.pow(x, 2)-Math.pow(y, 2)<br />
Math.pow(1-x, 2)+100*Math.pow(y-Math.pow(x, 2),2)</p></blockquote>
<p>For the last one to display properly, use a "z scale" value of 0.0007 as that function conjures high Z values and they won't show up nicely with the default 1 "Z scale".</p>
<p>Enjoy. <img src='http://devana.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://devana.eu/blog/misc/webgl-experiment/feed/</wfw:commentRss>
		<slash:comments>2011</slash:comments>
		</item>
		<item>
		<title>tweaking the core</title>
		<link>http://devana.eu/blog/development/tweaking-the-core/</link>
		<comments>http://devana.eu/blog/development/tweaking-the-core/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 12:24:39 +0000</pubDate>
		<dc:creator>devland</dc:creator>
				<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://devana.eu/blog/?p=27</guid>
		<description><![CDATA[It's been a while since the last update. Busy have I been. 1. I've added a database class in the form of a wrapper that makes the whole db thing abstract. Along with the template system this now makes for a simple MVC model. 2. I've moved the game configuration variables from the database to [...]]]></description>
			<content:encoded><![CDATA[<p>It's been a while since the last update. Busy have I been. <img src='http://devana.eu/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>1. I've added a database class in the form of a wrapper that makes the whole db thing abstract. Along with the template system this now makes for a simple MVC model.<br />
<a href="http://devana.eu/blog/wp-content/uploads/2011/01/db.png"><img class="alignnone size-thumbnail wp-image-28" title="db" src="http://devana.eu/blog/wp-content/uploads/2011/01/db-150x150.png" alt="" width="150" height="150" /></a></p>
<p>2. I've moved the game configuration variables from the database to a php file.<br />
It currently isn't finished, since I have to add all the units, buildings in it, but it has a few entries added to illustrate it's functionality.<br />
The labels have also been moved to a php file instead of being stored in the database.<br />
<a href="http://devana.eu/blog/wp-content/uploads/2011/01/game.png"><img class="alignnone size-thumbnail wp-image-29" title="game" src="http://devana.eu/blog/wp-content/uploads/2011/01/game-150x150.png" alt="" width="150" height="150" /></a></p>
<p>3. I've worked on the database structure a bit as well. See the attached zip file for the current structure.</p>
<p>the files so far: <a href="http://devana.eu/blog/wp-content/uploads/2011/01/devana.zip">devana.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devana.eu/blog/development/tweaking-the-core/feed/</wfw:commentRss>
		<slash:comments>2301</slash:comments>
		</item>
		<item>
		<title>the economy</title>
		<link>http://devana.eu/blog/development/the-economy/</link>
		<comments>http://devana.eu/blog/development/the-economy/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 14:26:25 +0000</pubDate>
		<dc:creator>devland</dc:creator>
				<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://devana.eu/blog/?p=25</guid>
		<description><![CDATA[I've finished the database structure for the economical part of the game; that includes module construction, resource management and various costs and requirements. The multilingual system now includes a database side for the game assets localization. All asset names and descriptions will be stored in the labels table. The labels are identified by type (numeric [...]]]></description>
			<content:encoded><![CDATA[<p>I've finished the database structure for the economical part of the game; that includes module construction, resource management and various costs and requirements.</p>
<p>The multilingual system now includes a database side for the game assets localization. All asset names and descriptions will be stored in the labels table.<br />
The labels are identified by type (numeric value that identifies which asset type it represents), id (asset id) and language (language id defined in each language's file in the languages folder).</p>
<p>Each faction has max values for how many nodes and modules (per node) one player can have. The faction type is assigned to each node.</p>
<p>Nodes have a lastCheck value, defined as a datetime type which indicates the last time the game has calculated the resource production values and other queue related calculations like module construction, unit training, ...</p>
<p>Modules are divided into types, based on what function they will have. The main mechanic is that modules require a static resource type, a resource type that cannot be produced, but exists in finite quantity. Think of modules as machines that require energy to produce stuff; where the energy is the static resource type, and the "stuff" is the dynamic resource type. Dynamic resources can be stored.<br />
Each module requires an input (the static resource type), a maxInput value and a ratio. The ratio is an unsigned floating point number that defines the output based on the input using the following formula: output = input*ratio; the output is a "per hour" value.<br />
The game determines the output type based on what entry the "module" column one resource type has.<br />
0 is for static resources, while any other unsigned int designates the id of the module where that resource is to be produced.<br />
Resources also have a max storage value.<br />
The dynamic resources are stored as values in the resource_storage table, per node, and per resource type. And yes, static resources do not have entries there.<br />
Free static resources are determined by the following formula: their maxStorage value minus all input values from all modules that require them as input.<br />
Modules slots are stored in the module_slots table, with an assigned value for the module's required input. These entries are defined per module and per node.</p>
<p>Costs are stored in the costs table. The costs are defined per type (module, item, unit, ...), id (be it moduleId, unitId, ...) and faction. Each entry has a (dynamic) resource type defined and the value of that resource type required.<br />
One can define costs as being comprised of 1 or more cost entries; 1 for each required resource type.<br />
Example: there will b 3 entries in the costs table if the sword item costs 3 lumber, 5 steel and 10 gold.</p>
<p>Requirements are stored in the requirements table. The requirements are defined per type (module, item, unit, ...) and id (be it moduleId, unitId, ...). Each entry has a value associated to it depicting the id of the required type.<br />
One can define requirements as being comprised of 1 or more requirement entries; 1 for each required requirement type.<br />
Example: there will be 2 entries in the requirements table if the barracks module requires the blacksmith and mill modules.</p>
<p>And here's the sql structure: <a href="http://devana.eu/blog/wp-content/uploads/2010/11/economy.zip">economyStructure</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devana.eu/blog/development/the-economy/feed/</wfw:commentRss>
		<slash:comments>1858</slash:comments>
		</item>
		<item>
		<title>grid view</title>
		<link>http://devana.eu/blog/development/grid-view/</link>
		<comments>http://devana.eu/blog/development/grid-view/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 17:05:41 +0000</pubDate>
		<dc:creator>devland</dc:creator>
				<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://devana.eu/blog/?p=18</guid>
		<description><![CDATA[I've finished the grid view. It is based on AJAX, meaning that no page refresh is required to move about the grid. It will need some tweaks once the nodes (towns) come into place. And here are the files: devanaFiles.zip]]></description>
			<content:encoded><![CDATA[<p>I've finished the grid view.<br />
It is based on AJAX, meaning that no page refresh is required to move about the grid.<br />
It will need some tweaks once the nodes (towns) come into place.</p>
<p><a href="http://devana.eu/blog/wp-content/uploads/2010/10/gridView.jpg"><img class="alignnone size-thumbnail wp-image-19" title="gridView" src="http://devana.eu/blog/wp-content/uploads/2010/10/gridView-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>And here are the files: <a href="http://devana.eu/blog/wp-content/uploads/2010/10/devana.zip">devanaFiles.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devana.eu/blog/development/grid-view/feed/</wfw:commentRss>
		<slash:comments>2133</slash:comments>
		</item>
		<item>
		<title>the grid</title>
		<link>http://devana.eu/blog/development/the-grid/</link>
		<comments>http://devana.eu/blog/development/the-grid/#comments</comments>
		<pubDate>Sat, 25 Sep 2010 17:14:40 +0000</pubDate>
		<dc:creator>devland</dc:creator>
				<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://devana.eu/blog/?p=14</guid>
		<description><![CDATA[The grid is the game's map. I didn't name it "map" because the game will eventually allow users to modify it to such a degree that they will be able to create other types of games in which the term "map" may or not be suitable. So I've named it "grid". I've also created the [...]]]></description>
			<content:encoded><![CDATA[<p>The grid is the game's map. I didn't name it "map" because the game will eventually allow users to modify it to such a degree that they will be able to create other types of games in which the term "map" may or not be suitable. So I've named it "grid".</p>
<p>I've also created the install page of the game, where the admin account is created and the grid data is inserted into the database.</p>
<p>The grid data is taken from a png image where each pixel is a grid sector. The color coding is as follows:<br />
<span style="color: #0000ff;">blue</span> [RGB: 0, 0, 255] is the blocked type of sector; [water]<br />
<span style="color: #00ff00;">green</span> [RGB: 0, 255, 0] is the active sector; [available for building towns, or as I call them, "nodes"]</p>
<p><a href="http://devana.eu/blog/wp-content/uploads/2010/09/grid.png"><img class="size-full wp-image-15 alignnone" title="grid" src="http://devana.eu/blog/wp-content/uploads/2010/09/grid.png" alt="" width="50" height="50" /></a></p>
<p>The grid table has the following columns:<br />
<strong>x</strong> is the horizontal grid coordinate; on the image it goes from left to right passing through the 0 and imageWidth-1 values;<br />
<strong>y</strong> is the vertical grid coordinate; on the image it goes from top to bottom passing through the 0 and imageHeight-1 values;</p>
<p><strong>type</strong> is the grid sector type identifier;<br />
-&gt; 0 for the blocked type of sector [blue pixels]<br />
-&gt; 1 for the active sector [green pixels]<br />
-&gt; 2 will be for constructed nodes [towns]</p>
<p><strong>id</strong> is the image tile identifier if the type is not 2; if the type is 2, then the id is the node id from the nodes table.</p>
<p><a href="http://devana.eu/blog/wp-content/uploads/2010/09/devanaGrid.jpg"><img class="alignnone size-thumbnail wp-image-16" title="devanaGrid" src="http://devana.eu/blog/wp-content/uploads/2010/09/devanaGrid-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>And here are the files so far: <a href="http://devana.eu/blog/wp-content/uploads/2010/09/devana1.zip">devanaFiles</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devana.eu/blog/development/the-grid/feed/</wfw:commentRss>
		<slash:comments>1160</slash:comments>
		</item>
		<item>
		<title>tap4</title>
		<link>http://devana.eu/blog/misc/tap4/</link>
		<comments>http://devana.eu/blog/misc/tap4/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 11:28:38 +0000</pubDate>
		<dc:creator>devland</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://devana.eu/blog/?p=13</guid>
		<description><![CDATA[Lots of people said that Devana 1.x.x has messy code and an ugly UI. They were right. So, a while ago, before starting work on Devana 2.0, I created 2 small projects. The first was tap4.net which today became open source. It helped me learn more about HTML, CSS and it also started the template [...]]]></description>
			<content:encoded><![CDATA[<p>Lots of people said that Devana 1.x.x has messy code and an ugly UI. They were right.<br />
So, a while ago, before starting work on Devana 2.0, I created 2 small projects.</p>
<p>The first was <a href="http://tap4.net" target="_blank">tap4.net</a> which today became <a href="https://sourceforge.net/projects/tap4/" target="_blank">open source</a>. It helped me learn more about HTML, CSS and it also started the template system that I'm currently using in Devana 2.0.<br />
The code is a bit messy, but fully functional.</p>
<p>Enjoy! <img src='http://devana.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://devana.eu/blog/misc/tap4/feed/</wfw:commentRss>
		<slash:comments>1385</slash:comments>
		</item>
		<item>
		<title>getting started</title>
		<link>http://devana.eu/blog/development/getting-started/</link>
		<comments>http://devana.eu/blog/development/getting-started/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 11:06:54 +0000</pubDate>
		<dc:creator>devland</dc:creator>
				<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://devana.eu/blog/?p=12</guid>
		<description><![CDATA[As one would do with all web-based projects, the start is very important. This is when you define your core rules that will later on influence the whole project. So spending some time thinking on how these rules should be is beneficial. Now, to clear things, I don't consider myself a programming guru, so some [...]]]></description>
			<content:encoded><![CDATA[<p>As one would do with all web-based projects, the start is very important. This is when you define your core rules that will later on influence the whole project. So spending some time thinking on how these rules should be is beneficial.</p>
<p>Now, to clear things, I don't consider myself a programming guru, so some things you might read here might seem, or frankly be, outrageous; I don't use frameworks, so no jQuery or any of that stuff.</p>
<p>I use a basic template system in which each displayed page is made out of 2 separate php pages: 1 page handles data processing while the other handles the way that data is displayed.<br />
There also is a default.css file for each template that governs over the form of the various html objects. Each object type has it's own CSS class.<br />
A config.php file handles the MySQL database connection. There are a header.php, footer.php which generate the menus and other header/footer stuff.</p>
<p><a href="http://devana.eu/blog/wp-content/uploads/2010/09/devanaTemplateView.jpg"><img class="alignnone size-thumbnail wp-image-4" style="margin-left: 5px; margin-right: 5px;" title="devanaTemplateView" src="http://devana.eu/blog/wp-content/uploads/2010/09/devanaTemplateView-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://devana.eu/blog/wp-content/uploads/2010/09/devanaLogin.jpg"><img class="alignnone size-thumbnail wp-image-5" style="margin-left: 5px; margin-right: 5px;" title="devanaLogin" src="http://devana.eu/blog/wp-content/uploads/2010/09/devanaLogin-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://devana.eu/blog/wp-content/uploads/2010/09/devanaRegister.jpg"><img class="alignnone size-thumbnail wp-image-6" style="margin-left: 5px; margin-right: 5px;" title="devanaRegister" src="http://devana.eu/blog/wp-content/uploads/2010/09/devanaRegister-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>There also is multilingual support. This also is basic. There is a php file for each supported language; that file contains an array of labels. The labels change according to the language, while their identifiers stay the same across all language files.<br />
To show various messages I use a special div, which is displayed only when a php variable ($msg) is not null.</p>
<p><a href="http://devana.eu/blog/wp-content/uploads/2010/09/devanaLang.jpg"><img class="alignnone size-thumbnail wp-image-7" style="margin-left: 5px; margin-right: 5px;" title="devanaLang" src="http://devana.eu/blog/wp-content/uploads/2010/09/devanaLang-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://devana.eu/blog/wp-content/uploads/2010/09/devanaMessage.jpg"><img class="alignnone size-thumbnail wp-image-9" style="margin-left: 5px; margin-right: 5px;" title="devanaMessage" src="http://devana.eu/blog/wp-content/uploads/2010/09/devanaMessage-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>The ids of database entries are also automatically managed, so that no gaps are created when deleting entries. Instead, the ids of deleted entries are stored in a free_ids table so that they will be used the next time entries are added to that table.<br />
Also, I manage concurrent write attempts made to the database via table lock.</p>
<p><a href="http://devana.eu/blog/wp-content/uploads/2010/09/devanaFreeIds.jpg"><img class="alignnone size-thumbnail wp-image-8" title="devanaFreeIds" src="http://devana.eu/blog/wp-content/uploads/2010/09/devanaFreeIds-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>The code is written in an object oriented manner, using an array to store the data from the database. All the classes are stored in core.php. core.js will hold the various JavaScript functions used across the pages.</p>
<p><a href="http://devana.eu/blog/wp-content/uploads/2010/09/devanaCore.jpg"><img class="alignnone size-thumbnail wp-image-10" title="devanaCore" src="http://devana.eu/blog/wp-content/uploads/2010/09/devanaCore-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://devana.eu/blog/wp-content/uploads/2010/09/devana.zip"></a></p>
<p>Here are the files so far. Account registration &amp; login are working. <a href="http://devana.eu/blog/wp-content/uploads/2010/09/devana.zip">devanaFiles</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devana.eu/blog/development/getting-started/feed/</wfw:commentRss>
		<slash:comments>1993</slash:comments>
		</item>
	</channel>
</rss>

