<?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-5504649</id><updated>2012-01-25T12:53:54.310Z</updated><category term='file formats'/><category term='makefiles'/><category term='rpgs'/><category term='reflection'/><category term='tao'/><category term='news'/><category term='Einfall'/><category term='programming'/><category term='gamedvelopment'/><category term='64bit'/><category term='games programming'/><category term='IDE'/><category term='cxxtest'/><category term='XNA'/><category term='nanowrimo'/><category term='C++'/><category term='C#'/><category term='pointers'/><category term='rotation'/><category term='csharp_book'/><category term='frames'/><category term='sound'/><category term='opensource'/><category term='matrix'/><category term='adventure games'/><category term='Lua'/><category term='article'/><category term='C++ C# picture'/><category term='bonus'/><category term='DirectX'/><category term='learning'/><category term='vista'/><category term='university'/><category term='OpenGL'/><title type='text'>Godpatterns</title><subtitle type='html'>About Game Development with particular focus on C#, Lua and procedural content generation.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.godpatterns.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default?start-index=101&amp;max-results=100'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>384</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5504649.post-1995600151151778727</id><published>2011-11-23T15:12:00.001Z</published><updated>2011-11-25T10:29:58.337Z</updated><title type='text'>Return if</title><summary type='text'>I'd quite like a return-if construction in lua, or at least I'd like to experiment with one.


It would have the form of something like

&lt;return if&gt;  :=  &lt;opt-whitespace&gt; &lt;if&gt; &lt;opt-whitespace&gt; &lt;function&gt;


Then you could do things like


function someFunction()
    local everyThingHasGoneWrong()
    end

    // code
    return if everythingHasGoneWrong()
    // more code
    return if </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/1995600151151778727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=1995600151151778727' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1995600151151778727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1995600151151778727'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2011/11/return-if.html' title='Return if'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-8352068851790427938</id><published>2011-09-16T23:15:00.000Z</published><updated>2011-09-16T23:18:47.502Z</updated><title type='text'>Asynchronous non blocking curl multi example in C++</title><summary type='text'>The curl documentation makes me want to cry.

The library seems nice enough and if you want to do some blocking synchronous http requests (and print them out to the standard out) then it's extremely straight forward.

But who wants to do blocking requests? There are very few programs that can get away with locking entirely until a http request is done.

