<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Pascal Game Development - Blogs - code_glitch</title>
		<link>http://www.pascalgamedevelopment.com/blog.php?1691-code_glitch</link>
		<description>Independent game development with Pascal and Object Pascal language tools.</description>
		<language>en</language>
		<lastBuildDate>Wed, 22 May 2013 05:56:13 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>http://www.pascalgamedevelopment.com/images/misc/rss.jpg</url>
			<title>Pascal Game Development - Blogs - code_glitch</title>
			<link>http://www.pascalgamedevelopment.com/blog.php?1691-code_glitch</link>
		</image>
		<item>
			<title>Meanwhile... In Southern England...</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?137-Meanwhile-In-Southern-England</link>
			<pubDate>Sat, 01 Dec 2012 19:48:05 GMT</pubDate>
			<description><![CDATA[Well I've been doing lots of code recently, but very little of it would appeal to PGD... All C/C++ and after 2 weeks of having to wake up, work and...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Well I've been doing lots of code recently, but very little of it would appeal to PGD... All C/C++ and after 2 weeks of having to wake up, work and go to sleep to C's quirks, tantrums, and other such &quot;specialities&quot; my head feels like its about to explode...<br />
<br />
So, whats all the sinning for? Well, the project relies on code as much as it does completely insane people - an attempt to develop and build a tiltrotor UAV with VTOL capabilities. Along the lines of a V22 Osprey but with a lot of design changes. Of course, the arduino's AVR chips just happen to only play 'nice' with the worst dialect of C in the history of the universe (as far as I know)...<br />
<br />
As development presses on and costs start to push the current budget a site of data and goodies as well as donations and maybe even sponsor gear might be an eventuality... For now, its back to the team debate as to why the planes in C and everything else in pascal... :D</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?137-Meanwhile-In-Southern-England</guid>
		</item>
		<item>
			<title>Going multithreaded...</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?135-Going-multithreaded</link>
			<pubDate>Tue, 30 Oct 2012 19:14:56 GMT</pubDate>
			<description><![CDATA[Well, after having dabbled on this topic many times before - I decided I'd do AMD's latest chips a favour and make my code benefit from all that...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Well, after having dabbled on this topic many times before - I decided I'd do AMD's latest chips a favour and make my code benefit from all that threaded goodness they can offer ;). So, I dove into the code archive and found some bits and bobs that had been gathering dust for a almost 2 years now... Turns out that since then a few bits were depreceated with FPC 2.6.0 :o. So I changed all the Execute() calls to Start() and hey presto, the old code had some life breathed back into it.<br />
<br />
So, after a bit of sitting around a couple weeks back I thought I might make some of my code benefit from the now common as grey weather in england this time of year multicore chips we all learnt to love back in the day. Multi threaded loaders, getting those pesky CPU based rotations and other such horros to work in parrallel and what not. So I set about making a generalized threading unit to be used with prometheus. It now works - point it at a procedure (sort of rather literally as it were8)) and tell it when to start working some magic and then you can launch 1, 2, 8, 16, 50 - or as the testing phase I ran had a crack at, 300 threads in parrallel. In short, it works - but any test with more than about 6-8 threads tooks this old dual core penryn deal I have here on holiday to breaking point :D<br />
<br />
So, now that I know it works, I've started rolling some utlity functionality - such as a function to get the ideal number of threads, work queues (lists of things for each thread to do), management for those queues (eg. Split into 2 threads, merge...), wait for loads of threads to finish, prioritizing threads (eg. Thread A can only be safely run after thread B is done, or thread C gets to a certain point)... All the goodnes that has me tearing up some big bits of code I previously thought were 'efficient enough' to make prometheus that bit faster. And in turn, everything I make that bit faster too. For now, I tested some of the TMX goodness and let me tell you - its a not much faster (maybe the fault of my running it on a mechanical laptop HDD). Though the fact you can now load small TMXs in under 90ms whereas you had to wait a whole 120 before might not help you much... It is a start :)<br />
<br />
Edit: almost forgot, for anyone wanting to get into threads and whatnot, AthenaOfDelphi put up a great tutorial here on PGD which is where I picked up the large majority of what I know on the topic - however small that is :D and you can find the first part right here: <a href="http://www.pascalgamedevelopment.com/content.php?135-Tripping-The-Class-Fantastic" target="_blank">http://www.pascalgamedevelopment.com...lass-Fantastic</a> (I reckon they should still compile great - with the only compiler warning as of FPC 2.6.0 being that TThread.Resume is obsolete for some techincal reason you can try to understand here: <a href="http://lazarus.freepascal.org/index.php?topic=14920.0" target="_blank">http://lazarus.freepascal.org/index.php?topic=14920.0</a> (as if things sort of werent secure enough already :D)<br />
<a href="http://www.pascalgamedevelopment.com/attachment.php?attachmentid=955&amp;d=1351625027" id="attachment955" rel="Lightbox_135" ><img src="http://www.pascalgamedevelopment.com/attachment.php?attachmentid=955&amp;d=1351625027&amp;thumb=1" border="0" alt="Click image for larger version.&nbsp;

Name:	PM Threads IT1 Test.jpg&nbsp;
Views:	47&nbsp;
Size:	32.0 KB&nbsp;
ID:	955" class="thumbnail" style="float:CONFIG" /></a></blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?135-Going-multithreaded</guid>
		</item>
		<item>
			<title><![CDATA[Back into development - why breaks aren't a good idea...]]></title>
			<link>http://www.pascalgamedevelopment.com/entry.php?134-Back-into-development-why-breaks-aren-t-a-good-idea</link>
			<pubDate>Sun, 21 Oct 2012 14:21:34 GMT</pubDate>
			<description><![CDATA[Well, as promised, I'll be putting a few more things up after having come back into the development scene. I'm pretty much jumping ship with my LD...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Well, as promised, I'll be putting a few more things up after having come back into the development scene. I'm pretty much jumping ship with my LD entry - despite it showing good progress, something I wont go into the details of :D.<br />
<br />
I see lots has changed now I'm compiling more stuff (and a lot of older stuff to make some new stuff work ;D). Especially on the depreceated front. I've got these in audio, threads and just about everywhere else. Even in bits of code I didnt even knew existed ::).<br />
<br />
At any rate, its good to see embarcadero planning linux support (do they include android in that as a form of 'linux'? ???) as well as they're new mozilla style release cycle which seems to ensure I'm always out of date with things in the pascal world XD<br />
<br />
Looks like I have a fair bit of catching up to do over the week long break coming up :)</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?134-Back-into-development-why-breaks-aren-t-a-good-idea</guid>
		</item>
		<item>
			<title>Back into games and... stuff...</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?131-Back-into-games-and-stuff</link>
			<pubDate>Mon, 03 Sep 2012 00:42:26 GMT</pubDate>
			<description><![CDATA[Well its sure been a while since we've seen a blog post round here, and even longer since I last went up and wrote something... Reminds me theres...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Well its sure been a while since we've seen a blog post round here, and even longer since I last went up and wrote something... Reminds me theres that game tutorial I need to write up for the article pages ::) along with a potential followup to that little OS development spiel I did a while back, but on a slightly broader platform...<br />
<br />
So anyways, what have I been up to these past months? Nothing special other than the culmination of the 5 final years of compulsory education and college entries and the like with results returning 2 odd weeks ago and all the follow-up parties after (Oh yeah ;D). In all, slacking paid off for me there with a smattering of A*s, a good bundle of As and the one lonely B (music... speaks for itself XD). On the other hand this approach does not seem to be working for my code... ???<br />
<br />
So at any rate after my return to the UK from a months stay over in Brittany I figured I might log onto the prometheis sourceforge page for the horror of seeing some now really old code. And then more horror to find the odd lost sould grabbing a copy every few days. Petrifying news given the number of known bugs I'd left it with :-[<br />
<br />
Still, on a more serious note I can say that although code has not progressed much, other areas have, since the last checkin I have a barebones OS which is hella fast at low level maths if you need to process large files with a basic algorithm, the workings of my own linux distribution all set with custom scripts, themes, configurations and nice fixes to make it work how I want it, a home SVN server for keeping tabs on your personal codebas (yes I do think this might be article material though it is VERY easy to setup i you google around) a whammy of unfinished projects - courtesy of some heavy experimentation going on in each one - and a need for a new router, monitor and storage space... Fun times :)<br />
<br />
Though its a relief to see those new captchas captching those spammers, only a dozen or so a day at peak times so a &quot;GREAT JOB!!!&quot; is due to WILL and Athena as well as everyone else helping out to help keep PGD clean 8)</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?131-Back-into-games-and-stuff</guid>
		</item>
		<item>
			<title>Ludum Dare 23 anybody?</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?129-Ludum-Dare-23-anybody</link>
			<pubDate>Thu, 19 Apr 2012 21:44:48 GMT</pubDate>
			<description><![CDATA[I know we have the PGD challenge on at the moment... But who doesn't like a blitz paced game dev jam? I know I have a lot of work on my entry to do...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">I know we have the PGD challenge on at the moment... But who doesn't like a blitz paced game dev jam? I know I have a lot of work on my entry to do still... But if I'm honest I've now sort of got that - I hate looking at my code a little since its virtually all the code I've done recently... And so, I decided I needed a break - but one where I didnt fall out of touch with game code... A break called LD23.<br />
<br />
Just to give you guys a heads up - the themes are looking absolutely awesome so I'd highly recommend checking it out - the main event is this weekend, and I'll be on the go again, so I'll see what I can pull together :D<br />
<br />
So, if any of you guys/gals out there were just waiting for an invitation - consider this as one! <br />
<br />
LD23 - JOIN IT.... Now wheres that hypnotic smiley........ ???</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?129-Ludum-Dare-23-anybody</guid>
		</item>
		<item>
			<title>Helios - and low level pascal</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?127-Helios-and-low-level-pascal</link>
			<pubDate>Mon, 05 Mar 2012 16:50:32 GMT</pubDate>
			<description><![CDATA[Well, looks like time is going to be on my side for the next few weeks so I figured I'd just drop a line in to PGD for the summary of whats been...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Well, looks like time is going to be on my side for the next few weeks so I figured I'd just drop a line in to PGD for the summary of whats been going on these past weeks (months!?)...<br />
<br />
Internet in the UK - Plastic box routers that look like they should contain pop tarts (bar the cat poopin magic rainbows) seem to perform as such and as a result the faithful old Livebox 1.1 has had to be barred from the house after 5 of them failed in weeks of each other - Orange and BT blamed our cables so I sent them packing... Now its back to some old(er) technology in the form of an outdated but rock solid Shiro DSL805e hooked up to a WNR100v2 from netgear. In english, thats an old faithful modem we brought back from south africa that now syncs at a cozy 18-20mbps and a cheap as chips 150mbps N router to pipe it all out to us. As easy and straightforward s that sounds theres 6 weeks right there :o... And when I told them it wasn't my wiring they still didnt listen 8)<br />
<br />
Past Exams - hey, its first results day thursday :) so that went well... More to come though so I'll be having some more time out soon unfortunately :(<br />
<br />
Prometheus - Yep, this one is STILL in the works. I've cleaned up the GL and some relevant docs are ready to be passed through fpdoc for publication, so yay. I can now say the graphics are now workable although my interpretation of XLib and X11 could use some refining - so if theres a good book out there please drop a line below ;D Win32 and Mac can make do with SDL for now, but something permanent would be very nice...<br />
<br />
PGD challenge - looking forward to it. Period. It'll be prometheus powered and hopefully that'll be more field experience with it for more tuning and development. Oh, did I mention I'm reading Andrus source to make it (sort of) integrate with ZenGL, think fonts so far, ;) so now resources fit together - Andru, credit where its due, there sure is some insanely good code in ZenGL...<br />
<br />
Helios - Yes, the little article that took FPC back to the bare metal. Well, I've had an idea after poking around my network and finding I have aeons of CPU time to burn so I might just get a diary of that focusing on getting a command line and some script language together - thinking something for number crunching on gargantuan scales could be fun since I have some code for that kind of thing already 8)<br />
<br />
So yeah, lots of smileys, happy times - work, but happy. I'll be keeping a small log going and if I ever get a playable game out of my prototypes, I'll see if I can get a write up in the tutorial section. Now about that photo for the PGD page will wanted......................</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?127-Helios-and-low-level-pascal</guid>
		</item>
		<item>
			<title>Prometheus - The 2nd Generation: Almost there</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?65-Prometheus-The-2nd-Generation-Almost-there</link>
			<pubDate>Fri, 25 Nov 2011 22:43:47 GMT</pubDate>
			<description>After a tedious 1 year of SDL and other performance, stability and compatibility hassles its was time to rebuild. 
 
Prometheus now runs faster,...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">After a tedious 1 year of SDL and other performance, stability and compatibility hassles its was time to rebuild.<br />
<br />
Prometheus now runs faster, smaller and more flexibly - and work is still being done in this area. Now theres an application logger that can be toggled at a flick of a bit, its pure OpenGl code that talks directly to X11/WinAPI and it has no DLLs/SOs. And to add another plus theres some extra niceness in the Utils unit that lets you lear out arrays with a single command, convert types on the fly, generate variables with the Quick prefix - all for that RAD element. Or how about PM_TextUtils, grabbing the name/value/information from XML and HTML meta style tags is a function away, or searching for what line of a file an occurence of a string is one? Its one function away.<br />
<br />
So, after a few months of rebuilding here's where its all at.<br />
<br />
What works:<br />
<br />
<ul><li style="">PM_Colour</li><li style="">PM_Config</li><li style="">PM_Debug</li><li style="">PM_Event</li><li style="">PM_Images</li><li style="">PM_Maps</li><li style="">PM_TextUtils</li><li style="">PM_TileSets</li><li style="">PM_Utils</li><li style="">PM_Window</li><li style="">PM_X11Window</li></ul>Now, this doesn't mean they are in their final implementations or that they are bug free - only that they perform their intended function equally well at equal or better performance than the 1st generation Prometheus on more than one platform. Sure, more in depth functionality will be added - but now its modular. Need Prometheus to do something it doesn't already? Its one unit away!<br />
<br />
Plus, as an added bonus - because its easy I'm looking at a PM_Legacy unit for 100% compatibility between Gen1 and Gen2, just for all those snippets of Gen1 I liked.<br />
<br />
Whats next?<br />
<br />
Well, first theres finishing off the Win32 side of things as those can still be experimental at times, legacy support and hey - for the SDL fans among us that like their := instead of xyz.abc() then I'm thinking about you too :)<br />
<br />
Just a quick update from me, as to how I spend my pre-exam week revision time and how the obscure thread in the Prometheus news thread really is. Oh, and did I mention, all the WIP elements should be done for the next Ludum Dare - and the Android units are hitting the repositories as soon as I get my compiler working for my shiny new galaxy ace 8)</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?65-Prometheus-The-2nd-Generation-Almost-there</guid>
		</item>
		<item>
			<title>Articles vs Blogs - the ultimate question</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?63-Articles-vs-Blogs-the-ultimate-question</link>
			<pubDate>Thu, 27 Oct 2011 22:40:28 GMT</pubDate>
			<description>Now before the wise guy/gal says it, the answer to my dilemma is NOT 42 :D... Ok, just jokes... 
 
In all seriouslynesses (I am familiar with grammar...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Now before the wise guy/gal says it, the answer to my dilemma is NOT 42 :D... Ok, just jokes...<br />
<br />
In all seriouslynesses (I am familiar with grammar btw) my blog posts may hit 900 or so views - and thats fine with me but then there's that article section that has more discussion about 'Tripping the Class Fantastic' By AthenaOfDelphi (Great read, highly recommended - especially the one on multithreading) and TileD demonstrations among a quick tanks tutorial by WILL (Also a great read and intro with lots of nice concepts) and thats about it. Meanwhile there is my blog posts with ubuntu themed like a mac (ubuntu RIP for me as well as windows, but I still have that theme kicking :)), general life things like when I wipe my hard drive from time to time and lose everything by accident or actually something to do with Programming and the list continues...<br />
<br />
So I sat down for 9 seconds, okay 11 tops, and engaged around 25 neurones and thought - which is a rare occurrence to be entirely honest - caffeine does a similar thing, I believe its called hyperactivity; they're quite similar when it comes to code.... Besides, back to the topic at hand: what if instead of posting random junk on this blog for 900 people to spend their time on I immortalized some of those ideas into some articles that could be indexed and be useful to everybody?! :o I know, its good isn't it 8) <br />
<br />
So from now on, or rather, without further ado, let me say, if I may, keep your eyes peeled on that new article box, (around 1/4 of the pixel real estate of the front page - you can't miss it) for some random bits of advice/tips/tutorials and other junk that might actually be useful to someone somewhere in sometime in the future (yeah, thats a mouthful :P)... The first installment is ready to be published and that way - those that want serious words from me can go to the article section, those that want general stuff can stay here, those that want both can read both and those that want none - then 1. Why are you reading this? and 2. Keeps your eyes and mouse of that articles box - its only 1/4 of the page...<br />
<br />
ASIDE from all that, I recently had a brainwave about something that could be fun, useful and generally good for the community in general - a SNIPPET OF THE WEEK! I might have to look into the best way of making it happen but I reckon that with the whole of PGD to submit their suggestions and my general lack of diligence and bored browsing - we could get some nifty stuff out to everyone to make those few lines of code - so much more powerful...<br />
<br />
Or we could do procedure of the month, or type of the fortnight... OK, maybe I should shutup now... Its 20 to midnight and I'm about to burn out at this pace.<br />
<br />
So thats really it from me for today (in this timezone at least). Really. :-X zzzZZZ</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?63-Articles-vs-Blogs-the-ultimate-question</guid>
		</item>
		<item>
			<title>Rolling out the new development</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?61-Rolling-out-the-new-development</link>
			<pubDate>Sun, 09 Oct 2011 11:38:16 GMT</pubDate>
			<description>Finally, nearing the end of term, the sun is not shining and its usually raining or windy - its the coding season :D 
 
In all seriousness, after the...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Finally, nearing the end of term, the sun is not shining and its usually raining or windy - its the coding season :D<br />
<br />
In all seriousness, after the fiasco I had in the last Ludum Dare to try and sort out language fails, dependency fails etc... I had a brainwave: 'scrap it all and start over' - and for the past few weeks thats exactly what I've been doing.<br />
<br />
So for now, prometheus is X11 only - but only for now. This is thanks to my extensive use of {$Ifdef linux} window management talks directly to X and gets events directly via X. Nice. This also mans I have to delve into the abyss of the WINAPI (noooo ;D) and rewrite it all for that, and get my hands on a mac to write WM code for whatever that uses.<br />
<br />
The result? Less image formats support for now (TGA or PNG) although BMP  and JPEG are in the pipeline, mildly better performance and reduced memory usage along with the main prize: No dlls or .so files to go with it all, no apt-getting dependencies, no xyz.dll into google to run the final exe. All this at a price, as much as I hate to admit it, Prometheus is now more complex - you must choose what units you are going to use (PM_Event for evernt handling, PM_Window for window handling, PM_Image for image handling, you get the idea) and...<br />
<br />
And a cool executable size of around 750k on my linux box 8). Its big, I'll grant you that, but for a release, its nothing a quick &quot;UPX ExecuteableFile&quot; can't slim down to 1/3 its orignal size. It may be a little big for a floppy disk, but its a darn size smaller than that XNA and .NET stuff, not to mention those 2100 dlls you'd have to package otherwise...</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?61-Rolling-out-the-new-development</guid>
		</item>
		<item>
			<title>Crash and Consequences</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?60-Crash-and-Consequences</link>
			<pubDate>Fri, 30 Sep 2011 15:55:44 GMT</pubDate>
			<description>As some with reporter/staff privileges may have noticed, Spam was rife in the last few days - and for once I have a good reason to not have logged on...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">As some with reporter/staff privileges may have noticed, Spam was rife in the last few days - and for once I have a good reason to not have logged on in the past few days...<br />
<br />
Bar the history, the problem I faced at the start of the week was an entirely re-written inode structure on my home ext4 partition - linux users among us will note this as serious.<br />
<br />
To make matters worse, this occurred while I was testing out direct access to the disc in an attempt to manipulate Ext for moving data more efficiently; it worked at 40Mib/S which for my hard drive is decent and more than what GParted can offer by an ample margin... But in my true spirit, I was working on data live (no backup) and of course, I failed to note the location of the partitions' start and end sectors. Move completed, some inodes didn't match and boom.<br />
<br />
Later due to my inadvertence while in the notorious 'sudo su' shell I made a badly flagged mke2fs over my partition :o.<br />
<br />
At the time, I knew my superblock had been overwritten and I had  1.8million possible sectors to try so I had a brainwave in the little line as follows:<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<pre class="bbcode_code"style="height:36px;">sudo dd if=/dev/sda bs=2048 conv=noerr,sync | pv | gzip -c -1 | split -b 2048m - /media/backupdsk/backup.gz-</pre>
</div>and to sew it back together is just a quick:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<pre class="bbcode_code"style="height:36px;">cat /media/backupdsk/backup.gz-* | pv | /media/finaldestination/Patchwork.gz</pre>
</div>Now why split it into 2gb blocks? Because I had some data I could not wipe on my drive, formatted as NTFS. I do not know if this normal linux behaviour but after 16 hours I noted that large (280GB+) files on an NTFS disk slow down, exponentially... PV is there because I like being nosy and having stats to look at - especially when/if it hangs...<br />
<br />
The result: a disk image to cat ad grep for data I need, and a move to mint from the scares of ubuntu oneric and natty... Eventful no? :D Moral of the story: don't mess with your FS, and if you do: BACK IT UP!</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?60-Crash-and-Consequences</guid>
		</item>
		<item>
			<title>Windows 8 - First Impressions</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?59-Windows-8-First-Impressions</link>
			<pubDate>Tue, 20 Sep 2011 21:18:53 GMT</pubDate>
			<description>Now, as you may/may not be aware, windows 8 is now in its public infancy - early after windows 7 and there is a very good reason for that. Once you...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Now, as you may/may not be aware, windows 8 is now in its public infancy - early after windows 7 and there is a very good reason for that. Once you take a look at the base of the UI you find that it seems to have its roots sturdily sunk into Windows phone 7, the future as MS called it.<br />
<br />
Now, I have an Acer Aspire 1425p, (and I might get the bitter truth out there early) with a capacitative multi touch screen on which to run this startmenu-less OS - but I doubt many others do ::). Further, its equipped with 3GB of RAM and the obscenely common 4500MHD GMA chip. WDDM drivers are not the issue - it 'looks' fluid, and I should darn well hope so, after all, when was your GPU lacking in so much oompf you couldn't open your start menu? :o<br />
<br />
Now, those are my major complaints, the fact there is now a 'store', your desktop is no longer the primary workspace (yes, you heard that one right) as well as the start menu being replaced by.... Well, by everything. Yes, everything:<br />
<img src="http://dl.dropbox.com/u/4853895/screenshots/Windows_8/Start%20Menu_Med.png" border="0" alt="" /><br />
THAT was the start menu :|<br />
<br />
Further, you need a monster internet connection if you live in any country like the UK - updating my profile takes up 600kbyte/s downstream for minutes on end... On the other hand, fans of boot camp, feel right at home: the bootloader now supports fading,  touch and HD graphics, although I do not know of many people that like to view their bootloader for such extended periods of time HD would matter but there you are.<br />
<br />
Yahoo and GMail address owners, horror: half of windows 8 is built around the Live system, thats @live and @hotmail. ALso, you must now SEARCH for your not-so well known apps such as MS Paint...<br />
<img src="http://dl.dropbox.com/u/4853895/screenshots/Windows_8/Search_Med.png" border="0" alt="" /><br />
<br />
On the upside, KDE users and GNOME users whom have always had the luxurious ksysguard and gnome-system-monitor at their disposal, windows has caught up in their own way, and so has the aero theme from the nice glass curves to the old windows 95 box style bars with transparency enabled:<br />
<img src="http://dl.dropbox.com/u/4853895/screenshots/Windows_8/TaskMan_Med.png" border="0" alt="" /><br />
<br />
Overall, this feels like Windows Media Centre grown into a full UI. And when I said Unity was not bad (just bad ideology) and that GNOME 3 is a bit 'out there' - having the ability to snap windows like so: Can seem a bit like, napalm weed killer.<br />
<img src="http://dl.dropbox.com/u/4853895/screenshots/Windows_8/Snap_Med.png" border="0" alt="" /><br />
<br />
SO, in conclusion, its radical and new and shiny - speed is low for my liking, Ubuntu 10.10 with 8 months of garbage in it creams it on boot, as does Mint 11 and I sure as heck hope its stable since none of the apps have a close button and I find myself pressing some Ctrl + Alt + Escape all to often. Smartscreen WILL drive you insane if you try to run somehting published by Adobe instead of MS or compiled by you and the likes. I know its early to judge, and I'm sure it will develop loads, but for now its fun - feels like vista fun thats on the cutting edge ;D<br />
<br />
Next is the compiler and some opengl benchmarks, so stay tuned!<br />
<br />
PS: If anyine feels like trolling etc, this is my very first impression, having Used OSX Snow Leopard, Ubuntu, SUSE, fedora, WIN2K, XP, VISTA and 7 (beta and release) this is how it strikes me. If anything, its a good radical change for MS however, being on the GNOME side of the unity camp - I feel it too much of a radical change for the time, maybe you do not etc... Bottom line, I am not claiming to be unbiased, I love linux and (to a slightly lesser extent) Mac and have had many bad experiences with Windows, but there is a lot of history there. Period. I find it a 50|50 case when dealing with windows 8...</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?59-Windows-8-First-Impressions</guid>
		</item>
		<item>
			<title>Recent development</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?58-Recent-development</link>
			<pubDate>Mon, 22 Aug 2011 17:40:56 GMT</pubDate>
			<description>Now, the Ludum Dare has my thanks for this next bit in helping me realize once again how fun and addicting coding can be at its best - just the sheer...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Now, the Ludum Dare has my thanks for this next bit in helping me realize once again how fun and addicting coding can be at its best - just the sheer spirit behind Ludumdare lead me to overhaul a lot of ideas and reconsider some concepts that I'd once deemed useless or unfeasible.<br />
<br />
And to start that new philosophy off there are a few new little announcements to be made:<br />
-I'm permanently scrapping the fixed array for dynamic arrays... With a new load of GetMem SetLength and etc in one library, its all ready there. No longer will I have to go into prometheus, take memory from TMX and maps and expand images/fonts. ever.<br />
<br />
-For those among us that like 'flixel' and use their map editors in place of TMX, I'm planning to roll out support for that too - it looks like I have a complete prometheus rewrite ahead so lets make the best of it.<br />
<br />
-'Compatibility mode', as a target, all code I write will attempt to be fully backwards compatible, already partially achieved but it could do with some help.<br />
<br />
-Documentation is en route as bugs are fixed, the docs are updated and I'm taking on board some skills from the freepascal.org ref manual - soon my code will be accessible to all.<br />
<br />
-Finally, error handling - I think we all usually skimp out on this at least a little bit, well no longer, with the implementation of log modes in code that should be no concern.<br />
<br />
Why write this out in a public place? Probably, because PGD has better memory than me and I may forget what my goals are, but more importantly, I had a positive experience with programming and so should you. If I had done all of the above my experience could have been better, so for those finding the IDE rather unused - work hard once, stick it in some libs and be done with it!</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?58-Recent-development</guid>
		</item>
		<item>
			<title>PGD Mini Compo - Day 1 progress</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?54-PGD-Mini-Compo-Day-1-progress</link>
			<pubDate>Fri, 17 Jun 2011 21:32:42 GMT</pubDate>
			<description><![CDATA[So, the PGD mini compos number 1 (or shall we say 0 in programmer talk :D?) finally got underway... 
 
As a rule of thumb, I'll most likely be...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">So, the PGD mini compos number 1 (or shall we say 0 in programmer talk :D?) finally got underway...<br />
<br />
As a rule of thumb, I'll most likely be posting quite often on progress and etc related to my game entry - since its a habbit I got into during the LD20 and now can't get rid of it... Whipped out exactly the same custom prometheus revision as the Ludum Dare challenge bar a few tweaks in constants, images, config handling and other minor mods.<br />
<br />
Approximately 2 hours of solid code spread over the evening has given rise to:<br />
-Platformer.<br />
-Something cool, like a magica/smash bros mix type thing which has all upgrades etc. The engine and rendering etc all almost done since last LD and other side development.<br />
-Multi-threaded engine to maximize performance TBD - POC code in a compo is not a good idea as I found out ::)<br />
-The main structure is all written up - just have to start adding content and features. The actual core is all good though 8)<br />
-A menu screen proposition is done - check the screenie. The numbers in the background all flip over, the particles move and the likes. :)<br />
<br />
Best of all: system requirements will most likely be:<br />
64MB RAM<br />
600MHZ CPU (preferably hyperthreaded/dual core)<br />
OpenGl 2.0<br />
&gt;640x480 32 bit color.<br />
and.... a keyboard! ;D<br />
<br />
<a href="http://www.pascalgamedevelopment.com/attachment.php?attachmentid=438&amp;d=1308346344" id="attachment438" rel="Lightbox_54" ><img src="http://www.pascalgamedevelopment.com/attachment.php?attachmentid=438&amp;d=1308346344&amp;thumb=1" border="0" alt="Click image for larger version.&nbsp;

Name:	MenuScreen_Alpha.jpg&nbsp;
Views:	78&nbsp;
Size:	77.0 KB&nbsp;
ID:	438" class="thumbnail" style="float:CONFIG" /></a><br />
<br />
Happy reading... And of course, coding too!</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?54-PGD-Mini-Compo-Day-1-progress</guid>
		</item>
		<item>
			<title>PGD Mini Compo - Are you ready?</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?53-PGD-Mini-Compo-Are-you-ready</link>
			<pubDate>Tue, 14 Jun 2011 21:39:53 GMT</pubDate>
			<description>As luck would have it, its still exam week (or more appropriately exam month :D) and as with all things in life, it all has to happen at the same...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">As luck would have it, its still exam week (or more appropriately exam month :D) and as with all things in life, it all has to happen at the same time...<br />
<br />
Oh well. Things look better than Ludum Dare #20 on my end in the run up for the PGD Mini Compo (we need a cool acronym for this one, hit me up on the comments with any ideas 8)). Translation: Things are better than 'I think it works... Well enough'. Its a phenomenon highlighted by my first Ludum Dare entry. Things might work very well in theory and dry runs, but leave it to a little prcatice and real world chance to change the way that matrix works, or how your threads co-operate :D.<br />
<br />
So, my checklist looks like this as of now (T minus 3 days):<br />
<br />
<ul><li style="">Audio subsystem - Using one made in late 2010/early 2011. (Not good 4/10)</li><li style="">Event handling - Using one made in the same era as the audio (Acceptable 6/10)</li><li style="">Graphic system - Updated 8 minutes 12 seconds ago (over 90% of it works, over 50% of it understandable by humans 6/10. More features could be nice)</li><li style="">Multi-threading automation system - Update 1 week ago (it works... Sort of. A bit slow but nice to work with 5/10)</li><li style="">Ideas and Creativity - Its exam week (Innexistant. This better be a good theme 1/10)</li><li style="">Free time - Its exam week and end of year stuff (Unkown 3/10 guess)</li></ul>So time for the math.<br />
On the technical side I am 52.5% as ready as I would like<br />
On the 'misc' category, its 20% as good as would be nice.<br />
<br />
Solution:<br />
Sainsburys are having BOGOFs and the like on cookies, Blue Bolt (crazy stuff :P) and everything nice. Time for a propper Ludum Dare coding spree to catch up the 2 months of work I've been slacking off in 2 days. Can it be done: given enough caffeine, pizza, cookies and other resources such as 5.1 Dolby - then it looks hopeful.<br />
<br />
WARNING to citizens that are affected by UK internal affairs and economy, read the last paragraph. Stockpile before I hit the shelves. :P:P:P</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?53-PGD-Mini-Compo-Are-you-ready</guid>
		</item>
		<item>
			<title>Multithreading - A world of hurt</title>
			<link>http://www.pascalgamedevelopment.com/entry.php?52-Multithreading-A-world-of-hurt</link>
			<pubDate>Thu, 02 Jun 2011 02:37:47 GMT</pubDate>
			<description><![CDATA[So you'd think multithreading is hard, until you get the baseline multithreaded console application, and then its easy. Untill you delve deeper into...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">So you'd think multithreading is hard, until you get the baseline multithreaded console application, and then its easy. Untill you delve deeper into actually integrating it into some useful code :D and the it isn't...<br />
<br />
Multithreading: dum all the engine's stuff into its thread and let that do constant housekeeping while you write your game code - perfect. Or not really: turns out that my initial fear of two threads accessing the same memory address at the same time is invalid, or rather misplaced. It has some truth: synchonysis. I saw that on my first live particle effect demo app. My main code hadn't finished drawing all the particles they were already on screen! And then they were gone at the same time :o when the engine thread decided it was going to clear for a re-draw. Hmm...<br />
<br />
All that aside, I've now spent 3 hours burning the midnoght oil and beyond (now 3:32 AM) with an end in sight. Its all synchronized thanks to a single procedure called at the end that tells the thread something like, all data is drawn, you may now handle the video data and we will wait for you to finish instead of letting it handle my windows and etc...<br />
<br />
All in all its quite nice, I cal one procedure once every game cycle, it handles the window, flipping, events (updates a variable to check later), keeps my FPS stable and lets me get on with whats what.<br />
<br />
However, there is 1x weird occurence: it ignore the last draw. Seriously. I don't know if it's to do with render code or the multithreading but hey thats the way it is. And calling <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<pre class="bbcode_code"style="height:36px;">glClear(GL_COLOR_BUFFER_BIT);</pre>
</div>from within the thread has no effect ???<br />
<br />
So far so good though, I have a standard procedure that does that for all game modes. If there is any interest in this, I might add it to Prometheus, but its a royal pain. Now implementing a random 'dummy' draw before the thread so it all works - its cheating I know but voila.<br />
<br />
cheers,<br />
code_glitch.</blockquote>

]]></content:encoded>
			<dc:creator>code_glitch</dc:creator>
			<guid isPermaLink="true">http://www.pascalgamedevelopment.com/entry.php?52-Multithreading-A-world-of-hurt</guid>
		</item>
	</channel>
</rss>
