<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3270309692859458374</id><updated>2011-04-22T10:04:03.319+10:00</updated><category term='C#'/><category term='Particle Emitters'/><category term='AI'/><category term='Networking'/><category term='Screenshots'/><category term='Tools'/><category term='SwinGame'/><category term='Shadows'/><category term='Armageddon'/><category term='SwinGame 08 Comp'/><category term='Game.DLL'/><category term='Objects'/><category term='Rift Engine'/><title type='text'>Mitch's Game Development Blog</title><subtitle type='html'>Diving into the world of C# and C++</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-7500256350986702667</id><published>2008-06-13T16:49:00.002+10:00</published><updated>2008-06-13T16:52:50.754+10:00</updated><title type='text'>Baaack</title><content type='html'>Yay, exams are over.&lt;br /&gt;&lt;br /&gt;Anyways, a &lt;span style="font-style: italic;"&gt;small&lt;/span&gt; update. Mainly been doing behind the scenes stuff, but I feel that I can now motor along with the &lt;span style="font-style: italic;"&gt;juice&lt;/span&gt; of the program. I built a little program to "make" me build the networking section of Game.DLL (Now 1.0.0.9!) its getting there, and it's good enough for me to start doing some stuff with it.&lt;br /&gt;&lt;br /&gt;Anyways, particles is coming along nicely. I'll have a playable game (helpfully) by the end of the weeked. Just got to finish building the vector art manager... ^,^&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-7500256350986702667?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/7500256350986702667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=7500256350986702667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/7500256350986702667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/7500256350986702667'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/06/baaack.html' title='Baaack'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-6286757209121033161</id><published>2008-05-26T17:41:00.002+10:00</published><updated>2008-05-26T18:31:26.767+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game.DLL'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Networking : Part 3</title><content type='html'>So... after much deliberation about what I had inplace... I scrapped it. Mainly because the code that I had was rather clumsy and did not do anything in reality. So here's what happens now.&lt;br /&gt;&lt;br /&gt;1. A seperate thread will place the messages into a queue that is generic for the Client and the Server.&lt;br /&gt;&lt;br /&gt;2. A seperate function can then access this and read what it needs, this is where the objects are spit up into their areas.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Any packet that has SYSTEM as the target location are not passes to listeners that are listenig for packets. They are passed to internal functions that can use them (So things like Connects, Disconnects and Server Commands are an example of this)&lt;/li&gt;&lt;li&gt;Classes can place listeners that will listen for packets that have a specific target location (Except for SYSTEM) (So a map manager could register for anything with MAP in it)&lt;/li&gt;&lt;/ul&gt;With this improved system, messages can be directed to where they are needed, and messages can be sent to certain areas of the system to allow for a simpler management of network sessions. By using identifiers that tell the program where to target the messages that it sends, it allows classes that need the data to get it, and to prevent other classes that could be trying to "listen in" from accessing the data. (Once inside the program)&lt;br /&gt;&lt;br /&gt;Also, Game.DLL provides methods for decoding and encoding the data in a certain way, so that clients can read the data on the other side. Other types of data that the client sends need to have their methods for encoding and decoding the data placed into them as so that they can be sent across the network.&lt;br /&gt;&lt;br /&gt;So yeah, nothing much. Mainly rewriting the code, and placing this system in place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-6286757209121033161?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/6286757209121033161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=6286757209121033161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/6286757209121033161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/6286757209121033161'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/05/networking-part-3.html' title='Networking : Part 3'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-5434165459129009201</id><published>2008-05-15T14:08:00.001+10:00</published><updated>2008-05-15T14:18:15.612+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Particle Emitters'/><category scheme='http://www.blogger.com/atom/ns#' term='Game.DLL'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Particle Emitters : Part 3 &amp; Networking : Part 2</title><content type='html'>Okay, part 3...&lt;br /&gt;&lt;br /&gt;Particle emitters are coming along nicely, most of the key features behind it are working. And nearly completed, however. There are still a few little hurdles to overcome.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Networking Particles&lt;/strong&gt;&lt;br /&gt;While in most cases this is never really needed, when you are building a game that uses particles as a resource you &lt;em&gt;kinda&lt;/em&gt; do need to keep them rather accurate across the network. So this needs to be implemented. But I can have thousands of particles spread out across the map, so this gets a bit interesting. My inital solution is to do something like this:&lt;br /&gt;&lt;br /&gt;public struct PixelNet {&lt;br /&gt;&lt;br /&gt;     public bool multi = true;&lt;br /&gt;     public System.Collections.Generic.Dictionary&lt;int,&gt; location;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Or something along these lines, this way, I do not have to send thousands of packets to update all of the particle positions, plus it allows me to send the data in one shot. The clients would have a special class of the pixel emitter going, as so they do not do any of the calculations, all they do is draw that they are told to do... (But that could get interesting).&lt;br /&gt;&lt;br /&gt;Which brings me to my next topic: Networking.&lt;br /&gt;&lt;br /&gt;Networking in the game is getting there (As I said before), and it is nearly at the point where I can say that it is usable. But I am still trying to determine how to keep the framerates in sync. As with each frame I want to make sure that they are updating at the right speed. So I think I will do something like this.&lt;br /&gt;&lt;br /&gt;Each 1000 milliseconds is split into 4 frames (With the server being the &lt;em&gt;clock setter&lt;/em&gt; in a way). And the clients, upon connecting, start to manage their framerate. The network manager will most likely create an event inside the timer manager that will go off every 250 milliseconds, to make it update the frame. But there is always a bit of lag, no matter what you do, so I still need to ensure that there is a little bit of leeway when it come to this. So: I will most likely make it so that it will still accept the frame if it is 2-3 frames later than what the current frame is. But it needs to be able to keep up with it. (It will most likely be running on a seperate thread, feeding the data to an accessable storage list that can be accessed by whatever needs it.)&lt;br /&gt;&lt;br /&gt;I would also need to take into account for the delay that there is when we are encoding and decoding the data. While it should be fast, there is always the chance that there could be alot of data in the queue to process, so I still need to watch out for this. But it should not be much of a problem. I hope!&lt;br /&gt;&lt;br /&gt;Anyways, networking and particles are my biggy for this week. Along with finishing off my Vector Art manager.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-5434165459129009201?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/5434165459129009201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=5434165459129009201' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/5434165459129009201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/5434165459129009201'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/05/particle-emitters-part-3-networking.html' title='Particle Emitters : Part 3 &amp; Networking : Part 2'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-5969739026897432430</id><published>2008-05-14T21:56:00.002+10:00</published><updated>2008-05-14T22:01:14.805+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Game.DLL'/><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame 08 Comp'/><title type='text'>Tool's, Tool's and more Tool's!</title><content type='html'>So, I've been busily working away at my solutions for the SwinGame 08 comp, and I &lt;span style="font-style: italic;"&gt;may&lt;/span&gt; have been sidetracked just a little bit with my Particles game, but it helps me in a way. Since I am writing Particles, I am building my API (Which provides abstraction to SwinGame and a few other modules) so that when I come to write the meat of the code for my solutions, I will actually be ready for that.&lt;br /&gt;&lt;br /&gt;Since I am working in 2 different groups who have 2 completely different game types, I need to ensure that they way that I code my API is working, and that I can resuse the code between both of them. This also means that I can build tools that work for both of them, like my Resource Pack Manager.&lt;br /&gt;&lt;br /&gt;But I'm getting to the point where there are more tools than there are for samples, but that's good in a way, as this shows that my code is somewhat progressing since I first started this little project. (And when I say little, think big)&lt;br /&gt;&lt;br /&gt;Right now, I am working on a vector art creator, as I want to be able to create vector art &lt;span style="font-weight: bold;"&gt;without&lt;/span&gt; having to code it. So this is my latest little project. :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-5969739026897432430?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/5969739026897432430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=5969739026897432430' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/5969739026897432430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/5969739026897432430'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/05/tools-tools-and-more-tools.html' title='Tool&apos;s, Tool&apos;s and more Tool&apos;s!'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-8695732834204021479</id><published>2008-05-09T20:57:00.003+10:00</published><updated>2008-05-15T14:07:48.127+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game.DLL'/><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame'/><title type='text'>Core Management : Part 1</title><content type='html'>Okay, while this is not a real issue with the games, they do provide critical services to the classes and functions that are used for the game.&lt;br /&gt;&lt;br /&gt;So let's talk about each of them and what they do.&lt;br /&gt;&lt;br /&gt;There is an &lt;span style="FONT-WEIGHT: bold"&gt;accessibility manager&lt;/span&gt;, which has the job of managing accessability for the games, while the game does not have &lt;span style="FONT-STYLE: italic"&gt;direct&lt;/span&gt; access to this (Since the resource manager acts on &lt;span style="FONT-STYLE: italic"&gt;their behalf&lt;/span&gt;), it allows me to make text and fonts bigger, and provide some more special features. (More about them later!)&lt;br /&gt;&lt;br /&gt;The &lt;span style="FONT-WEIGHT: bold"&gt;cameraManager&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, as the name suggests allows me to manage cameras that can be all over the place, and I can jump around from one camera to another. So its good.&lt;br /&gt;&lt;br /&gt;The &lt;span style="FONT-WEIGHT: bold"&gt;console&lt;/span&gt; is a way in which I can 'tinker' with the game world, I will most likely program the console to work in 2 states, debugging and release modes. Where release does not have &lt;span style="FONT-WEIGHT: bold"&gt;diretct&lt;/span&gt; access to objects in the game world. But yeah, a console!&lt;br /&gt;&lt;br /&gt;There are 2 main event callback systems in place at the moment, and they are the &lt;span style="FONT-WEIGHT: bold"&gt;event&lt;/span&gt; and &lt;span style="FONT-WEIGHT: bold"&gt;guiEvent&lt;/span&gt; managers. Basically they provide methods for me to preform callback events to objects that have requested them each frame cycle, allowing me to dynamically add objects without having to add them manually (Which would be very hard!)&lt;br /&gt;&lt;br /&gt;But thats all for now, there are alot more... but they are coming!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-8695732834204021479?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/8695732834204021479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=8695732834204021479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/8695732834204021479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/8695732834204021479'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/05/core-management-part-1.html' title='Core Management : Part 1'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-8458888765994164002</id><published>2008-05-06T20:20:00.002+10:00</published><updated>2008-05-06T21:25:49.198+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame 08 Comp'/><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame'/><category scheme='http://www.blogger.com/atom/ns#' term='Objects'/><title type='text'>Objects : Part 1</title><content type='html'>Its probabaly about time that I started to talk about this concept with my games, as they are basically the &lt;span style="font-weight: bold;"&gt;backbone&lt;/span&gt; of the entire game. (With some exception)&lt;br /&gt;&lt;br /&gt;Basically, all game objects are derived from the Object class (Not the System.Object, it's one that I built) But it provides root functionality, from things like net events all the way up to rotation management. Its &lt;span style="font-style: italic;"&gt;it&lt;/span&gt;. Since all objects rely on it, I can easily program maps and networks to work based on this model, and over the network a &lt;span style="font-weight: bold;"&gt;decoder and encoder&lt;/span&gt; are used to get the message into the correct form on both sides.&lt;br /&gt;&lt;br /&gt;I'll put this into an example for you.&lt;br /&gt;&lt;br /&gt;I have an object class called &lt;span style="font-style: italic;"&gt;Player&lt;/span&gt;, which as the name suggests, provides a means for having a character on the game world. It manages events like collisions with the player and allows the player/ai/netplayer to manage it through its input devices. It disables keys that it needs to prevent other objects from using those keys, and it uses the base &lt;span style="font-weight: bold;"&gt;object&lt;/span&gt; system to manage the animations and rotations. The player is holding onto 2 &lt;span style="font-style: italic;"&gt;weapons&lt;/span&gt; which provide functionality to the shooting side of the game, these bind to another set of keys and disable those keys so that only they are using them. Weapons have &lt;span style="font-style: italic;"&gt;ammo&lt;/span&gt; which doesn't really do much, but its there. Technically it does not rely on the object class, but it is in the heirachy of things.&lt;br /&gt;So heres the chain:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Object&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Player&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;Weapon&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;Ammo&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;It gets quite complex after a while, but thats how it will work in the end.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-8458888765994164002?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/8458888765994164002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=8458888765994164002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/8458888765994164002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/8458888765994164002'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/05/objects-part-1.html' title='Objects : Part 1'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-8486348859684123477</id><published>2008-05-05T18:47:00.002+10:00</published><updated>2008-05-05T19:12:55.375+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Particle Emitters'/><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame 08 Comp'/><title type='text'>Particle Emitters : Part 1 &amp; 2</title><content type='html'>Okay, so I have done a fair bit of work on this, so I will say that this is 2 posts worth of data for this topic, so here it goes!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Particle Emitters : Part 1&lt;/span&gt;&lt;br /&gt;This area is a critical area of my programming, as this allows me to create "special effects" like things like explosions, fog, auroras and stuff like that. So I started with creating just the particle emitter that spits out particles in random directions, which was fine. It doesn't really require much code for it to work, so it was easy. But then I needed to move onto things that allowed me to effect the path of the particles and change their course (Things like wind for example). So this required a fair bit more coding over top of what already existed to allow me to effect them. (I already had the framework in place, I just needed to add the code that did that for me) So after about 2 hours of tinkering on this I eventually got something that &lt;span style="font-weight: bold;"&gt;worked&lt;/span&gt; (The solution was to rewrite the algorithm that calculated the effectors realtive power with respect to the particles position)&lt;span style="font-style: italic;"&gt; (#1)&lt;/span&gt;. But the end result was worth it, and while it is still rather &lt;span style="font-style: italic;"&gt;strict&lt;/span&gt; with its control over the particles, it does actually work (Which is the main thing)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Particle Emitters : Part 2&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;So now we move into the area of asthetics of the particles, while they were just fine as dots for testing (And still are fine as that), it is probabaly a good idea that I add the option that allows &lt;span style="font-weight: bold;"&gt;pixel particles&lt;/span&gt; to have a "glowing" effect, so that they look nicer, and people with faster PC's can get this little asthetical feature out of it. There are a few problems that arise from this, and they require solutions that provide reasonable speed and accuracy. So lets start by talking about them.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Drawing a glow effect around an existing particle directly to the screen does not work, as the particle is in &lt;span style="font-weight: bold;"&gt;float&lt;/span&gt; form, and when the particle moves onto a .34334 number for example, the surrounding pixels are not drawn correctly and a gap is visible. So my initial solution to this problem is to make it so that the entire pixels data is built into a table that can be accessed by other particles to fetch a pixel that has already had its color built and stored, so it will make drawing faster (Provided that the image has already been built)&lt;/li&gt;&lt;/ol&gt;But yeah, that's all for now. Next, I'll talk about making particles the same across networks and finish this section off.&lt;br /&gt;#1 - SwinGame Topic Regarding Emitters (&lt;a href="http://swingame.com/swinforum/viewtopic.php?f=8&amp;amp;t=45&amp;amp;p=210#p210"&gt;Link&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-8486348859684123477?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/8486348859684123477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=8486348859684123477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/8486348859684123477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/8486348859684123477'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/05/particle-emitters-part-1-2.html' title='Particle Emitters : Part 1 &amp; 2'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-4479556109524425898</id><published>2008-05-01T14:01:00.003+10:00</published><updated>2008-05-01T14:20:06.077+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame'/><category scheme='http://www.blogger.com/atom/ns#' term='Armageddon'/><title type='text'>Armageddon - The Basics</title><content type='html'>Okay, so I have started to work on my races concepts and pictures. While they will end up at the main site eventually, I thought that I might give a quick rundown of what I expect to get from this.&lt;br /&gt;&lt;br /&gt;Firstly, the game will most likely be designed so that your team has a leader and the leader is responsible for managing your team. While you do not have to stick with this role, it allows teams to be better coordinated against the enemy, and to build plans for attacking.&lt;br /&gt;&lt;br /&gt;The map itself can provide challenges for the players and certain types of items and veichles will work in certain environments. Ie. A gas leak prevents you from using things like flamethrowers and plasma guns, so you are required to use other weapons if you want to stay alive. But if the enemy is surrounded by the gas, it provides you with the upper hand (So to speak).&lt;br /&gt;&lt;br /&gt;There will be veichles, and depending on the map they can play an important role in the round you are playing. The size of each veichle varies and their abilities varies as well. Each veichle has its abilities and downfalls, but they provide a challenge to teams. Not sure about flying veichles though, as the game is a top down shooter, but could make maps where veichles can fly over certain terrain types...&lt;br /&gt;&lt;br /&gt;Multiplayer will be fully functional, with the game supporting LAN games fully. Internet games may be a possibility, but it would most likely be through the form of Direct IP addresses...&lt;br /&gt;&lt;br /&gt;The game will also sport a "Quick-Play" button, to allow you to jump into the game straight away.&lt;br /&gt;&lt;br /&gt;The campaign will provide challenges for the player as well, with the campaign having (In my case) a "action - reaction" type scenario. Providing actions from their actions.&lt;br /&gt;&lt;br /&gt;And, of course, there will be a tutorial.&lt;br /&gt;&lt;br /&gt;But yeah, theres a bit about the game.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-4479556109524425898?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/4479556109524425898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=4479556109524425898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/4479556109524425898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/4479556109524425898'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/05/armageddon-basics.html' title='Armageddon - The Basics'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-838530290519779458</id><published>2008-04-28T17:16:00.003+10:00</published><updated>2008-04-28T17:22:37.744+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame 08 Comp'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Networking : Part 1</title><content type='html'>So to start me multiplayer side of the game, I have gone with using an API (Of Sorts) and creating a network game, which has introduced a few interesting design considerations. But the most important of them all was this:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;How do I get the data back into the appropriate form on the other side?&lt;/blockquote&gt;&lt;br /&gt;So, I've been thinking about this for a while, and the solution to this problem I think is to write functions that "decode" the data on behalf of the reciever and give the client the data needed. While this works in concept, using this in practise provides interesting things...&lt;br /&gt;&lt;br /&gt;But since it requires a decode method, it requires an encoding method to put the data in the correct form for decoding. No biggy. But the program also sends data relating to things such as the packet type and its intended destionation... but simple when compared to the rest of it.&lt;br /&gt;&lt;br /&gt;Transferring files with this API is realtively simple, so sending clients data that they don't have is easy enough!&lt;br /&gt;&lt;br /&gt;Coming Up Next: Armageddon - Basics...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-838530290519779458?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/838530290519779458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=838530290519779458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/838530290519779458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/838530290519779458'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/04/networking-part-1.html' title='Networking : Part 1'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-2653996073311694075</id><published>2008-04-15T17:04:00.000+10:00</published><updated>2008-04-15T17:13:07.725+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Shadows'/><title type='text'>Shadows : Part 1</title><content type='html'>As I said in a previous post, drawing the shadows was going to be a real challenge, as there are so many angles and variables that come into it now. But never fear! The solution is always possible! It just involves alot of thinking and time.&lt;br /&gt;&lt;br /&gt;Firstly, we know 2 points. The light source and the point at which there is a change in the terrain. So we start with that. These are in Vector3 format (x, y, z) so we don't lose the height of them. But this could be at any old angle, and we still need to get the tile that the light collides with, so there are a few considerations there as well. But basically it all boils down to some simple math.&lt;br /&gt;&lt;br /&gt;Basically, all this comes down to a simple triangle and calculating the gradient. But that is just for getting the height. We also have to remember the terrain height as well, and we need to fetch this as we go. (To make the program a bit quicker in doing this, I do rather quick checks first until the height is &lt;span style="font-style: italic;"&gt;below&lt;/span&gt; the terrain at that tile (Using the aggregate height of that tile).&lt;br /&gt;&lt;br /&gt;After this, we finetune that number and get the &lt;span style="font-weight: bold;"&gt;exact&lt;/span&gt; (Or close, depending on the level of detail) position of where it is zero. And then return that Vector3 to the game to build the shadow.&lt;br /&gt;&lt;br /&gt;It's all really fussy stuff doing this :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-2653996073311694075?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/2653996073311694075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=2653996073311694075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/2653996073311694075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/2653996073311694075'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/04/shadows-part-1.html' title='Shadows : Part 1'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-8672812062595758177</id><published>2008-04-13T16:51:00.000+10:00</published><updated>2008-04-13T16:57:16.111+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rift Engine'/><title type='text'>Rift Engine</title><content type='html'>This is something that has been in development for some time now... (About 6 months, been slow developing... I have other things as well!)&lt;br /&gt;&lt;br /&gt;The reason behind the engines development was that I have always wanted to build my own game. (For about 5 years now) So I've had this idea just sitting around, getting more complex and complex. Until I finally decided to start building it. It firstly started off as a PHP game, but it's on the side now. I then decided to create the game as a fully fledged FPS game. The game is getting there slowly, as I have other things to do as well. But yeah, that's all for now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-8672812062595758177?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/8672812062595758177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=8672812062595758177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/8672812062595758177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/8672812062595758177'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/04/rift-engine.html' title='Rift Engine'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-5350960757834233869</id><published>2008-04-13T15:10:00.000+10:00</published><updated>2008-04-13T15:20:23.887+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AI'/><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame 08 Comp'/><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame'/><title type='text'>AI : Part 1</title><content type='html'>A good AI in a game can make the experience seem more real and exciting, but the shortfall is that most AI's in a game follow a set path. (Also known as waypoints) They randomly pick a path to choose and sometimes do the same thing over and over again. Which just makes the experience rather annoying. In my game, I have several ways of programming the AI.&lt;br /&gt;&lt;br /&gt;1. Waypoint on the go.&lt;br /&gt;&lt;br /&gt;Since the game is tile based, it is possible to program the AI's to make random choices, depending on the height of the surrounding tiles. They also need one small bit of information with them though, they need to know &lt;strong&gt;where&lt;/strong&gt; to go. To make this happen I'll add objectives that the AI will go to, this way they can take whatever path they want and act &lt;em&gt;semi-realistacly&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;2. Objectives, key zones.&lt;br /&gt;&lt;br /&gt;This idea would allow the AI's to take whatever path they want, but they loosely go to key zones and objectives. The AI would also have a bit of common sense in the fact that they would know when to do something. Ie. The AI gets low on health and needs to get health. It has a memory of all the locations where it &lt;em&gt;thinks&lt;/em&gt; there is health. It will make a decision (Based on things like friendlies in the area and stuff) and &lt;em&gt;maybe&lt;/em&gt; execute it. This applies for everything in the game. such as pickups and objectives. They would also respond to player commands, but they take into account the fact that if they are busy they wont. (Something that makes it seem a bit more real)&lt;br /&gt;&lt;br /&gt;Programming the AI's to act &lt;em&gt;humanly&lt;/em&gt; means that they don't swivel around the instant that you see them. They will be programmed to act normally and do what they were going to do. &lt;em&gt;If &lt;/em&gt;they just happen to turn around when you are there, you probabaly made too much noise. (Or they really turned around by themselves)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-5350960757834233869?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/5350960757834233869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=5350960757834233869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/5350960757834233869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/5350960757834233869'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/04/ai-part-1.html' title='AI : Part 1'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-4016282384133093581</id><published>2008-04-13T10:41:00.000+10:00</published><updated>2008-04-13T10:54:16.132+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame 08 Comp'/><category scheme='http://www.blogger.com/atom/ns#' term='Shadows'/><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame'/><title type='text'>Map: Complex Stuff!</title><content type='html'>When I started this editor, I had set out a small guideline into what I wanted to get out of it. And even before I started making the game I knew that there had to be one crucial little element that was there, shadows.&lt;br /&gt;&lt;br /&gt;While drawing the shadows into the map image is relatively straightforward, it does not allow for different times of day, so it limits the potential of shadowing a bit, plus players would not recieve a dit of darkness when the shadow was drawn onto the map. So I decided to do it myself.&lt;br /&gt;&lt;br /&gt;The task of creating a shadow map is quite complex, so they must be done at the loading stage (Or, if possible, saved into a cache for later use). Initial tests of getting the map to draw the shadow has brought up some very interesting problems wiht it, which sound wasy to do. But in reality the programming behind it is challenging.&lt;br /&gt;&lt;br /&gt;Since shadows need a light source, the editor allows the map maker to insert lights and define their height and power (3 Dimensional, Z-Axis is the height). Since the map &lt;span style="font-weight: bold;"&gt;does not&lt;/span&gt; do this in realtime, it is built at the start of the game. (Older games do this, ie. Tribes 2 builds lighting at the start of the game, and then caches it for later use) When the editor recieves the command to build the shadow map, it goes through each light and draws the shadows coming from them. But, you may ask: &lt;span style="font-style: italic;"&gt;The terrain is flat, where do the shadows come from?&lt;/span&gt;&lt;br /&gt;This is not entierly true, the map can have &lt;span style="font-style: italic;"&gt;varying&lt;/span&gt; heights to it, which adds many possibilities to the game. (Look at the post that came before this one, the picutre gives it away a bit) The light works away from its current position, ie. It works in a circle around itself, calculating the shadows for each tile, if there is a shadow. When it comes to draw the shadow, it just determines the distance the shadow will go, and the intensity of the shadow. The level of detail is changable, to allow for "slower" PC's to build quick (But somewhat detailed) shadows.&lt;br /&gt;&lt;br /&gt;Other shadows, such as that of the player. Are generated from a side-on image of the character. These are usually pre-generated, but can be built at load time.&lt;br /&gt;&lt;br /&gt;So, to sum it up. Shadows are going to play an important role in this game!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-4016282384133093581?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/4016282384133093581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=4016282384133093581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/4016282384133093581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/4016282384133093581'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/04/map-complex-stuff.html' title='Map: Complex Stuff!'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-3440989566446530030</id><published>2008-04-12T12:19:00.000+10:00</published><updated>2008-04-12T12:21:35.431+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame 08 Comp'/><category scheme='http://www.blogger.com/atom/ns#' term='Screenshots'/><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame'/><title type='text'>Update: Editor</title><content type='html'>&lt;a target="_blank" href="http://img201.imageshack.us/my.php?image=editorupdate2hm6.png"&gt;&lt;img src="http://img201.imageshack.us/img201/7719/editorupdate2hm6.th.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's an update of how the editor looks... it's slowly getting there... some of those fields should make some sense now.&lt;br /&gt;&lt;br /&gt;Programming this bit is realtively easy, but doing the next thing will prove to be hard.&lt;br /&gt;&lt;br /&gt;Never mind, it's all part of the challenge :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-3440989566446530030?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/3440989566446530030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=3440989566446530030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/3440989566446530030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/3440989566446530030'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/04/update-editor.html' title='Update: Editor'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3270309692859458374.post-4832577847768977457</id><published>2008-04-12T09:57:00.000+10:00</published><updated>2008-04-12T10:03:24.431+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame 08 Comp'/><category scheme='http://www.blogger.com/atom/ns#' term='SwinGame'/><title type='text'>Okay... First Post!</title><content type='html'>Basically I'll ramble on about stuff that I am doing in my endeavours to build games. This will cover things like general considerations into the design, programming ideas, screenshots and useful things that I have found. You'll also find my updates on my SwinGame 08 Comp stuff here as well.&lt;br /&gt;&lt;br /&gt;I'll start with an update on it.&lt;br /&gt;&lt;br /&gt;I've been making some progress, but mainly at the moment I have been working on the editor that builds the maps. (Well, I can't play without some maps!) And other things, but mostly it's just been developing that at the moment. Creating buttons, GUI's, and all of that... given that C# is practically the same as C++ (With some differences to programming features), it won't take long for me to get this going well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3270309692859458374-4832577847768977457?l=mitch-gamedev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mitch-gamedev.blogspot.com/feeds/4832577847768977457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3270309692859458374&amp;postID=4832577847768977457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/4832577847768977457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3270309692859458374/posts/default/4832577847768977457'/><link rel='alternate' type='text/html' href='http://mitch-gamedev.blogspot.com/2008/04/okay-first-post.html' title='Okay... First Post!'/><author><name>Mitch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