Also one my internet pet-peeves, when </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/8352068851790427938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=8352068851790427938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/8352068851790427938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/8352068851790427938'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2011/09/asynchronous-non-blocking-curl-multi.html' title='Asynchronous non blocking curl multi example in C++'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-1504193001362911231</id><published>2011-09-15T15:04:00.000Z</published><updated>2011-09-15T15:20:34.313Z</updated><title type='text'>SOIL Great little image loading library</title><summary type='text'>After messing around with dds textures for far too long I found SOIL. Simple OpenGL image loading library, and it is.

	int channels = 0;
	unsigned char* image = SOIL_load_image
	(
		filename,
		&amp;width, &amp;height, &amp;channels,
		SOIL_LOAD_AUTO
	);

	if(image == NULL)
	{
		isLoaded = false;
		return;
	}

	GLuint tex_2d =SOIL_create_OGL_texture
	(
		image,
		width, height, channels,
	 	</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/1504193001362911231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=1504193001362911231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1504193001362911231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1504193001362911231'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2011/09/soil-great-little-image-loading-library.html' title='SOIL Great little image loading library'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-3814593120983905742</id><published>2011-09-09T16:10:00.000Z</published><updated>2011-09-09T16:10:34.238Z</updated><title type='text'>Lua and C++ Binding</title><summary type='text'>I've been playing around with Lua lately. When lua code is executed it runs on a lua state (a c struct called lua_State). The lua state contains all the information lua needs - the variables, functions etc. All that is stored in the lua state. You can have several lua states if you want to nicely separate some functionality. Multithreaded programs will generally have a lua state per thread.

I'm </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/3814593120983905742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=3814593120983905742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/3814593120983905742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/3814593120983905742'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2011/09/lua-and-c-binding.html' title='Lua and C++ Binding'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-695819409547696895</id><published>2011-06-18T12:55:00.001Z</published><updated>2011-06-18T12:59:24.258Z</updated><title type='text'>Oh python</title><summary type='text'>print {True: "hello", 1: "good bye"}

This does not print what I'd expect.

{True: goodbye}

True isn't a special case? It's just a typedef to 1. &gt;_&lt; How do Json importers handle this type of thing?

Edit: Apparently Json doesn't have number keys. Unfortunately this doesn't really fix my problem.</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/695819409547696895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=695819409547696895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/695819409547696895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/695819409547696895'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2011/06/oh-python.html' title='Oh python'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-4044612538326510210</id><published>2011-05-19T11:45:00.000Z</published><updated>2011-05-19T11:45:12.052Z</updated><title type='text'>Excel Wrapper Dot Net</title><summary type='text'>I hate working with Excel files, especially in C#. This wrapper makes things a little easier.
http://excelwrapperdotnet.codeplex.com/

But if you want to save as an xlsx rather than an xlxm then you'll get this error

"This extension can not be used with the selected file type. Change the file extension in the File name text box or select a different file type by changing the Save as type."

This</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/4044612538326510210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=4044612538326510210' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4044612538326510210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4044612538326510210'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2011/05/excel-wrapper-dot-net.html' title='Excel Wrapper Dot Net'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-2065919689940087146</id><published>2010-12-13T08:33:00.000Z</published><updated>2010-12-13T08:33:18.926Z</updated><title type='text'>Minecraft Coding</title><summary type='text'>http://codeflow.org/entries/2010/dec/09/minecraft-like-rendering-experiments-in-opengl-4/

This is pretty interesting read about doing something that looks like minecraft using shaders.</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/2065919689940087146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=2065919689940087146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2065919689940087146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2065919689940087146'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/12/minecraft-coding.html' title='Minecraft Coding'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-6681903574789686368</id><published>2010-09-29T09:56:00.000Z</published><updated>2010-09-29T09:56:43.436Z</updated><title type='text'>Computers</title><summary type='text'>My development computer's harddrive died - it's back now but I've lost a little code and it's taken far to long to get working again.


This is good pdf about OOP and why it's not necessarily the best model for modern architecture.</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/6681903574789686368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=6681903574789686368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6681903574789686368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6681903574789686368'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/09/computers.html' title='Computers'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-1939239545701332301</id><published>2010-08-23T18:27:00.000Z</published><updated>2010-08-23T18:27:17.484Z</updated><title type='text'>Plans</title><summary type='text'>I think I've finished messing with adventure games for now. I've added a link to the article in the sidebar and it's something I do plan to return to, the hardest part is done - walking around a scene, adding an inventory and interactions is relatively simple.

One item of point and click adventure games that does keep popping up in my mind is creating a design tool that brings up a matrix of all</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/1939239545701332301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=1939239545701332301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1939239545701332301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1939239545701332301'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/08/plans.html' title='Plans'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-8672004481686616418</id><published>2010-08-12T18:16:00.030Z</published><updated>2010-08-12T23:51:51.329Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='adventure games'/><category scheme='http://www.blogger.com/atom/ns#' term='rpgs'/><category scheme='http://www.blogger.com/atom/ns#' term='games programming'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='article'/><title type='text'>How to make an Adventure Game</title><summary type='text'>
This article will cover what goes into the programming of an adventure game. The ideas will mostly be implementation agnostic but where code is provided or implementation specifics are discussed they use the Engine project from my book C# Game Programming as a base. All the code is available online under the MIT license. The ideas covered here are widely applicable, navigation meshes very much </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/8672004481686616418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=8672004481686616418' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/8672004481686616418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/8672004481686616418'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/08/how-to-make-adventure-game.html' title='How to make an Adventure Game'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bFA1uM1t7xI/TGPWKavS1WI/AAAAAAAAAW8/bGcymDF-xvk/s72-c/adventure_game_header.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-6321300363788187057</id><published>2010-08-11T15:23:00.004Z</published><updated>2010-08-11T19:10:38.586Z</updated><title type='text'>Little Man</title><summary type='text'>I added a little man that can walk around the nav mesh.

The man comes from kafkaskoffee as a template to build characters from. I changed it to png with alpha and removed the borders.

In walk test mode you can click an area and the little man will walk to that position. This will work with any nav mesh not just the small box above.

One issue I've notice is that sometimes that man doesn't walk </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/6321300363788187057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=6321300363788187057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6321300363788187057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6321300363788187057'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/08/little-man.html' title='Little Man'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bFA1uM1t7xI/TGK_jmRo5II/AAAAAAAAAWk/6GUvbR02kmQ/s72-c/walkTest.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-5175954459129988625</id><published>2010-08-09T19:11:00.001Z</published><updated>2010-08-09T19:16:47.341Z</updated><title type='text'>Trundle</title><summary type='text'>The second image has had a bit of post processing added; the white doesn't really have a border or a drop shadow. The code now lets users test out paths, so it's getting closer to the idea of a simple walk around adventure game.


 Of course path smoothing can be added by using a spline to connect the nodes, more nodes could be added to each edge (or even the Funnel algorithm which I eventually </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/5175954459129988625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=5175954459129988625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/5175954459129988625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/5175954459129988625'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/08/trundle.html' title='Trundle'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bFA1uM1t7xI/TGBRBpPo_xI/AAAAAAAAAWU/4D_DDDK_bog/s72-c/navMeshedUp.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-1020731695225339549</id><published>2010-08-08T08:50:00.001Z</published><updated>2010-08-08T09:15:26.062Z</updated><title type='text'>Amazing Teapot</title><summary type='text'>
For my current project I'm playing around with the basic code needed to make an adventure game. A game genre that's fallen by the way side a little. In the most recent commit (code available here using the simple Engine code explained in my book) I've added loading and saving of the navmesh and layers. Layers are, for now at least, just going to be sprites a little like Photoshop's layers.

The </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/1020731695225339549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=1020731695225339549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1020731695225339549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1020731695225339549'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/08/amazing-teapot.html' title='Amazing Teapot'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bFA1uM1t7xI/TF5r79znkmI/AAAAAAAAAVs/2z59t3mkzQE/s72-c/SaveLoadNavMesh.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-2714567845471815857</id><published>2010-08-05T09:43:00.000Z</published><updated>2010-08-05T09:43:05.586Z</updated><title type='text'>An Editor</title><summary type='text'>Two weeks ago I decided I was going to just play around with the start of making an adventure game. There have a been a few detours but I'm going to stick with it until I have something very simple complete - perhaps a character that can walk around a scene and a simple hidden key / door puzzle.

Most recently I was writing the code to allow the character to navigate the scenes and I've now </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/2714567845471815857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=2714567845471815857' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2714567845471815857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2714567845471815857'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/08/editor.html' title='An Editor'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_bFA1uM1t7xI/TFqHINAd15I/AAAAAAAAAVk/4f2PJIJBxDI/s72-c/walkareaeditor.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-8795945489462216602</id><published>2010-07-25T12:52:00.000Z</published><updated>2010-07-25T12:52:54.691Z</updated><title type='text'>PathFinding Mark 1</title><summary type='text'>Pathfinding now works. The above shows a collection of convex polygons with their joined edges connected. Click once inside the polys to start the path and again to end it and a line will be drawn respecting the polygon bounds. The funnel algorithm could still be implemented on top of this to make the path more optimal (but it would probably hug the edges more and look a little unnatural for an </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/8795945489462216602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=8795945489462216602' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/8795945489462216602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/8795945489462216602'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/07/pathfinding-mark-1.html' title='PathFinding Mark 1'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bFA1uM1t7xI/TEwwlTlvAnI/AAAAAAAAAVc/d897qCujiRI/s72-c/pathFinding.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-2530970654692782454</id><published>2010-07-24T14:00:00.000Z</published><updated>2010-07-24T14:00:03.620Z</updated><title type='text'>Lines</title><summary type='text'>I played around with my nav mesh trying to get the funnel algorithm working. I had it working in most cases but now and again the part that works out if the next funnel is contained in the current one got confused and while the funnel algorithm was cool it was not getting me much closer to have a walkable-area system for an adventure game.

Thus I started a new game state. It allows the player to</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/2530970654692782454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=2530970654692782454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2530970654692782454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2530970654692782454'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/07/lines.html' title='Lines'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bFA1uM1t7xI/TErvi8_MWJI/AAAAAAAAAVM/00GFA7OPx6E/s72-c/paths.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-8054528055456013673</id><published>2010-07-18T14:33:00.001Z</published><updated>2010-07-18T15:51:44.563Z</updated><title type='text'>Dungeons</title><summary type='text'>I've stuck A* path finding on the top of my, I guess, nav mesh thing now. It let's you make a nice big convex polygon, triangulates it and finds all the triangles centroids. Then you the user can choose two centroids and A* is used to plot a path. 

I started doing this thinking a little about adventure games but this nav-mesh type code is quite general and could probably be used for all sorts of</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/8054528055456013673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=8054528055456013673' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/8054528055456013673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/8054528055456013673'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/07/dungeons.html' title='Dungeons'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bFA1uM1t7xI/TEMOlDaJm2I/AAAAAAAAAU8/_k56HRwpWzs/s72-c/polygonTool_3.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-2932342074071814042</id><published>2010-07-17T15:33:00.000Z</published><updated>2010-07-17T15:33:04.506Z</updated><title type='text'>Pink is as a debug color is the one true way</title><summary type='text'>I've been playing around with the poly-tool thing I made last weekend. This time I've given each triangle a node and then linked adjacent nodes. Which forms a very pretty graph. This type of graph can be used as the basis of a path finding system, which seems to be where this is heading.

My method of finding adjacent nodes is inefficient and possibly a little bit wtf but it works and it's a </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/2932342074071814042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=2932342074071814042' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2932342074071814042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2932342074071814042'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/07/pink-is-as-debug-color-is-one-true-way.html' title='Pink is as a debug color is the one true way'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bFA1uM1t7xI/TEHJj2MYZEI/AAAAAAAAAU0/FObKQZzxKFY/s72-c/polygonTool_2.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-6103059201828017271</id><published>2010-07-15T10:00:00.000Z</published><updated>2010-07-15T10:00:09.027Z</updated><title type='text'>Torchlight</title><summary type='text'> I was reading this article about the making of Torchlight and was suprised to see they used the Ogre 3D engine.

“We ended up using the Ogre 3D engine, which is open source,” says  Baldree. “It doesn’t really cost anything, and it’s got really great  support for older hardware. And given the size of the development team  we didn’t want to spend a ton of time developing the latest pixel shader  </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/6103059201828017271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=6103059201828017271' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6103059201828017271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6103059201828017271'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/07/torchlight.html' title='Torchlight'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_bFA1uM1t7xI/TD7cEXaMTrI/AAAAAAAAAUs/_rzTydGXlOw/s72-c/torchlight-grab-1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-6850776576758990851</id><published>2010-07-11T16:07:00.001Z</published><updated>2010-07-11T17:05:42.207Z</updated><title type='text'>The diving board</title><summary type='text'>With the release of C# Game Programming: For Serious Game Creation, I've got a nice code base to create cool new examples and experiments and recently I've been thinking about adventure games.

Adventure games, the red headed step child of gaming, once so popular, now living in the basement, rarely making an appearance. Lucas Arts used to make some excellent adventure games, until they went </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/6850776576758990851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=6850776576758990851' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6850776576758990851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6850776576758990851'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/07/diving-board.html' title='The diving board'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bFA1uM1t7xI/TDnY9riyExI/AAAAAAAAATM/OUz3ZUPeqdc/s72-c/day-of-the-tentacle-005.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-2764365755509179855</id><published>2010-07-10T11:08:00.005Z</published><updated>2011-06-17T17:43:12.918Z</updated><title type='text'>C# Game Programming Book</title><summary type='text'>
My book, C# Game Programming: For Serious Game Creation, seems to have now been published and is available on Amazon! 
Learn how to use OpenGL and C# together. 
Learn how to create the fastest game loop for C# using a Windows Form. 
Dive in C using Interop to get useful game functions such as timers.
Learn how to use the latest versions of C# to write tighter, leaner code.
Lightning Fast </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/2764365755509179855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=2764365755509179855' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2764365755509179855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2764365755509179855'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/07/c-game-programming-book.html' title='C# Game Programming Book'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bFA1uM1t7xI/TDhUA5rxIyI/AAAAAAAAATE/UEuVz9It34c/s72-c/128.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-1372056995203302160</id><published>2010-06-28T08:03:00.000Z</published><updated>2010-06-28T08:03:49.638Z</updated><title type='text'>Electric Sink</title><summary type='text'>It's summer, and I'm not really feeling in the programming mood after work, though there are a lot of projects that I'd be happy to start.

I've always be interested in Constructive Solid Geometry but never written an implementation. This pdf seems to be a good introduction.</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/1372056995203302160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=1372056995203302160' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1372056995203302160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1372056995203302160'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/06/electric-sink.html' title='Electric Sink'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-1368780065535737874</id><published>2010-06-05T16:33:00.059Z</published><updated>2010-06-05T17:50:40.066Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='bonus'/><category scheme='http://www.blogger.com/atom/ns#' term='csharp_book'/><title type='text'>Bonus Content: Kerning</title><summary type='text'>Bitmap fonts and text were both handled in the C# Game Programming book but kerning wasn't. Kerning refers to the amount of spacing between characters in text. Without kerning the letters in words may appear to be spaced out oddly.

The code in the book produced text that looked like this:


Rather naively, I assumed this looked a bit funky due to kerning issues (hence this very topic to make </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1368780065535737874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1368780065535737874'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/06/bonus-content-kerning.html' title='Bonus Content: Kerning'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bFA1uM1t7xI/TAp63vB-Y4I/AAAAAAAAASo/8nTHE5Bu-zg/s72-c/nokerning.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-3383689316136333947</id><published>2010-06-02T12:52:00.003Z</published><updated>2010-06-02T12:58:24.812Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>Momentum</title><summary type='text'>I've repointed the godpatterns url so it's pointing to this blog now and I'll slowly move across any good articles and content from the previous wordpress blog.In the meantime:Sublime - this is an excellent text editor that has recently appeared on to my radar. I'm using it at work to edit Lua and at home for a little Scheme and basic text.Free GDC Talks - yay, can't beat that.Recently I've </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/3383689316136333947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=3383689316136333947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/3383689316136333947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/3383689316136333947'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2010/06/momentum.html' title='Momentum'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-4111391299355697708</id><published>2009-10-30T08:12:00.003Z</published><updated>2009-10-30T14:56:02.656Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='Lua'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='opensource'/><title type='text'>Besting a Rhino in hand to hand combat</title><summary type='text'>One of the things I've always wanted to be able to do is create nice game creation tools. A nice syntax highlighted editor etc. So a while back I started writing something simple using Scintilla. Then at work a lot of Lua coding was required so last Sunday night, yesterday night and a bit this morning I made my own lua editor / IDE and released it open source http://code.google.com/p/monmon/ (</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/4111391299355697708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=4111391299355697708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4111391299355697708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4111391299355697708'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2009/10/besting-rhino-in-hand-to-hand-combat.html' title='Besting a Rhino in hand to hand combat'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-6646499962038252071</id><published>2009-04-23T09:53:00.003Z</published><updated>2009-04-23T10:12:38.265Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><title type='text'>Sounds for Games</title><summary type='text'>Recently I wrote a quick post about the awesome sfxr. A great little utility for creating bleeps and bloops.But that's not all today I stumbled on http://www.freesound.org. It has loads of sounds, all free and easily searchable.</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/6646499962038252071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=6646499962038252071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6646499962038252071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6646499962038252071'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2009/04/sounds-for-games.html' title='Sounds for Games'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bFA1uM1t7xI/SfA_DZwYVEI/AAAAAAAAAQg/mGR9BCaoBLE/s72-c/freesound.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-6832833130944738663</id><published>2009-04-22T09:10:00.003Z</published><updated>2009-04-22T09:18:30.229Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='rotation'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenGL'/><title type='text'>Quickie Rotations</title><summary type='text'>In my C# codebase I have no rotation code - which may be a little surprising but as I'm making a 2D game it's not been a issue until now.I just want to be able to rotate my sprites around other sprites. A nice general solution would be to allow matrices to be be applied to the four vertices that make up each corner of my sprite.But I didn't want to write a matrix class. So I just implemented the </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/6832833130944738663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=6832833130944738663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6832833130944738663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6832833130944738663'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2009/04/quickie-rotations.html' title='Quickie Rotations'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-1583531061576732467</id><published>2009-04-18T19:56:00.003Z</published><updated>2009-04-18T20:02:30.404Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><title type='text'>Sound for all</title><summary type='text'>I'm not really a sound person, I know nothing of it. I liked fruity loops when it first came out but that's it. Like so many children the recorder was forced upon me when I was very young ... perhaps these things are related.But games need sounds!That's why Dr Petter's sounds effects tool is so awesome. You press one button and it makes a sound. If you like the sound you save it. That's the kind </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/1583531061576732467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=1583531061576732467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1583531061576732467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1583531061576732467'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2009/04/sound-for-all.html' title='Sound for all'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bFA1uM1t7xI/SeoxbGHnOJI/AAAAAAAAAQY/S0mKrDxere0/s72-c/sfx.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-4453459710244689095</id><published>2009-04-11T10:16:00.004Z</published><updated>2009-04-11T10:58:41.151Z</updated><title type='text'>Data bindings</title><summary type='text'>Data bindings in C# are something I've totally ignored because I've always assumed they're boring database related code.Yesterday I ported my simple particle system from C++ to C#. Previously I'd defined particle systems in my own special file format and then used that to create them. So I'd edit the file then load the test program and see what it looked like. (I may even have had a quick reload </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/4453459710244689095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=4453459710244689095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4453459710244689095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4453459710244689095'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2009/04/data-bindings.html' title='Data bindings'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bFA1uM1t7xI/SeBw8QewOGI/AAAAAAAAAQQ/-7aa5UsR2j0/s72-c/databind.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-1372615814678196508</id><published>2009-04-05T17:34:00.005Z</published><updated>2009-04-05T17:53:56.233Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenGL'/><category scheme='http://www.blogger.com/atom/ns#' term='frames'/><category scheme='http://www.blogger.com/atom/ns#' term='tao'/><title type='text'>Fiddly bits</title><summary type='text'>Finally, I've written some code that I've been meaning to for a quite some time - the frame.By frame, I mean an in-game window. A good example is the final fantasy screen shot below. It has a blue box with text in it. The blue box is a frame. If you are using 3d acceleration the way to write this is to split the frame image up into a number of quads. So the corners are each a quad, so are columns</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/1372615814678196508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=1372615814678196508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1372615814678196508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1372615814678196508'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2009/04/fiddly-bits.html' title='Fiddly bits'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bFA1uM1t7xI/SdjsrQQD3TI/AAAAAAAAAPQ/2Rj2wDK_29s/s72-c/spot_ff4a_blizzaga.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-2710208915313525310</id><published>2009-03-29T19:31:00.006Z</published><updated>2009-03-29T20:41:38.459Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='reflection'/><category scheme='http://www.blogger.com/atom/ns#' term='file formats'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Let's do something C++ can't</title><summary type='text'>Recently I was writing some code to load levels. This is a common task but I think I ended up with some pretty neat code that can be used in a variety of ways.My levels are rather unusual. A level can be generated totally by my code. So I can be as a vague as 'make a level' or I can say 'I want a monster here and here and walls here' and describe everything down to the last detail. I'm still </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/2710208915313525310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=2710208915313525310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2710208915313525310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2710208915313525310'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2009/03/lets-do-something-c-cant.html' title='Let&apos;s do something C++ can&apos;t'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-5841656636017100248</id><published>2009-03-28T14:37:00.002Z</published><updated>2009-03-28T14:40:48.519Z</updated><title type='text'>system.badimageformatexception</title><summary type='text'>The errors are slowly trickling in. This time Nunit. I tried to load some of my assemblies to unit test and recieved this exception: "system.badimageformatexception". So I ensured all the projects in my solution where compiling using the same CPU. Still I got the same error.It turns out this is another symptom of developing on 64bit Vista system. The assemblies I was testing were x86. The nunit </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/5841656636017100248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=5841656636017100248' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/5841656636017100248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/5841656636017100248'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2009/03/systembadimageformatexception.html' title='system.badimageformatexception'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-4042766567754823359</id><published>2009-03-27T14:57:00.004Z</published><updated>2009-03-27T15:18:39.267Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='64bit'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='tao'/><title type='text'>An attempt was made to load a program with an incorrect format.</title><summary type='text'>I'm updating here until I resolve what I'm going to do withgodpatterns.Recently I setup a new dev machine, while I'm back in the UK searching for a new job (I'm hoping to get something to do with C# if possible). Anyway I moved my SVN repository over along with my most recent code check outs.As I mentioned in my last post I'm developing using C# and Tao (which, among other things, is an OpenGL </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/4042766567754823359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=4042766567754823359' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4042766567754823359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4042766567754823359'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2009/03/attempt-was-made-to-load-program-with.html' title='An attempt was made to load a program with an incorrect format.'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-2885994050628850885</id><published>2008-05-22T12:46:00.005Z</published><updated>2008-05-22T12:56:51.232Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='gamedvelopment'/><category scheme='http://www.blogger.com/atom/ns#' term='games programming'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenGL'/><category scheme='http://www.blogger.com/atom/ns#' term='tao'/><category scheme='http://www.blogger.com/atom/ns#' term='opensource'/><title type='text'>A quick note about game development in C#</title><summary type='text'>As I know this site still generates quite a bit of traffic - I thought it would be a good place to update my current feelings on C# game development. As before I think it's great :DBut I've moved away from DirectX as my API of choice. I don't have Vista (or intend to get it anytime soon.) so I'm not going to be developing under DirectX10. DirectX 9.0 pixel to texel mapping just doesn't seem to </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/2885994050628850885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=2885994050628850885' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2885994050628850885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2885994050628850885'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2008/05/quick-note-about-game-development-in-c.html' title='A quick note about game development in C#'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-4888280325729938680</id><published>2007-01-23T18:31:00.000Z</published><updated>2007-01-23T18:34:34.751Z</updated><title type='text'>Cheddar Roads</title><summary type='text'>I was doing some einfall programming today but I got massively massively side tracked. I need to get some hosting for my portfolio, so I did that and since then I've been tinkering ever since. You can check it out at http://www.godpatterns.com/, though there's nothing much there at the moment.I'm going to have cv as a subdomain but for some reason it's not working at the moment.  I'll probably be</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/4888280325729938680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=4888280325729938680' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4888280325729938680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4888280325729938680'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2007/01/cheddar-roads.html' title='Cheddar Roads'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-7420730596913968046</id><published>2007-01-19T17:18:00.000Z</published><updated>2007-01-19T17:25:49.374Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Methods and dynamic casting in C#</title><summary type='text'>I remember a month ago I was trying to do something similar with C++ and it doesn't work (suprise suprise :&gt; ). I thought I'd see if it'd work in C# - and suprisingly it does. Ok, so what I am I babbling about?Imagine you have an object Item and another object StackableItem : Item, that inherits from Item. Now imagine I have an array of Items. I can put Stackable items in here and I can put items</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/7420730596913968046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=7420730596913968046' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/7420730596913968046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/7420730596913968046'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2007/01/methods-and-dynamic-casting-in-c.html' title='Methods and dynamic casting in C#'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-1830102392772540145</id><published>2007-01-18T12:44:00.000Z</published><updated>2007-01-18T12:54:01.801Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Einfall'/><title type='text'>More news as it happens</title><summary type='text'>Now you can open the chest and there are coins inside! Yay! Then when you open the chest again, they've gone. (You've taken them.)The code's quite nice but still needs generalizing. (Currently there's no way for stackable items, such as coins to be combined). The "you've found coins" message actually appears in the center of the screen, in the screenshot it looks a little lop sided. At some point</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/1830102392772540145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=1830102392772540145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1830102392772540145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1830102392772540145'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2007/01/more-news-as-it-happens.html' title='More news as it happens'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_bFA1uM1t7xI/Ra9sDJSiMUI/AAAAAAAAAA8/79s188lHquU/s72-c/goldCoins.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-5283946252063281063</id><published>2007-01-17T22:37:00.000Z</published><updated>2007-01-17T22:42:03.315Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Einfall'/><title type='text'>Why is it so easy to work on my projects when I should be revising.</title><summary type='text'>Now when you open the chest, the game tells you that you've received 29 gold coins. This is a lie, it will also tell you this if you close the chest the open it again.To me though, it feels like progress!I rejigged my mouse user interface, so it uses a state system (covered in one of the programming for monkeys tutorials). There's a message state that currently displays a label. At some point I'm</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/5283946252063281063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=5283946252063281063' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/5283946252063281063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/5283946252063281063'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2007/01/why-is-it-so-easy-to-work-on-my.html' title='Why is it so easy to work on my projects when I should be revising.'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-5091168262915736899</id><published>2007-01-16T18:16:00.000Z</published><updated>2007-01-16T19:11:48.645Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='DirectX'/><title type='text'>The mojito is a descendant of the Draquecito, named after Sir Francis Drake and said to be his favorite drink before pirate battles</title><summary type='text'>My chest is opening and shutting, and I want to give the character *prizes!*. First in a crude, text box manner. You've found blah, blah in a text box.To do that I need to know how big text is. Will the text fit in the box, how big should the box be, what are my options for decorating the box and so on.This leads to a bit of problem (a problem I vaguely remember having before), that is that using</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/5091168262915736899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=5091168262915736899' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/5091168262915736899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/5091168262915736899'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2007/01/mojito-is-descendant-of-draquecito.html' title='The mojito is a descendant of the Draquecito, named after Sir Francis Drake and said to be his favorite drink before pirate battles'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_bFA1uM1t7xI/Ra0ivZSiMTI/AAAAAAAAAAw/vdFfw1q8e6E/s72-c/chest.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-4440467790330265755</id><published>2007-01-15T15:32:00.000Z</published><updated>2007-01-15T15:39:13.535Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Irritated like the tail of a horse</title><summary type='text'>Maybe one day, I assume it will be in the far distance, I'll stop writing pieces of timing code because all my timing woes will be completed once and for all. Until that day:class TimeEvent{    double waitTime;    double timeCount;    bool set = false;     public TimeEvent(double waitTime)    {        this.waitTime = waitTime;    }     public double WaitTime    {        get        {            </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/4440467790330265755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=4440467790330265755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4440467790330265755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4440467790330265755'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2007/01/irritated-like-tail-of-horse.html' title='Irritated like the tail of a horse'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-8289583061258118860</id><published>2007-01-09T15:04:00.000Z</published><updated>2007-01-10T10:33:54.322Z</updated><title type='text'>The most uncommon of uncommon vernaculars</title><summary type='text'>This http://tlundmark.blogspot.com/2006/11/identities-of-industry.html is a really cool list of all the key game's industry key players with pictures and quotes. It's very a pleasant way to spend a few minutes. It's a little disturbing how unhealthy most of them appear.Einfall will probably fall once again to the back burner as University work starts to appear thick and fast.</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/8289583061258118860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=8289583061258118860' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/8289583061258118860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/8289583061258118860'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2007/01/most-uncommon-of-uncommon-vernaculars.html' title='The most uncommon of uncommon vernaculars'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-2134945382950733009</id><published>2007-01-06T12:34:00.000Z</published><updated>2007-01-06T12:50:41.148Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Einfall'/><title type='text'>The true meaning of Christmas</title><summary type='text'>It's been some time since the last update, I've been taking things nice and easy over Christmas and playing a few games. I'm going back to University tomorrow. There I'll be working, at some point I may find myself free to work on my coursework again. Once the camera works correctly and I'm happy - it's something I'd quite like to make avaliable for download. Dirge of CerebusI completed this game</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/2134945382950733009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=2134945382950733009' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2134945382950733009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/2134945382950733009'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2007/01/true-meaning-of-christmas.html' title='The true meaning of Christmas'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_bFA1uM1t7xI/RZ-YPu6Yf2I/AAAAAAAAAAM/Giv1RNnlpNs/s72-c/dc_screen1.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-5707179261734318725</id><published>2006-12-24T12:41:00.000Z</published><updated>2006-12-24T12:44:32.122Z</updated><title type='text'>The moon on a stick</title><summary type='text'>Gah, I've slapped in my path finding library. So now, with a few tweaks, mouse movement and path finding, is hacked in.There's a problem though. I split the world into multiple maps and path finding across these maps, probably means changing my path finding code. The multiple maps buisness has always been a headache.For now I'm happy to get path finding working on a single map. And worry about </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/5707179261734318725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=5707179261734318725' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/5707179261734318725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/5707179261734318725'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/12/moon-on-stick.html' title='The moon on a stick'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-1826610025874448762</id><published>2006-12-23T13:45:00.000Z</published><updated>2006-12-23T13:55:28.628Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Einfall'/><title type='text'>Old blue cake hat</title><summary type='text'>I had to update from my source repository yesterday as things went horribly wrong. Entites can be teleported around various maps with out problem. It's all pretty horredously inefficent.I'm adding smooth moving between tiles now. Somewhere down the line I'll bolt on my A* library and somewhere after that I'll finish my modest goals for this small project. (You can walk to a chest open it, recieve</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/1826610025874448762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=1826610025874448762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1826610025874448762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1826610025874448762'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/12/old-blue-cake-hat.html' title='Old blue cake hat'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-528364943437819901</id><published>2006-12-19T09:54:00.000Z</published><updated>2006-12-19T19:01:27.873Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Einfall'/><title type='text'>High Density</title><summary type='text'>Currently I'm implementing the entity management system for einfall. It's a little tricky. I want to be able to process / render my various entities. So I should be quickly able to determine what's at a particular x,y tile position and z height.Any entities on map-1 should be able to be selected as a whole and removed easily. Also entities can be moved from map to map. Yes moving, when moving an </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/528364943437819901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=528364943437819901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/528364943437819901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/528364943437819901'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/12/high-density.html' title='High Density'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-4127356124950670992</id><published>2006-12-06T18:50:00.000Z</published><updated>2006-12-06T18:59:55.643Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pointers'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenGL'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='matrix'/><title type='text'>The small grey children, who stand by your bed and watch you while you're sleeping.</title><summary type='text'>Sometimes we need pointers to pointers. Today was one of those days, it's used to pass back information. If you want to pass back info and just pass in a normal pointer, then a copy is made and the pointer outside of the function is never changed.This is my *arghh* how does it work code.#include "stdafx.h"#include using namespace std;int b = 3;void func(int ** i){ *i = &amp;b;}int _tmain(int argc, _</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/4127356124950670992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=4127356124950670992' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4127356124950670992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/4127356124950670992'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/12/small-grey-children-who-stand-by-your.html' title='The small grey children, who stand by your bed and watch you while you&apos;re sleeping.'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-706843317206575377</id><published>2006-12-02T01:48:00.000Z</published><updated>2006-12-02T01:52:38.883Z</updated><title type='text'>This buffer is for notes you don't want to save,</title><summary type='text'>Another Tightmap checkin. I pulled some code over from Einfall, simplified it a bit and added it. Now when you run your mouse over a map, each tile is highlighted as you hover over it. Which is just what I wanted so yay me.I noticed this small function seemed to destroy my frame rate ... but on running it a few times - it bounced back up, maybe the JIT stuff?</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/706843317206575377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=706843317206575377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/706843317206575377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/706843317206575377'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/12/this-buffer-is-for-notes-you-dont-want.html' title='This buffer is for notes you don&apos;t want to save,'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-3923755531245683454</id><published>2006-11-26T17:19:00.000Z</published><updated>2006-11-26T17:28:33.076Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++ C# picture'/><title type='text'>Don't tell me to put my pants back on, they're my pants, I decide when and where ok? ok.</title><summary type='text'>I feel I should make posts with content, but it's been a while ...  so here's a content light post just letting you know what's going on.Working on coursework for my Game Programming Masters. In C++. The main thing I've learnt is how to use a profiler correctly, I wrote a particle system from scratch in an afternoon. It makes me wonder if I could oragnise my time this well independently. </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/3923755531245683454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=3923755531245683454' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/3923755531245683454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/3923755531245683454'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/11/dont-tell-me-to-put-my-pants-back-on.html' title='Don&apos;t tell me to put my pants back on, they&apos;re my pants, I decide when and where ok? ok.'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-3671617167987153256</id><published>2006-11-04T12:46:00.000Z</published><updated>2006-11-04T13:11:03.116Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Einfall'/><title type='text'>Ice cubes and the elderly</title><summary type='text'>This is where I am in rewriting the Einfall base. Things are going slowly but they're going :D I feel very strongly that it's important to get as game-like as possible as soon as possible. So I'm working on mouse control, something I don't have in my main Einfall branch. After mouse controls added I intend to make a simple game. Along the lines of a text box saying "Find treasure", there being a </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/3671617167987153256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=3671617167987153256' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/3671617167987153256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/3671617167987153256'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/11/ice-cubes-and-elderly.html' title='Ice cubes and the elderly'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-6345604155775269643</id><published>2006-11-02T12:38:00.000Z</published><updated>2006-11-02T12:41:19.971Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenGL'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Room!</title><summary type='text'>Coursework's not going to badly - behold the room!This is all done in C++ and openGL. It currently supports axis aligned planes, that are subdivided to the correct complexity on start up. There's still a long way to go. Oh the black dot represents where I've put the light.Also the frame counter can be ignored, as the frames are locked to 1/60th of a second. I need to update the FPS counter to </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/6345604155775269643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=6345604155775269643' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6345604155775269643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6345604155775269643'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/11/room.html' title='Room!'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-1349282754953710013</id><published>2006-10-27T19:31:00.000Z</published><updated>2006-10-27T19:38:39.263Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nanowrimo'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>The varied mysteries of the inner mouth society revealed at last!</title><summary type='text'>Nanowrimo's going to be starting up again soon. If you fancy trying to write a short novel in a month then register! I did it last year, and though I've never gone back to the awful sprawling draft I gave birth too I'm quite happy to create a new one. Last time it was some generic, steampunkish fantasy, this time it's a modern time travelling thriller (or similar). Novel writing begins on the 1st</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/1349282754953710013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=1349282754953710013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1349282754953710013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1349282754953710013'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/10/varied-mysteries-of-inner-mouth-society.html' title='The varied mysteries of the inner mouth society revealed at last!'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-1666715494618388232</id><published>2006-10-25T19:14:00.000Z</published><updated>2006-10-25T19:17:39.771Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='makefiles'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='cxxtest'/><title type='text'>Burning houses in stinking fog</title><summary type='text'>So I've just managed to get cxxtest working in visual studio.As I'm still not at home in C++ this took much longer than it should. I had no idea where it wanted the PERL environmental variable defining. (I defined it for the system) but it turned out it wanted it defining in the makefile.Which ended up looking like thisPERL = c:\Perl\bin\Perl.exe# Where to look for the testsTESTS            = H:\</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/1666715494618388232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=1666715494618388232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1666715494618388232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/1666715494618388232'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/10/burning-houses-in-stinking-fog.html' title='Burning houses in stinking fog'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-6737851040749618520</id><published>2006-10-12T17:17:00.000Z</published><updated>2006-10-19T19:22:54.785Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='university'/><category scheme='http://www.blogger.com/atom/ns#' term='learning'/><category scheme='http://www.blogger.com/atom/ns#' term='games programming'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenGL'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Beware Of Shadows</title><summary type='text'>I'm doing about a scheme sample a day and "something on Einfall". Yesterday I evaluated an entity library and decided it was totally unworkable. (It was quite inefficent and far too heavily skewed towards NPCs rather than just plain items.) Also I'm doing the lab tutorials. The last one was procedurally generating a cylinder in vertex and index array and then spitting it out. It was hard and it </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/6737851040749618520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=6737851040749618520' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6737851040749618520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/6737851040749618520'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/10/beware-of-shadows.html' title='Beware Of Shadows'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-116003455126435762</id><published>2006-10-05T07:44:00.000Z</published><updated>2006-10-12T12:16:44.742Z</updated><title type='text'>Suprises</title><summary type='text'>So I thought when I took this Game Programming course I'd happily blog along what I was learning while I learnt but this looks unlikely. There's just too much stuff and too much of it is just a list of stuff to learn. I'll defintely write some things up. But at the moment we all go the labs in the morning, bash our heads against openGL (which is made much easier by having an oo wrapper that just </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/116003455126435762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=116003455126435762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/116003455126435762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/116003455126435762'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/10/suprises.html' title='Suprises'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115962383782854645</id><published>2006-09-30T13:18:00.000Z</published><updated>2006-10-12T12:16:44.659Z</updated><title type='text'>The reasons behind guinea pigs</title><summary type='text'>Still going through the little schemer, one of my programs called for the "to the power of" operator. I couldn't find scheme's definition, so I wrote my own! Yay me. (define ^  (lambda (x y)    (cond     ((zero? y) 1)     (else      (* x (^ x (sub1 y)))))))Today I'm going to polish off another chapter in the scheme book and hopefully two in the C++ book. Last night I added the FPS counter to the </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115962383782854645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115962383782854645' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115962383782854645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115962383782854645'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/reasons-behind-guinea-pigs.html' title='The reasons behind guinea pigs'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115943852079301206</id><published>2006-09-28T10:10:00.000Z</published><updated>2006-10-12T12:16:44.573Z</updated><title type='text'>atm confidential dances</title><summary type='text'>Working my way through Accelerated C++. This book is great! It teaches C++ not C in a C++ compiler with some classes thrown in, like so many other books seem to do. Started a new subversion repository where I'm creating a final version of my tight map, which will be fast (like the old version) and handle such things as users logging out and in without crashing (unlike the old version).EDIT: More </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115943852079301206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115943852079301206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115943852079301206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115943852079301206'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/atm-confidential-dances.html' title='atm confidential dances'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115927949454108293</id><published>2006-09-26T13:59:00.000Z</published><updated>2006-10-12T12:16:44.487Z</updated><title type='text'>Dank Cat Paw</title><summary type='text'>We're expected to make a game by Christmas and to be extremely proficent in C++ by Christmas. It sounds fun. My C++ is rusty to the point of collapse. So I'm going to work through one or two of the C books I brought along. Then I'll find what are a few good reference books for C++ and order them. As for my simple tile rendering stuff - it now persists even if you log out and then log back in. And</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115927949454108293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115927949454108293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115927949454108293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115927949454108293'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/dank-cat-paw.html' title='Dank Cat Paw'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115912064836672591</id><published>2006-09-24T17:52:00.000Z</published><updated>2006-10-12T12:16:44.401Z</updated><title type='text'>In Hull</title><summary type='text'>And tomorrow lectures start. A year of game programming goodness.Today I've added some small bits of code to reset the vertexbuffers when the device is reset in the RenderPrimitives dll. Also polished off another chapter of the little schemer.</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115912064836672591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115912064836672591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115912064836672591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115912064836672591'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/in-hull.html' title='In Hull'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115883603709963058</id><published>2006-09-21T10:37:00.000Z</published><updated>2006-10-12T12:16:44.317Z</updated><title type='text'>Living in a refurbished slaughter house</title><summary type='text'>Back to poking at my .Net code this morning. Seeing as I'm on a new computer I'm also going to see if blogger will allow me to upload photos, in the past it's always been quite fussy. I think that it's because I had firefox force any pop-up to load in a background tab. Well looks like it's working now!Anyway I thought I'd talk a little about DirectX devices and forms. This relates to creating </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115883603709963058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115883603709963058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115883603709963058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115883603709963058'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/living-in-refurbished-slaughter-house.html' title='Living in a refurbished slaughter house'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115878726683700242</id><published>2006-09-20T21:04:00.000Z</published><updated>2006-10-12T12:16:44.231Z</updated><title type='text'>Additional Scheming</title><summary type='text'>Up to chapter 4 in the little schemer now. It's interesting to see that most loops are actually done by using recursion ... and it reminds me of another programming language I was taught in University, probably prolog.I'm not finding the book too hard going and can work out most of the answers to the questions. But I never seem to get the brackets right (as Jani pointed out this is the intially </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115878726683700242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115878726683700242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115878726683700242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115878726683700242'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/additional-scheming.html' title='Additional Scheming'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115865650410535748</id><published>2006-09-19T08:44:00.000Z</published><updated>2006-10-12T12:16:44.138Z</updated><title type='text'>Scheme scheme scheme</title><summary type='text'>Here's my first scheme (that I've written off my own back rather than copying from the text book) function it's very very simple. If you pass in a true value it returns hello, if you pass in a false value is return goodbye. Goodbye and hello aren't strings they're more like unitialized variables.Anyway behold: (define test?  (lambda (a)    (cond     ((eq? a #t) 'hello)     (else 'goodbye))))</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115865650410535748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115865650410535748' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115865650410535748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115865650410535748'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/scheme-scheme-scheme.html' title='Scheme scheme scheme'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115856872523888297</id><published>2006-09-18T08:33:00.000Z</published><updated>2006-10-12T12:16:44.042Z</updated><title type='text'>Removing the close box from a  c# form</title><summary type='text'>I have a child of a MDI container and I don't want the user to be able to close it, or maximize, or minimize it. But I do want the user to be able to resize it and drag it around and will. So I want to get rid of the close, minimize and maximize buttons but retain the blue strip.If you write some code like so:this.ControlBox = false;this.MaximizeBox = false;this.MinimizeBox = false;Where "this" </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115856872523888297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115856872523888297' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115856872523888297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115856872523888297'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/removing-close-box-from-c-form.html' title='Removing the close box from a  c# form'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115852511142551971</id><published>2006-09-17T20:19:00.000Z</published><updated>2006-10-12T12:16:43.931Z</updated><title type='text'>Chasing down bugs.</title><summary type='text'>I'm still having issues with some of my program that display maps missing a pixel or two on each tile - this only happened since I've switched the programs to my desktop machine rather than my portable. Also  it doesn't happen with all my programs - suggesting, the somewhere, in certain programs, I'm doing something stupid. So I'm hunting that down. I just built a very simple program that </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115852511142551971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115852511142551971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115852511142551971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115852511142551971'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/chasing-down-bugs.html' title='Chasing down bugs.'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115806580374950820</id><published>2006-09-12T12:22:00.000Z</published><updated>2006-10-12T12:16:43.811Z</updated><title type='text'>Scheme, Petite, Emacs and the error message; spawning child process invalid argument</title><summary type='text'>This errors been giving me a headache for a while but I've now found the solution!So I've Gnu Emacs 21.3.1 running on windows and I'm interested in learning scheme. I went into the Control Panel &gt; System &gt; Environmental Variables and edited the PATH variable to include petite. So if I typed petite in a command prompt - up would come the interpretter - great! Or so I thought.Next I wanted to have </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115806580374950820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115806580374950820' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115806580374950820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115806580374950820'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/scheme-petite-emacs-and-error-message.html' title='Scheme, Petite, Emacs and the error message; spawning child process invalid argument'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115801002259977356</id><published>2006-09-11T21:26:00.000Z</published><updated>2006-10-12T12:16:43.703Z</updated><title type='text'>Ebichu</title><summary type='text'>So I'm still hacking away at the old map editor, DirectX is now playing nicely with windows forms. In fact this is such a useful thing to do that I may as well explain how (briefly).Using DirectX, C#, Windows Forms, to create a non-flickering interactive form application that also has a render loop for DirectX.Now there's a smooth, smooth title.&lt;!--{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115801002259977356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115801002259977356' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115801002259977356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115801002259977356'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/ebichu.html' title='Ebichu'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115790096570393496</id><published>2006-09-10T14:57:00.000Z</published><updated>2006-10-12T12:16:43.595Z</updated><title type='text'>Harvard concludes - you suck.</title><summary type='text'>Currently I have a copious free time, which I spend playing Dwarf fortress and reading books in the garden. Yesterday or the day before I helped out a friend at his work by doing a little flash programming for a very well known multinational company, so that was fun (and made me feel very big and important :) ) though I've never used flash before, and generally hate it on webpages. (Flashblock it</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115790096570393496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115790096570393496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115790096570393496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115790096570393496'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/harvard-concludes-you-suck.html' title='Harvard concludes - you suck.'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115755184414117657</id><published>2006-09-06T14:01:00.000Z</published><updated>2006-10-12T12:16:43.484Z</updated><title type='text'>maybe you have to be English to know how wounding those eyebrows and coughs can be</title><summary type='text'>Some my graphics stuff that worked on my portable didn't work when transferred over to the desktop. After having a bit of look it seems the problem was that I wasn't storing some of my textures in powers of 2.</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115755184414117657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115755184414117657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115755184414117657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115755184414117657'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/maybe-you-have-to-be-english-to-know.html' title='maybe you have to be English to know how wounding those eyebrows and coughs can be'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115711652925920487</id><published>2006-09-01T12:27:00.000Z</published><updated>2006-10-12T12:16:43.377Z</updated><title type='text'>The Norske Mustachclub</title><summary type='text'>I've been puttering around in my resource code. It's quite nice to come back to after a break, as it's much easier to see dubious design decisions. My resource manager works around a very shallow inheritence tree, basically there are few types of bank, that manage the resources loaded into the game. All the banks are generic so they can hold any type of resource.The situation arises where you </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115711652925920487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115711652925920487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115711652925920487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115711652925920487'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/09/norske-mustachclub.html' title='The Norske Mustachclub'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115702132416738112</id><published>2006-08-31T10:42:00.000Z</published><updated>2006-10-12T12:16:43.273Z</updated><title type='text'>Space Germans!</title><summary type='text'>I've rebuilt my desktop machine and got Einfall compiling again. This machine is of course much much faster and that's picked up a slight timing issue in one of the menus. The html cut and paste plugin is now working so I can put nicely formatted code in the blog again. It wasn't too hard to get Einfall building, which was suprising considering how scattered the source code is. I needed a fresh </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115702132416738112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115702132416738112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115702132416738112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115702132416738112'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/08/space-germans.html' title='Space Germans!'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115614798152418296</id><published>2006-08-21T07:39:00.000Z</published><updated>2006-10-12T12:16:43.166Z</updated><title type='text'>Irked: Serious Games</title><summary type='text'>I'm quite interested in games for education. I think games are made to educate and there's nothing wrong with exploiting this to make learning more fun for kids and adults. Games like Civilization and Colonization have done this to some extent for me when I was learning history at school. I know of one Polish guy who learnt his English with the help of Monkey Island one. Great! An exciting future</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115614798152418296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115614798152418296' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115614798152418296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115614798152418296'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/08/irked-serious-games.html' title='Irked: Serious Games'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115564723848590635</id><published>2006-08-15T12:53:00.000Z</published><updated>2006-10-12T12:16:43.048Z</updated><title type='text'>Burnable Dust</title><summary type='text'>I'm back in the UK, returning from my two year stay in Japan but I'm currently relaxing. Also I'm moving from an overloaded portable to a roomy desktop machine. Life update: Teeside cancelled their game programming course, I'll now be going to Hull instead. I'm guessing it was due to lack of interest or they lost a lecturer - I wasn't told anyway :DI intend to upate this blog with the contents of</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115564723848590635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115564723848590635' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115564723848590635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115564723848590635'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/08/burnable-dust.html' title='Burnable Dust'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115371868516442058</id><published>2006-07-24T05:20:00.000Z</published><updated>2006-10-12T12:16:42.943Z</updated><title type='text'></title><summary type='text'>More quadtree poking. Currently items can be dragged and dropped around the quadtree area. Actually the only items a small rectangle drawn in using GDI, it lights up yellow when the mouse moves over it.The codes become quite unclean. Here's the most horrible thing in it at the moment:        void OnNodeWantsToChangePosition(INode n, float x, float y)        {            this.RemoveNode((T)n);</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115371868516442058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115371868516442058' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115371868516442058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115371868516442058'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/07/more-quadtree-poking.html' title=''/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115347179506100296</id><published>2006-07-21T08:39:00.000Z</published><updated>2006-10-12T12:16:42.839Z</updated><title type='text'>A vibrating blue squirrel</title><summary type='text'>Still quite busy - I'll be going to Tokyo on the 31st for five days before returning to Old Bilayati. Upon arriving I guess I'll be quite busy again for a while. And soon I'll start University doing a masters in game programming - I'm considering doing a write up of all lectures here, so that's something to look forward to.Today I've done a little hacking with the quad tree - well not really, </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115347179506100296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115347179506100296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115347179506100296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115347179506100296'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/07/vibrating-blue-squirrel.html' title='A vibrating blue squirrel'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115243004591492698</id><published>2006-07-09T07:25:00.000Z</published><updated>2006-10-12T12:16:42.715Z</updated><title type='text'>'You ever put a full-length mirror on the floor, and then have a dog stand on it?'</title><summary type='text'>Things may become slow here as I'm leaving my job and returning to England. So I have to do lots of "stuff".</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115243004591492698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115243004591492698' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115243004591492698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115243004591492698'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/07/you-ever-put-full-length-mirror-on.html' title='&apos;You ever put a full-length mirror on the floor, and then have a dog stand on it?&apos;'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115208942481848794</id><published>2006-07-05T08:44:00.000Z</published><updated>2006-10-12T12:16:42.611Z</updated><title type='text'>A redness sensation</title><summary type='text'>Currently playing with some Quadtree code, I want to add items to the render demo but I also want them to be able to select them with the mouse. The quadtree is also one of the large untackled chunks of Einfall stage 3. It's early stages and I'm working on a basic library version first.Anyway here's my small description of what and why of the Quadtree.Let's say you have a map with a few hundred </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115208942481848794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115208942481848794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115208942481848794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115208942481848794'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/07/redness-sensation.html' title='A redness sensation'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115184104668770952</id><published>2006-07-02T11:40:00.000Z</published><updated>2006-10-12T12:16:42.511Z</updated><title type='text'>Celestial ninja syndrome</title><summary type='text'>Movement's in! Yay. I didn't think I was going to get it finished by this weekend as I spent all of today cleaning my flat (as I'm leaving soon). Anyway all done. Mysteriously it seems to cut into the framerate more than expected so I'll have a look into that. Here's an NPC brain (which could easily be swapped out for a brain that took input from the keyboard or something). It moves one tile down</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115184104668770952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115184104668770952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115184104668770952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115184104668770952'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/07/celestial-ninja-syndrome.html' title='Celestial ninja syndrome'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115166960697442148</id><published>2006-06-30T11:58:00.000Z</published><updated>2006-10-12T12:16:42.407Z</updated><title type='text'>A five minute dash to a data driven nethack</title><summary type='text'>So I've been poking my new fast rendering code a bit. It's currently fine for tiles and layers, the various layers and tiles can manipulated by Lua, FPS is pretty good.But this new rendering method isn't going to work with the current code base - so I need to rewrite how entities (creatures) are handled. That's what I'm doing now, it's getting there though I think afterwards it will need some "</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115166960697442148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115166960697442148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115166960697442148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115166960697442148'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/five-minute-dash-to-data-driven.html' title='A five minute dash to a data driven nethack'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115132268797852141</id><published>2006-06-26T11:43:00.000Z</published><updated>2006-10-12T12:16:42.303Z</updated><title type='text'>"Does dying bother you?", he flipped the page, "Well then what do you intend to do about it?"</title><summary type='text'>Today I updated the second Lua tutorial to work with the latest version of LuaInterface - just enough people where becoming confused to spur me into action. Unfortunately the nice highlighting has gone but this time there's source code and indentation.I'e been playing more with my "TightMap". I "upgraded" it's message system (no doubt making it far far slower :D) so it currently looks a little </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115132268797852141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115132268797852141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115132268797852141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115132268797852141'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/does-dying-bother-you-he-flipped-page.html' title='&quot;Does dying bother you?&quot;, he flipped the page, &quot;Well then what do you intend to do about it?&quot;'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115130959793868051</id><published>2006-06-26T08:06:00.000Z</published><updated>2007-01-25T13:16:54.313Z</updated><title type='text'>More Scripting in Lua</title><summary type='text'>In the first LUA tutorial - we looked at how to call C# functions from LUA. All well and good ... but what about using classes? That's kinda of important isn't it! You want to interact with your NPC classes and all that kind of cool stuff. This is what we'll be covering here.Let There Be Classes!I assume you can set up a LUA enabled C# project - we're going to do another nice console window </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115130959793868051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115130959793868051' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115130959793868051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115130959793868051'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/more-scripting-in-lua.html' title='More Scripting in Lua'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115123984259836026</id><published>2006-06-25T12:36:00.000Z</published><updated>2006-10-12T12:16:42.101Z</updated><title type='text'>Soap and Sand</title><summary type='text'>Hmmm goals didn't really get completed, well the ones associated with einfall anyway.I've finished my basic map engine (engines overselling it but I can't think of a better word). It has batching, layers, layers with alpha channels for fringing, animation, different texture orientations, texture management and all that good stuff.I want to add loading and saving, in a basic manner and there's one</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115123984259836026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115123984259836026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115123984259836026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115123984259836026'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/soap-and-sand.html' title='Soap and Sand'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115105249741099458</id><published>2006-06-23T08:41:00.000Z</published><updated>2006-10-12T12:16:42.000Z</updated><title type='text'>Incan Chatterbots with roses</title><summary type='text'>Brief Thoughts On A Object System For An RPGIn RPGs you generally want lots of objects, that can be used in a number of ways.I think a good object interface would be:interface IItem{ void Render(); void Process(); void HandleMessage(IMessage m);}By default messages are ignored. But you could send messages like "Hear  footsteps", "It's nighttime", "You've been stepped on.", "You've been moved by </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115105249741099458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115105249741099458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115105249741099458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115105249741099458'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/incan-chatterbots-with-roses.html' title='Incan Chatterbots with roses'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115096405327124630</id><published>2006-06-22T07:43:00.000Z</published><updated>2006-10-12T12:16:41.897Z</updated><title type='text'>Novemberist</title><summary type='text'>It seems today's, a day for old thoughts and memories - they keep bubbling up unbidden. One thought that worries me more than it probably should is about the follow scenario. Most of the worlds population's dead, modern life has been totally wiped out, we have nothing but a vast natural planet. How well would I do in restoring modern technology?I suspect not very far at all, maybe I could build a</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115096405327124630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115096405327124630' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115096405327124630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115096405327124630'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/novemberist.html' title='Novemberist'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115078941179980616</id><published>2006-06-20T07:42:00.000Z</published><updated>2006-10-12T12:16:41.787Z</updated><title type='text'>Everybody loves Anonymous Delegates</title><summary type='text'>public override int AddResource(T resource, string externalKey){    int internalKey = base.AddResource(resource, externalKey);    // When a resource is added it's reference is auto set one    resource.ReferencesAreZero += delegate(object sender, EventArgs eventArgs)    {        RemoveResource(internalKey);    };    return internalKey;}</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115078941179980616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115078941179980616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115078941179980616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115078941179980616'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/everybody-loves-anonymous-delegates.html' title='Everybody loves Anonymous Delegates'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115071253796452281</id><published>2006-06-19T09:57:00.000Z</published><updated>2006-10-12T12:16:39.967Z</updated><title type='text'>Philosophy has all the best beards.</title><summary type='text'>Well the batch program now does layers, in possibly the most inefficent way ever.Layers are a little problematic, it's all to do with pesky Z-ordering and how players can place themselves between different layers. Maybe I need to have pipeline or batch manager like Z uses in his code.Ah, also the layer I choose to add was an alpha-blended fringe layer. The graphics I made is grass fading raggedly</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115071253796452281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115071253796452281' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115071253796452281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115071253796452281'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/philosophy-has-all-best-beards.html' title='Philosophy has all the best beards.'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115058598036699305</id><published>2006-06-17T23:04:00.000Z</published><updated>2006-10-12T12:16:39.883Z</updated><title type='text'>A bout of a case of springtime giddiness.</title><summary type='text'>Recently I've been writing a benchmaker for batching. I've got a map up with animation using batching - that's working quite well. Before putting it into my main project though, I want to get layers, items and moving entities in there. Yes practically a whole new game base :D But I need to make sure everything works correctly before I can start adding it into the main project.</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115058598036699305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115058598036699305' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115058598036699305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115058598036699305'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/bout-of-case-of-springtime-giddiness.html' title='A bout of a case of springtime giddiness.'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115029256507306693</id><published>2006-06-14T13:34:00.000Z</published><updated>2006-10-12T12:16:39.796Z</updated><title type='text'>A young mans primer on C# Game Development</title><summary type='text'>I've become totally distracted by batching at the moment. Mainly because I think it will kill my tearing problem in EINFALL and this would make me happy.I still don't understand the very very root cause of the problem so I've asked on the gpwiki forums.I've also been writing a program that has many different methods of rendering a tile map, and seeing which ones best. I still haven't done one </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115029256507306693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115029256507306693' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115029256507306693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115029256507306693'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/young-mans-primer-on-c-game.html' title='A young mans primer on C# Game Development'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115011520421367509</id><published>2006-06-12T12:06:00.000Z</published><updated>2006-10-12T12:16:39.702Z</updated><title type='text'>&gt;A tightly packaged bundle of analogies. Pick up? (Y/N)</title><summary type='text'>So I've offically selected Teeside as my Uni next year for a computer games programming masters. Today I worked on a C# DirectX Form that's a basic tile engine. With only a DirectX enabled form (clearing a panel to a blue colour) I get around 60fps - though there do seem to be sudden dips now and again, not sure why...I create a "naive tile render" which fills the panel up with around 750 tiles. </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115011520421367509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115011520421367509' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115011520421367509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115011520421367509'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/tightly-packaged-bundle-of-analogies.html' title='&gt;A tightly packaged bundle of analogies. Pick up? (Y/N)'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-115000699158504995</id><published>2006-06-11T06:10:00.000Z</published><updated>2006-10-12T12:16:39.619Z</updated><title type='text'>Found conflicts between different versions of the same dependent assembly.</title><summary type='text'>Why does this happen? Well it's the mess that comes with managed DirectX version 2.0, something I believe that's still in beta ... anyway it's quite quite different.Now if you're making a nice new DirectX project, as I'm inclined to do now and again, you add your directx references as per normal. Now, if you're anythingl like me there are a host of DirectX versions to choose from that you've </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/115000699158504995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=115000699158504995' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115000699158504995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/115000699158504995'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/found-conflicts-between-different.html' title='Found conflicts between different versions of the same dependent assembly.'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-114958688427976731</id><published>2006-06-06T09:28:00.000Z</published><updated>2006-10-12T12:16:39.533Z</updated><title type='text'>The first stand</title><summary type='text'>No code this weekend! No code this morning. It's like a pattern.There was a little code at school where I'm making a prototype Final Fantasy Battle type game in Java using the Golden T Game Engine or something (obviously the name needs changing as I can't remember it) with scripts in Python. That didn't last too long because I got distracted by reading about the Ebola virus (and the others in the</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/114958688427976731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=114958688427976731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114958688427976731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114958688427976731'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/06/first-stand.html' title='The first stand'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-114881221713869420</id><published>2006-05-28T10:24:00.000Z</published><updated>2006-10-12T12:16:39.443Z</updated><title type='text'>Cracker sandwiches are always a bad idea, this is a universal constant</title><summary type='text'>What did I achieve this weekend? Nothing, apart from a sunburn.I need to increase my time-management foo, there may be some progress tomorrow morning.I'm working on getting layers on my map in the hackishly cheapest way possible. But i also want to do so that I can edge ever so slightly to the correct way of doing things.My todo list has the tile problem and timing on it. After that I'll do the </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/114881221713869420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=114881221713869420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114881221713869420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114881221713869420'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/05/cracker-sandwiches-are-always-bad-idea.html' title='Cracker sandwiches are always a bad idea, this is a universal constant'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-114845693831564310</id><published>2006-05-24T07:41:00.000Z</published><updated>2006-10-12T12:16:39.338Z</updated><title type='text'>Savage Mythologies</title><summary type='text'>Here's the demo, it's GDI should work anywhere. Whatelse ... oh it still doesn't swap parent nodes, but I don't think that matters for a cross style movement pattern.   X  XOX   XPress the left mouse button to move the tank, press the right mouse button to place a poorly drawn mountain. Be amazed at the tanks path finding abilities.Oh there's no timing - so the tank will whip from location to </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/114845693831564310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=114845693831564310' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114845693831564310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114845693831564310'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/05/savage-mythologies.html' title='Savage Mythologies'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-114842328503668757</id><published>2006-05-23T22:22:00.000Z</published><updated>2006-10-12T12:16:39.252Z</updated><title type='text'>Swimming with sacred pigs</title><summary type='text'>So there's an excellent firefox plugin from google, called Google Notebook. I'd advise you get it. It allows to copy little bits of websites that you want to remember, then you can search them and sort them into a logical order etc etc. A bit like the scrapbook extension - which I also use, but that keeps whole pages which I read later (at school). I've tried to write something like google note </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/114842328503668757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=114842328503668757' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114842328503668757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114842328503668757'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/05/swimming-with-sacred-pigs.html' title='Swimming with sacred pigs'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-114819708480552460</id><published>2006-05-21T07:35:00.000Z</published><updated>2006-10-12T12:16:39.161Z</updated><title type='text'>Admire my fancy tile work</title><summary type='text'>Not too bad! I drew those tiles a while back, too jungly for grass really. This is double buffered GDI, I want to try and make something almost game like with my pathfinding library.(which still hasn't been tested on more that 10x10 tiles :D )</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/114819708480552460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=114819708480552460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114819708480552460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114819708480552460'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/05/admire-my-fancy-tile-work.html' title='Admire my fancy tile work'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-114816653325964025</id><published>2006-05-20T23:05:00.000Z</published><updated>2006-10-12T12:16:39.064Z</updated><title type='text'>Sun</title><summary type='text'>Today is shockingly beautiful, very sunny. This calls for sitting on the balconey and drinking coffee later today.I've fixed the first of my two menu bugs. I wasn't closing a filestream - duh, so I was defaulting to the default texture. Next up is the "why do the planets turn blue problem". If I get these two things done I may go off on a tangent and do something totally uneinfall related.Wheeee:</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/114816653325964025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=114816653325964025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114816653325964025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114816653325964025'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/05/sun.html' title='Sun'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-114809514574277626</id><published>2006-05-20T03:17:00.000Z</published><updated>2006-10-12T12:16:38.979Z</updated><title type='text'>See I still love you.</title><summary type='text'>The Basic Lua scripting tutorial has been updated to LuaInterface 1.3. The question of when I'll get round to the others, though, that remains unanswered :D</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/114809514574277626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=114809514574277626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114809514574277626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114809514574277626'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/05/see-i-still-love-you.html' title='See I still love you.'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-114809480566901993</id><published>2006-05-20T03:06:00.001Z</published><updated>2009-04-01T08:59:54.162Z</updated><title type='text'>Scripting with Lua in C#</title><summary type='text'>ContentsWhat to get?InstallingBasic Use of LuaA notch, a crank, knarc, ahctona!But wait! There's more amazing where that came from!Lua allows us to easily add scripting to our game. It's a well known, widely used standard (it was used in Balders Gate). Once added it can process both compiled and uncompiled Lua scripts giving a good combination of flexibility and strength. The greatest advantage </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/114809480566901993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=114809480566901993' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114809480566901993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114809480566901993'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/05/scripting-with-lua-in-c.html' title='Scripting with Lua in C#'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-114781753443107211</id><published>2006-05-16T22:08:00.000Z</published><updated>2006-10-12T12:16:38.707Z</updated><title type='text'>Tomorrow is today!</title><summary type='text'>I've been a bit lax with EINFALL of late, so I thought this morning I hit up my todo list and see what I could accomplish. Not much is the answer :D There's some bugs in the world selection screen - bugs with worlds being named incorrectly (probably very simple bug, but that doesn't mean it doesn't need fixing). Oh and the world displays themselves tend to mess up after you've played on the world</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/114781753443107211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=114781753443107211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114781753443107211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114781753443107211'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/05/tomorrow-is-today.html' title='Tomorrow is today!'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-114768214936592024</id><published>2006-05-15T08:18:00.000Z</published><updated>2006-10-12T12:16:38.625Z</updated><title type='text'>A game is a series of interesting choices</title><summary type='text'>So Sid Meier tell's us, and he should know! He's developed some excellent games. Of course I don't think he intended to include all games in this definition, rather just the one's he likes. (Remember that sports game on the ... nes? You had to keep pounding and mashing the controller buttons to make your guy run fast or throw the hammer far or whatever - strangely fun, perhaps only to nine years </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/114768214936592024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=114768214936592024' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114768214936592024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114768214936592024'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/05/game-is-series-of-interesting-choices.html' title='A game is a series of interesting choices'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-114758858234798076</id><published>2006-05-14T05:52:00.000Z</published><updated>2006-10-12T12:16:38.544Z</updated><title type='text'>Type and C# and Switching</title><summary type='text'>Ladies, gentlemen, sometimes we want to switch on type but we can't do it.Let's say you have a messaging system and you want to send messages to your entities. Also you want to be able to add as many messages as you want without changing any code.  Well then you might use a message or dispatch system.switch(entityMessage.GetType()){    case typeOf(MessagePoke):    {        MessagePoke poke = (</summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/114758858234798076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=114758858234798076' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114758858234798076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114758858234798076'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/05/type-and-c-and-switching.html' title='Type and C# and Switching'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5504649.post-114726570212226507</id><published>2006-05-10T12:44:00.000Z</published><updated>2006-10-12T12:16:38.462Z</updated><title type='text'>A spaniard in the making</title><summary type='text'>I continue to fool around with the path finding library.Last time the library required you pass in a list of nodes. Nodes can be through to be tiles, in games like FFT, Advance Wars, Civilization or planets in games like master of orion.The only thing I required of these nodes was that they knew their neighbours. But this proved to be a problem. Generally in tile based games a single tile does </summary><link rel='replies' type='application/atom+xml' href='http://www.godpatterns.com/feeds/114726570212226507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5504649&amp;postID=114726570212226507' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114726570212226507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5504649/posts/default/114726570212226507'/><link rel='alternate' type='text/html' href='http://www.godpatterns.com/2006/05/spaniard-in-making.html' title='A spaniard in the making'/><author><name>Dan</name><uri>http://www.blogger.com/profile/12534212423013377083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://photos3.flickr.com/4771616_fab49c8400_m.jpg'/></author><thr:total>0</thr:total></entry></feed>
