<?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-20623502</id><updated>2012-02-12T07:30:32.731Z</updated><title type='text'>Mostly Fictional</title><subtitle type='html'>Liam McGuigan chronicles the development of The Complete Football Game using a combination of sloth-like behaviour and totally inadequate writing.

TCFG is, um, a football game.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>96</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-20623502.post-2162707406394056367</id><published>2010-04-02T20:44:00.004+01:00</published><updated>2010-04-02T21:03:06.088+01:00</updated><title type='text'>A Lack of Control</title><content type='html'>&lt;span style="font-family:verdana;"&gt;The past month has been spent building up the moveset of players, and then tearing the whole thing down again. That was intentional though, I swear.&lt;br /&gt;&lt;br /&gt;Having earlier given players a physical presence, the next task was to get them to interact with the ball. I stuck with a sticky ball system, as it's easiest to get up and running in game-form, so when a player is in possession the ball is pretty much locked to his feet until he releases it, or he's tackled. Passes were added, with some nifty code that allowed a player to weight a pass just perfectly, and then I topped it off with shots capable of breaking the net.&lt;br /&gt;&lt;br /&gt;Well, ignoring the net. One of the things I had yet to do with the collision detection system is deal with objects that move faster in one frame than their own size, allowing them to easily pass through thin objects like goal nets. Oh well, that was fairly easy to solve, simply splitting the motion in a single frame into several smaller chunks to ensure everything's caught.&lt;br /&gt;&lt;br /&gt;That left first-touch football as the only thing that still needed doing, and thanks to the aforementioned tearing down, that's still largely the case.&lt;br /&gt;&lt;br /&gt;The game deals with everything using an Action system. Everything a player can do is ultimately an action. Some are continuous, like running, where as along as the action is set the player will run in the given direction. Others are timed, and an example of that might be a volley - it takes time to swing your leg, with only the point where the swing connects with the ball being of any concern.&lt;br /&gt;&lt;br /&gt;Naturally, because of this the game needs to work out exactly where and when you should start swinging, which depends on the ball's trajectory, your position, and so on. Unfortunately, what I've managed so far is first to have the player move to position then stand like a goober because he can't work out the timing, presumably because of the archaic intercept timing system I have which wasn't designed for this purpose. I've also managed to tweak a few values and have a player run to the ball and then encircle it forever, which I think might be a good model for some footballers, but doesn't exactly lead to a fun game.&lt;br /&gt;&lt;br /&gt;Looks to me like I'll have to tackle the interception system. Which sounds obvious, and that's probably because it is and I didn't think of it until now.&lt;br /&gt;&lt;br /&gt;I tell you, this blog's like a Mac. Pays for itself.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-2162707406394056367?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/2162707406394056367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=2162707406394056367' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/2162707406394056367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/2162707406394056367'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2010/04/lack-of-control.html' title='A Lack of Control'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-3641693627688404249</id><published>2010-02-25T23:00:00.002Z</published><updated>2010-02-25T23:12:28.636Z</updated><title type='text'>Year 2010 of development</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Oh, how I do love my big long gaps between posts.&lt;br /&gt;&lt;br /&gt;Picking up where I left off, I expanded the match engine to include some rudimentary set pieces, then trotted off to work on FryGUI2 for some time, even though I said I wouldn't. Eventually though I was lured back to the match engine.&lt;br /&gt;&lt;br /&gt;My next task was to inject a bit of physical presence. Players were ghosts at this point, freely floating through one another in their pursuit of the ball. Of course, some existing games work like that, even the mighty Sensi, but there's a lack of satisfaction when you can't use your ample frame to block an opponent's attempts to dispossess you, and the likes of NSS3 show it can even be done in the classic top-down viewpoint.&lt;br /&gt;&lt;br /&gt;Added to that, I wanted some momentum. I had players reaching top speed instantly, and equally quickly they'd grind to a halt when the stick was released - good enough to get things moving, but again it just wasn't satisfying. Players need to feel weighty.&lt;br /&gt;&lt;br /&gt;After some experimentation, I quickly decided in that familar way of mine to start writing another engine, this time featuring the basic physics and collision detection along with the graphics display. Using the old graphics engine as a base, I added some bounding volumes for collision detection, got immensely frustrated a number of times that possibly entered three figures, got drunk a lot, and eventually landed with a working system. Again, it was one of those things that was quite pleasing to finally have working, and again it was one of those things that didn't really bring me any closer to having an actual game.&lt;br /&gt;&lt;br /&gt;No matter! Back to the match engine, rebuilt now using the newly named FryWorld, back to largely working order but with the added bonus of collision detection. It only took about six months. I'm so proud.&lt;br /&gt;&lt;br /&gt;In the coming weeks I'll be building up the move set and expanding on the basic AI, hopefully getting myself a playable match for the first time ever.&lt;br /&gt;&lt;br /&gt;Then, I think, I might just get drunk.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-3641693627688404249?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/3641693627688404249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=3641693627688404249' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/3641693627688404249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/3641693627688404249'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2010/02/year-2010-of-development.html' title='Year 2010 of development'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-6123133004971860441</id><published>2009-08-02T14:19:00.002+01:00</published><updated>2009-08-02T14:31:02.840+01:00</updated><title type='text'>Playing in a box</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Well, two weeks later and that's what I've got. 22 poorly drawn and animated men running around playing something approaching football in a big enclosed space. There are no set pieces (not even kick off), the defenders don't do anything and every player is exceedingly single minded when he finally gets on the ball, but at least it's all a start.&lt;br /&gt;&lt;br /&gt;There's no kick off - the ball just floats in from the sideline and all 22 men start right on the centre spot, inhabiting each others bodies in ways that I didn't intend. There are no goals to be scored, not just because there are no goalposts but because there's an invisible forcefield surrounding the entire pitch that's deflecting the ball should it dare venture in that direction. Even if there were goals, there's no ref to allow them.&lt;br /&gt;&lt;br /&gt;So there's still a lot to be done on this basic version before I can start building upon things. I'd have liked at this point to say "well, I've got a start, let's go tackle the GUI" but that's the sort of lazy thinking that got me here in the first place - several years on without a football match.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-6123133004971860441?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/6123133004971860441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=6123133004971860441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/6123133004971860441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/6123133004971860441'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2009/08/playing-in-box.html' title='Playing in a box'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-8598797715861902193</id><published>2009-07-18T19:19:00.004+01:00</published><updated>2009-07-26T18:08:47.979+01:00</updated><title type='text'>Football, football, football.</title><content type='html'>&lt;span style="font-family:verdana;"&gt;About two years ago I posted &lt;span style="font-family:verdana;"&gt;about my frustrations with creating a good match engine. I got severely pissed off about it all and went off to do other parts of the game. Those done, I recently went back to the match and am feeling no different, unfortunately.&lt;br /&gt;&lt;br /&gt;I spent a short while mucking about with 3D engines and in the end decided that it would probably be too much effort right now fretting about that. I created a 2D engine based on the same principles as Blitz3D's system (a world full of entities, basically) as a kind of stepping stone, and also so it's easy enough to update and draw each frame. That's working brilliantly, so as you can guess, it isn't the problem.&lt;br /&gt;&lt;br /&gt;Getting the perspective right is the issue. I'm wondering if it's worth pushing on until I've got it sorted. Now, the right attitude should be to press on - I'm using placeholder art anyway - and then correct things when the basic game is up and running and tweaks can be made. The match engine's inner workings are separate from the graphics, so it should be pretty simple to do so. I'll just have to ignore some graphical quirks - currently the actual pitch is being viewed from directly overhead, whilst the players are from an angle, lending the whole thing a rather odd feel.&lt;br /&gt;&lt;br /&gt;Still, pushing ahead I did manage to create a control abstraction system. This lets me poll what I call a virtual joypad for input. The actual input could come from key, joypad or even the mouse, but as far as the game's concerned it all comes from this one joypad. It works quite well, though it still needs a few things tidied up.&lt;br /&gt;&lt;br /&gt;I'm going to make a big push over the next few weeks to get somewhere with the match engine and see if I can have it play an utterly terrible, but thankfully complete game of football. From there, I can start tweaking the perspective, improving the AI and expanding the controls and options.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-8598797715861902193?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/8598797715861902193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=8598797715861902193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/8598797715861902193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/8598797715861902193'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2009/07/football-football-football.html' title='Football, football, football.'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-8192447934854711885</id><published>2009-03-07T20:17:00.002Z</published><updated>2009-03-07T20:39:14.466Z</updated><title type='text'>Platini said my game rocks. Allegedly.</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Today, I started work on a new GUI system. As much as I like the original FryGUI, there are a few features that I'd like to support that, whilst possible to implement in the existing code, would require enough rewrites and redesigns that I'd be as well starting afresh.&lt;br /&gt;&lt;br /&gt;I'm sticking with the Screens and Panels system which works well, and adding support for things that I think really ought to be there. Chief among these is multiple resolution support. Instead of sticking rigidly to an intial res, the interface will scale appropriately when altered by resizing the panels and gadgets appropriately. Fonts might get bigger, tables might get more info visible on-screen at once, and so forth.&lt;br /&gt;&lt;br /&gt;The other major inclusion is joypad control. I'm making a football game, the joypad will be the primary method of control during a match, so it's pretty important that I can navigate screens using it rather than have to reach for the mouse every time I fancy making a substitution. Navigation using Tab or the cursor keys will also be supported.&lt;br /&gt;&lt;br /&gt;Other additions include allowing individual screens to reposition panels, more flexibility regarding skins (previously, skin border details etc. were hard coded, I never did get around to making them editable), positioning gadgets using reference points rather than hard coordinates (e.g. BOTTOM_RIGHT for the bottom right of a panel, regardless of size), animated gadgets, improved tables and better text input (with clipboard support, or at least that's the plan).&lt;br /&gt;&lt;br /&gt;Meanwhile, Michel Platini was in the stands as Newry City (my home town team) lost to Portadown last weekend. The footballing world is certainly a strange place.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-8192447934854711885?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/8192447934854711885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=8192447934854711885' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/8192447934854711885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/8192447934854711885'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2009/03/platini-said-my-game-rocks-allegedly.html' title='Platini said my game rocks. Allegedly.'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-3956545134381448327</id><published>2009-02-22T19:49:00.003Z</published><updated>2009-02-22T20:26:03.094Z</updated><title type='text'>Leagues forever</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Leagues have taken up a fair bit of my time recently. More specifically, promotions and relegations.&lt;br /&gt;&lt;br /&gt;I didn't want to have a simple system where teams go up and down willy nilly, I wanted to match some of the complexity of the various leagues from around the world. There should be restrictions on teams climbing the leagues, ground requirements to be met and limits on the progress of B teams, blocking promotions or even forcibly relegating them to accomodate relegated first squads. It was tough, but I've a working system.&lt;br /&gt;&lt;br /&gt;I've had one of my frequent worries recently about whether or not things would hold together. Individual competitions and leagues are working, as are the connections between them, but I've never been able to test it properly over a long period of time, to see how the game copes with the data being thrown around, to make sure little oversights here or there don't conspire to bring things crumbling down ten or twenty seasons later.&lt;br /&gt;&lt;br /&gt;That's what I've just been doing today. There's only a small selection of competitions forming a league system and a cup, but it's a good test for now.&lt;br /&gt;&lt;br /&gt;Happily, 32 seasons later the game's still blasting away. That's about half of what I really need, as careers can start with the player as young as 14, so we really need to keep him going until he's about 70. 55 seasons at the very least. Looking at the test competitions I've been using, they've been working every season, no crashes, and the league is still structured as expected.&lt;br /&gt;&lt;br /&gt;And happily, something that's difficult to fully test for but brilliantly came out anyhow - a team won the second division of the league in 2036, and their B team won the same division in 2037, showing that B teams will still be promoted if their A team is promoted ahead of them. Sweet!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-3956545134381448327?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/3956545134381448327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=3956545134381448327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/3956545134381448327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/3956545134381448327'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2009/02/leagues-forever.html' title='Leagues forever'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-2125345615083636782</id><published>2009-01-28T21:19:00.002Z</published><updated>2009-01-28T21:29:39.990Z</updated><title type='text'>Round and Round</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Knockout competitions are fun things, aren't they? Full of excitement and drama, and because they're so simple, you'd think they'd be easier than a league to put into a game. And in thinking that, you'd be wrong - at least as far as this game goes.&lt;br /&gt;&lt;br /&gt;The biggest concern is in coping whenever you've got fewer entrants than you expected. A league can simply adjust the number of fixtures everyone plays in order to compensate but in a knockout, playing fewer games in one round will affect those that come later. This is worth considering, because with so many competitions and possibilities, it's next to impossible to guarantee that something won't go wrong somewhere and render a knockout short on teams. It won't necessarily be a bug or an oversight either - the Europa League has differing numbers of entrants depending on whether or not the holders are participating in this season's Champions League, whilst in the English League Cup, teams playing in Europe get byes to later in the competition.&lt;br /&gt;&lt;br /&gt;The game needs to be able to react to this. One possible solution would be to cater for every possibility by creating several formats and choosing the one that works, but that's awfully wasteful. Instead, I decided that knockout stages should be able to take control of their own destiny.&lt;br /&gt;&lt;br /&gt;By telling the game how many teams are supposed to reach the final, the rounds that some teams get seeded into automatically, and how many teams are expected to join midway (think the CL failures dropping into the Europa League), any knockout competition can adjust its format. All I need to do is tell the game what rounds might possibly be played - the League Cup actually has a preliminary round that has only been played once, but if nine English sides are in Europe in a given season, it'll turn up.&lt;br /&gt;&lt;br /&gt;Seeing this work has been hugely satisfying because it was a major cause of headaches over the last while. Knowing that a competition will be react to changes takes a lot of pressure off, as the whole thing is less likely to break down because things didn't work out entirely as expected, and in football, you just can't expect anything.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-2125345615083636782?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/2125345615083636782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=2125345615083636782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/2125345615083636782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/2125345615083636782'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2009/01/round-and-round.html' title='Round and Round'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-3600575039380940377</id><published>2008-12-22T05:06:00.003Z</published><updated>2008-12-22T05:44:36.584Z</updated><title type='text'>And some other stuff</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I didn't really want to put this in the other post, because it's not related to my game. Much.&lt;br /&gt;&lt;br /&gt;Since the last post, I've played some new football games, and I figure I ought to give some impressions. So, let's get down to it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Euro 2008 and FIFA 09&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;EA really pulled something out of the bag with these ones. I've actually enjoyed the FIFA series since 2005, but it wasn't until 08 that I saw it get better than Konami's efforts. The game now is an excellent tactical football game, tremendous multiplayer fodder, and with a solid single player experience to help it along.&lt;br /&gt;&lt;br /&gt;Euro 2008's major draw was the international minnows, so it's a huge shame to yet again see EA ditch the work that's already been done and go back to having about 40 national sides from around the world. Every year I cry for more to be done with the FIFA license, especially following games that back up major tournaments, and every year they fail to deliver.&lt;br /&gt;&lt;br /&gt;Still, Euro 2008 had another trick up its sleeve with the Captain Your Country mode. A fleshed out version of 08's Be A Pro, it gave you a new way to play the game and a 20-odd match campaign in which to do it. It had its problems and oddities - player stats decreasing over the two year period like they've just been shot in the legs, and the bizarre need to select three other players whether you've got that many friends or not, but it took over my football gaming time. Sod the team game, I wanted to be me.&lt;br /&gt;&lt;br /&gt;FIFA 09 topped it. A better game all round, but the Be A Pro Seasons mode is terrific. It's an arcadey bent in terms of presentation, and as such suffers from some of the same flaws that beset the Career mode in the game, but has a tremendous sense of playing through four years of a player's on-pitch life. Scoring a goal in FIFA has been satisfying for some time. Scoring it thanks to your off the ball movements and link up play is even better.&lt;br /&gt;&lt;br /&gt;However, FIFA fell by the wayside when something else arrived...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;New Star Soccer 4&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Hooray, it arrived!&lt;br /&gt;&lt;br /&gt;Now, I'm not suggesting NSS4 is better than FIFA. It's an unfair comparison for a start, like comparing Mario Kart to Gran Turismo, as both have different takes on how football should be played. FIFA is a pure simulation, whilst NSS4 harks back to the arcadey football games of old, where &lt;span style="font-style: italic;"&gt;your &lt;/span&gt;skill as a player is all that really matters.&lt;br /&gt;&lt;br /&gt;No, what made me drop FIFA for NSS4 (in addition to not having to wait for the telly to be free) was the prospect of playing an entire career, across a host of real life leagues. The game lets you start as a 15 year old in any position on the pitch, and play out over 20 or more years as you try to take the world by storm, which provides an interesting comparison - FIFA's the football simulation that takes an arcade approach to playing a career, and NSS4 is almost a polar opposite. It does have arcade-like systems for relationship management and skill improvement through mini-game training sessions, but basing it in a world of real competitions gives it a strong appeal.&lt;br /&gt;&lt;br /&gt;I loved NSS3, so was always looking forward to this. Then one day it was revealed that NSS4 would be in 3D, and I think I probably bit my tongue hard. The previous game's 2D mode had only just been introduced and made for an excellent game, and I was skeptical that the same gameplay could be carried over to an extra dimension.&lt;br /&gt;&lt;br /&gt;It managed it. In fact, it more than managed it, as I rate the new game even higher than its predecessor. The fully analogue controls certainly help matters, and everything here feels right. Players have a very satisfying weight, which is very evident in-game with stronger players pushing others off the ball and using their bodies to hold possession. After sufficient training, I was able to dribble between gaps in the defence and rely on my player being able to hold off the jostles.&lt;br /&gt;&lt;br /&gt;Graphically, it's an interesting one. Up close, the angular players look robotic and blank, and you pine for the pixel art of NSS3. Yet at a playable distance, the bold colours and minimal textures give the game an almost stylised look.&lt;br /&gt;&lt;br /&gt;It's not without its faults. Although you can play as a goalkeeper, it's a virtual afterthought with the CPU taking control of everything bar your own positioning, and no training challenges are available. Thankfully, this is already being looked at for a future update. If the controls are as simple and effective as the outfield play, this could be a tremendous feature.&lt;br /&gt;&lt;br /&gt;Regardless, it has me hooked, with the same addictive feel that saw me pump so many hours into the last game. And, I guess, it's nice to see FryGUI holding up well in an actual release!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-3600575039380940377?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/3600575039380940377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=3600575039380940377' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/3600575039380940377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/3600575039380940377'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2008/12/and-some-other-stuff.html' title='And some other stuff'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-6528757245185802706</id><published>2008-12-22T04:19:00.002Z</published><updated>2008-12-22T05:06:00.399Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;&lt;span style="font-family: verdana;"&gt;Yes, I'm still alive.&lt;br /&gt;&lt;br /&gt;And so is the game.&lt;br /&gt;&lt;br /&gt;The refactoring kept on going through that delicious blogging hiatus. As I had said before, everything is so much smoother with the competitions and although there are still things to go, I'm pretty confident that it was worth all the effort. I was setting myself up for major headaches further down the line with the old system, so the streamlined one is a great improvement.&lt;br /&gt;&lt;br /&gt;I've been thinking recently about what the game consists of, and I think I've got it broken down into five key areas.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Competition Engine&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;If football games were a car (and oh, how people seem to love treating them as as metaphorical automobiles), the competition engine would actually be the network of roads on which they drive. Except, er, inside the car. So a satnav perhaps. Oh, I dunno.&lt;br /&gt;&lt;br /&gt;Anyway, the competition engine's job is naturally to manage the competitions in the game. It has the structures, generates the fixtures, deals with the results, and so on. This is the area of the game that's most complete at the moment, with only a little bit more tidying really required. It could have been so much easier, but I wanted competitions to be accurate, so the complexity ramped up.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Navigation&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The steering wheel, I guess. And maybe your pedals, handbrake and gear knob. Heh, knob.&lt;br /&gt;&lt;br /&gt;Off the pitch, this is your interface with the game. You need to be able to view competitions, clubs, players, and a host of other information in a clean and accessible way. It's underdeveloped at the moment, as it's just a testing area for the competitions. Thus, it's pig ugly, has a host of bugs, and doesn't actually allow for anything other than viewing competitions one stage at a time. Luckily, FryGUI's decent enough in my view to allow all this to be fixed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Game Engine&lt;/span&gt;&lt;br /&gt;This is your engine. Your car engine, that is. It drives the game forward, progressing through time. Actually, this is more like an entire car - electricals and all - than just the engine, because the game engine is split into myriad different parts that all do something important. It controls the game clock, generates news events, deals with off-pitch AI concerns, picks teams, selects squads, and anything else. If you click on a button that does more than just move you to another screen, the game engine is beavering away and carrying that out.&lt;br /&gt;&lt;br /&gt;Like the navigation, this is basic right now and serves only to test the competitions. The clock advances properly (hooray), daily fixtures are passed to the fledgling match engine, results are returned, and not much else. The core is there, but it needs a lot more to it - they will come as the features require them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Match Engine&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Every football game needs one. I dunno what part of a car it is though, so we'll just pretend it's the wipers. If you don't know what it does, you probably don't care much for the sport.&lt;br /&gt;&lt;br /&gt;This is virtually non-existant at the moment. I've got an old formation editor, a 2D graphics engine that works but might get chucked, and a bunch of notes on how I plan to approach the AI. It's simultaneously depressing and exciting - the most important part of the game hasn't even been worked on properly, but on the other hand, I get to make a football game and experiment with a host of control options and things that might work and might not.&lt;br /&gt;&lt;br /&gt;At the minute, fixtures are passed to this and random results are returned. It's all the competition testing needs.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Data&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Without data, you've got nothing. A football match cannot be played without players, is disorganised without teams, and has no meaning without competitions in which to play them.&lt;br /&gt;&lt;br /&gt;What's actually great about data entry though is that it's so passive. You research, you fill in spreadsheets or data editor forms, and it requires next to no thought. As such, on one of the many days when I've sat around bored, this is what I do.&lt;br /&gt;&lt;br /&gt;Right now, around half of the FIFA affiliated nations in the game have clubs, essential for any league to be created. Europe and South America have been created in their entirety, whilst Africa, North America, Asia and Oceania have work remaining - and this is before I get into creating the competitions and getting to work on players.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reading that all back, it does seem like so little has been done and to a certain extent that is true, but as ever a lot is in the planning. The database structure is complete. The competition structure is complete. The game engine's core is complete. What's left is to bolt on the little segments here and there that make the game come alive, the internal details that turn a sterile world into something almost real.&lt;br /&gt;&lt;br /&gt;And also, I guess, to get some men playing football.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-6528757245185802706?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/6528757245185802706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=6528757245185802706' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/6528757245185802706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/6528757245185802706'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2008/12/yes-im-still-alive.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-5824944545002382683</id><published>2008-04-26T12:11:00.002+01:00</published><updated>2008-04-26T12:49:28.489+01:00</updated><title type='text'>Warum hast Du nichts getan?</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Well I wouldn't say that! I've done &lt;span style="font-style: italic;"&gt;something&lt;/span&gt;, it just hasn't been that major in the grand scheme of things.&lt;br /&gt;&lt;br /&gt;Ok, first up. The big three and a half month gap, what's with that? Well, various things happened in my actual life which slowed down development somewhat. I guess shit like that happens, but everyone's all the better for it. In a topsy-turvy period of potential house moves (I didn't in the end) and television purchasing (I did), it was pretty hard to find the time to sit down and really get stuck into the meat of the game. My mind, sadly, was elsewhere.&lt;br /&gt;&lt;br /&gt;As seems to be the case, when I finally got back into the swing of things I've been refactoring. This game's been in development for longer than some national football teams have existed (I'm looking at you, Saarland) and so some parts are much older than others, coded using methods that have long since been bettered, and there comes a time when trying to extend the old code to provide new functionality becomes so tiresome that it would be more beneficial to rewrite it. I've said this before. Maybe this is why the game hasn't been finished...&lt;br /&gt;&lt;br /&gt;So where once I had working competitions and league systems, now I have nothing but shells. Thankfully, pace has picked up a fair bit over the last few weeks and things are really thundering on, so I've made plenty more progress and I'm far happier working with the new code. Improvements have been made to a few areas and everything's so much cleaner.&lt;br /&gt;&lt;br /&gt;I've got some targets now, targets I'd like to hit. However, I know for a fact that if I mention them here I'll never hit them, so I'll just keep them to myself. Needless to say the next one needs to be hit by Monday night or GTA is going to delay everything.&lt;br /&gt;&lt;br /&gt;At least I still have Simon Read to keep me working on my GUI system, FryGUI. He has taken that module and done some great things with it in the latest in the &lt;a href="http://www.newstargames.com"&gt;New Star Soccer series&lt;/a&gt;, and he's been ever vigilant in finding bugs and recommending new features. NSS3 is certainly one of my favourite football games, NSS4 is coming along as a leap forward that's every bit as large as the leap from the second game, so get over there and take a look.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-5824944545002382683?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/5824944545002382683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=5824944545002382683' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/5824944545002382683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/5824944545002382683'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2008/04/warum-hast-du-nichts-getan.html' title='Warum hast Du nichts getan?'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-7328498170952363541</id><published>2008-01-07T21:43:00.000Z</published><updated>2008-01-08T19:22:35.047Z</updated><title type='text'>City 17</title><content type='html'>&lt;span style="font-family:verdana;"&gt;I've just been playing a lot of Half-Life 2 recently.&lt;br /&gt;&lt;br /&gt;Cities, though. They're fiddly things. Ask a guy in Manchester where Arsenal are from, and he'll tell you "London". Ask a guy in London, and he'll probably tell you North London. Or, if he's really specific, Holloway.&lt;br /&gt;&lt;br /&gt;Arsenal are a big club, known the world over, so it's fair to say they're from London, just as Everton are known to be from Liverpool, Rosenborg from Trondheim, and so on. They're big clubs in their areas, it's also fair to say that they can take their fans from across the entire city, although of course that's not always true (try finding a Cliftonville fan in Sandy Row in Belfast).&lt;br /&gt;&lt;br /&gt;Anyhow, as you go lower in these major cities, especially in countries where the game has many levels, you can often end up with many teams in one league professing to be from one city. This came up yesterday when I was researching the Victorian Premier League in Australia - every team bar the Australian Institute of Sport come from Melbourne.&lt;br /&gt;&lt;br /&gt;Melbourne has many parts, and each of the teams represents a particular part. Preston Lions, Oakleigh Cannons, Heidelberg United and so on all represent the areas they're named after. I could split Melbourne up into these constituent parts, but then if I searched for teams from Melbourne, I'd get Victory and Knights, and no-one else. So I figured they'd all be from Melbourne.&lt;br /&gt;&lt;br /&gt;That's fairly good, although it does mean that the game would need extra code to stop treating every game as a derby, when they really aren't. It's also at odds with the situation in London.&lt;br /&gt;&lt;br /&gt;The English leagues in the game are modelled down to the tenth level. As you drop down as low as level seven in the pyramid, teams from London tend to play in different regional leagues to each other, and the lower you get the more this can be apparent. Obviously, stating that they're all from London means that the clubs would be placed in the wrong divisions, not to mention creating several thousand London derbies each season.&lt;br /&gt;&lt;br /&gt;So London is effectively split up in to its constituent areas and everyone's happy until you try to search for London clubs and none show up. Bah. I could try adding the major city to each place name, such as "Fulham, London" but it's not the cleanest of solutions.&lt;br /&gt;&lt;br /&gt;I don't know why it took me this long, but I figured if I just add another field to each location in the game that allows me to say it's part of a larger city, it'd solve all problems. Search for teams from London, you get them all. Search for those from Holloway, and you get Arsenal, and if Arsenal turn to poo after Wenger leaves and drop down six divisions, they'll still be in the right place.&lt;br /&gt;&lt;br /&gt;This doesn't make you as happy as it makes me, but I don't care.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-7328498170952363541?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/7328498170952363541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=7328498170952363541' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/7328498170952363541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/7328498170952363541'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2008/01/city-17.html' title='City 17'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-1124758741704717218</id><published>2007-12-30T20:36:00.000Z</published><updated>2007-12-30T20:40:47.238Z</updated><title type='text'>I'm still here</title><content type='html'>Three and a half months, eh? Blimey.&lt;br /&gt;&lt;br /&gt;The reason for that unsightly delay is pretty much that I managed to land myself a job, and as such haven't quite had so much time to work on the game in recent times. Most of the work I have been doing is data entry, which isn't really that exciting.&lt;br /&gt;&lt;br /&gt;I'm currently in the process of getting a match engine up and working, which is coming along reasonably well but without players it's all a bit pointless. I keep hitting a hump when I approach it and end up running off to fill in Korean football teams, but unfortunately no amount of teams are going to make an adequate substitute for the actual football so I've got to push through that.&lt;br /&gt;&lt;br /&gt;When I get a match engine in, however basic, I can then get a working alpha ready. Pick a team, play games, have fun, and little else but it's a good platform to build upon.&lt;br /&gt;&lt;br /&gt;Next update: March 2013. Well, hopefully not.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-1124758741704717218?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/1124758741704717218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=1124758741704717218' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/1124758741704717218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/1124758741704717218'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/12/im-still-here.html' title='I&apos;m still here'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-8459576625768650300</id><published>2007-09-13T18:24:00.000+01:00</published><updated>2007-09-13T19:03:16.830+01:00</updated><title type='text'>Content!</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Over the last few weeks I've started putting some real content into the game. With lots of the competition engine in place and working, the game can now support the leagues and cups that form the backbone of the entire football world, and it's actually quite exciting to see this take shape.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_suZ_lBz0K-k/Rul1W2lK26I/AAAAAAAAAAc/yOT5ccqgCV0/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_suZ_lBz0K-k/Rul1W2lK26I/AAAAAAAAAAc/yOT5ccqgCV0/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5109744287697525666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt;Wahey! Work in progress pyramids! Eat that, Pharoah!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: verdana;"&gt;Thus far, as I've decided to now indicate on the right hand side of the blog, the game contains the team data for three countries. Only England has competitions as yet, as the more I add at this point the slower the game gets to set up, but adding new ones can be done nice and quick these days. For England, I've got all the leagues down to Step 6 of the National League System, which is level 10 overall. 47 divisions in total, which took me bloody ages so people had better be grateful and start playing as Sport London e Benfica or something instead of Manchester United all the time.&lt;br /&gt;&lt;br /&gt;Cup wise, it currently has the FA Cup, League Cup, League Trophy, FA Trophy, Conference Shield and FA Vase. The League Cup hasn't been fully modelled as the game still doesn't have the ability to reseed teams to keep everything neat, so the differing numbers of sides in European competition can't be done until then. In Scotland, I've got the teams for all senior and junior sides, so that's quite a few teams to choose from and was done purely to placate any Bankies fans. Wales is proving more difficult as club information is scarce. The Welsh Football League, which covers the south of the country below the Welsh Premiership, is pretty good on this front as their website gives me all the information I require, but the three leagues feeding the Cymru Alliance have only scattered information. I'm endeavouring to include them though, because last season Barry Town got relegated from the WFL Division One, and the ability to return them to their former glory would be nice.&lt;br /&gt;&lt;br /&gt;For each league, I have a spreadsheet - we all love speadsheets. As well as the club name and some abbreviations, I have the year they were formed (adds a nice enyclopaedic feel, I think), their rough ability, their home kit, home town and stadium. When deciding whether or not a level will be included in the game, and assuming the level is strong enough to be worth while, I have a look to see what data I can collect. The absolute required info for every club is their name, strength and home town, and these are all fairly easy to come by. The strength is added so that when I generate fake players for the majority of clubs, the game will ensure that things feel right - no superstars plying their trade with Cefn United. The larger sides also get strengths but these will be altered later when more accurate player details are entered.&lt;br /&gt;&lt;br /&gt;The real difficulty comes with finding kit details. When creating clubs, I'm only concerned with the home kits, and generally a great majority of accurate kits is required for any given level. Away kits are ignored mainly because they slow me down for detail that changes far too often anyway. Like players, I can go add accurate away kit data for the bigger clubs, and have the game generate suitable away colours for the other sides. It's really just a time issue.&lt;br /&gt;&lt;br /&gt;So far there's over 1,250 teams in the game. Now if I can get them to play football, that would indeed be brilliant.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-8459576625768650300?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/8459576625768650300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=8459576625768650300' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/8459576625768650300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/8459576625768650300'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/09/content.html' title='Content!'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_suZ_lBz0K-k/Rul1W2lK26I/AAAAAAAAAAc/yOT5ccqgCV0/s72-c/Picture+2.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-3295561331591502827</id><published>2007-08-16T23:23:00.000+01:00</published><updated>2007-08-16T23:36:44.254+01:00</updated><title type='text'>Tiny little bug</title><content type='html'>&lt;span style="font-family: verdana;"&gt;It's always the little ones.&lt;br /&gt;&lt;br /&gt;Today I was developing the league ranking system, essentially a way for the game to record the finishing positions of all the teams in a league, and also for the teams to be ordered correctly. This can then be used by competitions to determine seedings, or collecting only the top 8 teams to play.&lt;br /&gt;&lt;br /&gt;While testing this out I was frustrated for several hours by a bizarre error. At the end of the season, all the teams' rank information are updated accordingly. This is then followed by promotions and relegations, which involves updating the current level each team are playing at. Irritatingly, doing so tended to set the "rank level" - the level the team were playing at last season - to 0, the highest level available. As far as the game was then concerned, if Cardiff City won the Championship, they're ranked as high as Manchester United.&lt;br /&gt;&lt;br /&gt;After a while I had traced it down to the exact function that sets the current level. A function that simply should not fail. I feared the worst - if a part of my database storage and retrieval code was broken, the entire database could be compromised. Sure, I have backups but I'd still need to find out the error, and if it's damaging I'd need to code an entire routine to reorganise the data and ensure it's fine.&lt;br /&gt;&lt;br /&gt;Eventually, and naturally, I traced it to simply using the wrong variable at a crucial moment. My database works by only using the required storage for any given maximum data value in a field - if the field holds the numbers 0 to 15, it will use four bits. The next four bits in the byte will be used by something else. This enables me to store a great deal of data in a much smaller space. In order to store two values in a single byte, I need to be able to "mask out" the irrelevant data at any given point. This was the broken bit, with the code therefore ignoring the masking and wiping the entire bite before storing my data.&lt;br /&gt;&lt;br /&gt;I think, but currently have no proof, that this error was the cause of a few other issues dotted here and there with some competitions "forgetting" what league they were part of if I edited them after setting the league up. All it would take is one editing of a preceding value and that data goes out the window.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-3295561331591502827?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/3295561331591502827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=3295561331591502827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/3295561331591502827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/3295561331591502827'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/08/tiny-little-bug.html' title='Tiny little bug'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-7757852723461153706</id><published>2007-08-12T21:12:00.000+01:00</published><updated>2007-08-12T21:47:50.981+01:00</updated><title type='text'>Ups and Downs</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Individual competitions are almost complete. The engine is fully capable of coping with differing numbers of entrants, so there are only a few things left. Chief among these is the existence of what I've been terming the "half group" structures. The most prominent of these is the MLS - two groups, but with matches not restricted to those in your own group. Yesterday I discovered that it's not just the Americans using this system, and that any Englishmen still bitter at those "damn Yanks" for calling the sport soccer need to have a few words with some of the powers in their own garden. At the non-league level, at least&lt;br /&gt;&lt;br /&gt;The Northern Premier League's first division was restructured this season in accordance with the FA's plans on sorting out a clear league pyramid. Unlike the other leagues at this level, the two created leagues (North and South) only have 18 teams, instead of 22. This caused a bit of a fuss among the clubs because 34 game seasons aren't really helpful, and the NPL duly responded not by increasing the league size or another cup competition to make up the deficit, but by splitting each league in two - sort of.&lt;br /&gt;&lt;br /&gt;Each league is split into two groups of nine, on a regional basis. Each team will play those sides in their own group three times, and those in the other group once, thus giving an extra eight games each. Unlike the MLS, performance relative to the other teams in your group counts for nothing - it's the overall league table that matters. Whilst to the casual observer they don't seem to share structural DNA, the generation of fixtures and general workings are practically the same from my point of view.&lt;br /&gt;&lt;br /&gt;The English league itself has been created in the game now, down to Step Four of the National League System, or the eighth level overall if you prefer. Whilst doing this, I helped myself out by introducing a few handy functions and changing the way clubs get added to the database. I can now duplicate an entire competition, which is handy given that most share similar characteristics with few changes. The club spreadsheets I'm using, one per division, contain club info as well as their city and stadium. I've ditched seating information, largely because the information simply isn't conveniently available and to use it would slow the input process down. I reckon now I can add an entire division in about a half hour, including creating the structure in the game and adding it to the league structure.&lt;br /&gt;&lt;br /&gt;I make that about... oooh... 390 hours of work to get the world in there.&lt;br /&gt;&lt;br /&gt;The regionalisation of lower levels is working brilliantly, although a few hiccups earlier did give me a bit of concern. The first was the bizarre omission of Newcastle Blue Star from the NPL First Division North in the second season. As the northenmost club at that level (by some distance), they definitely should have been there. They weren't in the First Division South either. Well, not the right one, they were in the Isthmian League First Division South. It turns out that I'd added the team with the city "Newcastle-upon-Tyne", and omitted the coordinates because I knew the city to be in the database. It was, sans hyphens, and the game thought that Newcastle Blue Star play in the heart of the world, in the Atlantic Ocean off the coast of Africa. I can't be arsed coding in severely flooded pitches, so I just set them to the right place.&lt;br /&gt;&lt;br /&gt;I later got concerned that the game wasn't properly dividing teams up into Isthmian and Southern leagues, but I quickly discovered that I'd placed Bury St Edmunds in the West, not the East. Oh well. Everything else was positioned rather lovely, so I did a little dance.&lt;br /&gt;&lt;br /&gt;Promotion and relegation isn't yet done. I've worked out the process and in theory it's fine. Promotion is dealt with first, with teams promoted provided they meet the criteria, and provision is there for other teams to take their place if necessary. Relegation is then dealt with, and repreives are available if the number of teams coming up isn't enough.&lt;br /&gt;&lt;br /&gt;I then read about the Italian Coppa Dilettanti, a competition played in Italy between sides in the Eccellenza and Promozione, the sixth and seventh levels of the Italian league system. The quirk of this competition is that the winners are promoted to Serie D. I like quirks, so I instantly wanted to make the Eccellenza available, and thus this cup competition playable.&lt;br /&gt;&lt;br /&gt;Unfortunately, my league system doesn't cope with teams potentially being promoted more than one level. In fact, it freaks out completely and doesn't know what's going on, leading usually to the level in between the two having far too many teams. I could spend time devising a new system, but I've decided that for now it just isn't worth devoting time to a non-essential. Not when there's so much else to do.&lt;br /&gt;&lt;br /&gt;At the moment I'm looking at ways to make inputting the promotion data as stress free as possible. Currently I have to set up the data in the competition itself, and then let the league know where to expect the promotions/relegations to come from and what priorities to assign to them. I should be able to get some of that done quicker. Once that's done, I'll get the English system finished up and tested, and use that as a basis for working on the focus system and other details.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-7757852723461153706?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/7757852723461153706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=7757852723461153706' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/7757852723461153706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/7757852723461153706'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/08/ups-and-downs.html' title='Ups and Downs'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-4239947480982562205</id><published>2007-06-20T16:12:00.000+01:00</published><updated>2007-06-20T16:32:42.701+01:00</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;The circus that is the development of a unified competition system for the game continues unabated. The latest problem to rear its ugly head yet again is the concept of qualification.&lt;br /&gt;&lt;br /&gt;Currently, competitions in the game are static structures - a set number of teams from each rigid stage progress to the next stage, and the parade continues until the competition ends. Such stoic behaviour won't work for qualification, unfortunately. The problem arises when a team achieves a qualification place that it is incapable of accepting because it does not meet the criteria (for example, a B team winning a place in a cup competition).&lt;br /&gt;&lt;br /&gt;The qualification system in the game goes into specific detail about which positions qualify teams for other contests - instead of simply saying "the winners of the FA Cup will play in the Community Shield", it's "The team who win the final of the FA Cup". It's a subtle difference, the accuracy allowing for any position at any stage of the competition to have an associated qualification, one that can't be done by simply taking the "top six" teams.&lt;br /&gt;&lt;br /&gt;If a B team, or another undesirable side finish in one of these positions, the system also can specify a number of backup positions to consider. For the most part, this should cover the loss.&lt;br /&gt;&lt;br /&gt;However, I can't possibly guarantee that enough teams will qualify. It is possible that the backup list will be exhausted (perhaps they're all B teams?) before the places are filled. Rather than grudgingly accept the teams into the competition, the alternative solution is to allow the competition to continue with a dearth of teams.&lt;br /&gt;&lt;br /&gt;So, the formerly rigid competitions need new functions and rules to ensure that they work adequately in any scenario. Knockouts are easiest, as the system reduces the number of teams in the early rounds and creates more byes in order to ensure the final rounds are fully populated. Leagues are fairly simple, requiring the game to work out how many rounds need to be played given the new number of teams. Group stages may prove more complex in the face of the varying ways of distributing the teams but I'm sure an adequate solution will be found.&lt;br /&gt;&lt;br /&gt;All of which has been rather annoying for me, as I was hoping to start creating European leagues and cups starting tomorrow. That will have to wait until I'm happy the system can cope adequately with the changing data. It'll be worth it in the end.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-4239947480982562205?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/4239947480982562205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=4239947480982562205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/4239947480982562205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/4239947480982562205'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/06/circus-that-is-development-of-unified.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-9065839371621332257</id><published>2007-06-03T18:28:00.000+01:00</published><updated>2007-06-03T18:45:32.413+01:00</updated><title type='text'>The hassle of Extra Tables</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Some competitions, in the far flung corners of the world, aren't as straightforward as they bloody well ought to be.&lt;br /&gt;&lt;br /&gt;In Belgian's Second Division, for example, the eighteen sides play each other twice in a regular round-robin format. The top team at the end of the season will get promoted, and there's a playoff to determine which team will follow them. All very good so far, it's something that anyone in the UK can instantly recognise.&lt;br /&gt;&lt;br /&gt;Unfortunately for me, the Belgians didn't quite run with the same system that I'm used to. Instead of taking the teams who finish second through fourth and sending them into the playoff that also features a side from the top flight, they use a system of "periods". The 34 games are split into three periods of ten, twelve and twelve matches respectively, and the teams who "win" each of these periods will enter the playoffs. Only in the event of extra places needing to be filled, such as whenever a team wins more than one period, will the full league table be used.&lt;br /&gt;&lt;br /&gt;Ok, I can do that. I have the fixtures, so surely I can just tell the game to create a table that consists only of fixtures played in rounds 1-10, then 11-22, then finally 23-34. Three additional tables that I can use to determine winners. Easy!&lt;br /&gt;&lt;br /&gt;Belgium aren't alone. In the USA's Major League Soccer, the teams are split into two conferences and the top two sides in each conference advance to the playoffs, together with the next four teams with the best record. Again, this requires the creation of a table which effectively merges the two conferences together, producing a 13-team table from which the required sides can be plucked. I can do that too, right? Just collect all the fixtures and create a single table out of them.&lt;br /&gt;&lt;br /&gt;It's all quite easy to create new tables whenever you're using all the teams and all the fixtures. Sadly, there are times when that won't be possible. UEFA's World Cup qualifiers involve a playoff featuring whichever sides finished second in their group, and to complicate matters, certain results against the lowest sides are discarded when creating the table.&lt;br /&gt;&lt;br /&gt;Let me get this straight then. I need a system that will take a set of fixtures and create a new league table, discriminating against teams and results based on their position within a group, which round the match is a part of and who the opposition are? Bugger.&lt;br /&gt;&lt;br /&gt;I didn't really want to do that. Damn you, UEFA! It caused me no end of headaches trying to come up with a system which I considered fast enough to be worthwhile, but in the end I think I got there and I now have a working Extra Table system that can conjure up a single league table of no more than 30 sides, based on whatever criteria I specify. It works perfectly well so far - the only remaining test is to see if it successfully merges data from matches played across multiple stages - rather than listing Germany twice in the table, all results should collected together. I'd have tested that by now but I'm far too lazy to create a new competition to do it. Something for later.&lt;br /&gt;&lt;br /&gt;The next task is to create a working draw system for competitions, based on seedings, geography or downright prejudice. Well, maybe not that.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-9065839371621332257?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/9065839371621332257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=9065839371621332257' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/9065839371621332257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/9065839371621332257'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/06/hassle-of-extra-tables.html' title='The hassle of Extra Tables'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-5327931884446928283</id><published>2007-05-17T18:43:00.000+01:00</published><updated>2007-05-17T18:53:02.245+01:00</updated><title type='text'>I'm not dead. Physically.</title><content type='html'>&lt;span style="font-family: verdana;"&gt;It's been a month. Probably a good idea to update, although I'm not entirely sure what to write. I'll have to actually go and read previous posts so I don't repeat myself, and so I can see how much I've failed. In the meantime, have a picture of a beard:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_suZ_lBz0K-k/RkyUtj0K_-I/AAAAAAAAAAU/AKJqUS5F0t0/s1600-h/Photo+17.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_suZ_lBz0K-k/RkyUtj0K_-I/AAAAAAAAAAU/AKJqUS5F0t0/s320/Photo+17.jpg" alt="" id="BLOGGER_PHOTO_ID_5065587191314055138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I hope you've enjoyed that as much as I have. Perhaps more! Now then. Back at the start of the year I was working on competitions, and everything was going quite well. Then I shifted focus to the data editor, changed an awful lot, and had to redo most of the competition work.&lt;br /&gt;&lt;br /&gt;Thankfully, that has taken about two days (the rest of the time may have been spent scratching various parts of my body). Things are working again and are much tidier than before, so I feel a tad more confident that it will all hang together well enough to fool people into thinking I know what I'm doing. I've still got to add a bit of code that will sort a league table for me. The existing routine just assumes that you're using the same system as the Premiership - Points, Goal Difference, Goals Scored. That's fine but other leagues aren't quite so simple, with the number of flying mice having an affect on whether or not throw ins are worth an extra place or two in the table and all sorts of nonsense. I have a vague idea of &lt;span style="font-style: italic;"&gt;how&lt;/span&gt; I intend to do that, but actually doing it is another thing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-5327931884446928283?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/5327931884446928283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=5327931884446928283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/5327931884446928283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/5327931884446928283'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/05/im-not-dead-physically.html' title='I&apos;m not dead. Physically.'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_suZ_lBz0K-k/RkyUtj0K_-I/AAAAAAAAAAU/AKJqUS5F0t0/s72-c/Photo+17.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-7545684125197106040</id><published>2007-04-19T14:14:00.000+01:00</published><updated>2007-04-19T14:15:56.606+01:00</updated><title type='text'>Viva Ecuador!</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Viva indeed, as they've finally seen sense over there and stopped their habit of promoting teams halfway through the season. Now, whilst that made things very interesting, especially from a gamer point of view, it was always going to be difficult to cater for.&lt;br /&gt;&lt;br /&gt;Thankfully, that's no longer the case and as I'm not presently aware of any other nations doing the same, I can ignore it happily.&lt;br /&gt;&lt;br /&gt;Whoo!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-7545684125197106040?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/7545684125197106040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=7545684125197106040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/7545684125197106040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/7545684125197106040'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/04/viva-ecuador.html' title='Viva Ecuador!'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-2566756477934541944</id><published>2007-04-06T18:58:00.000+01:00</published><updated>2007-04-06T19:15:28.206+01:00</updated><title type='text'>Focus</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Most of the time spent in the last few days has concerned teams. I've got a simple import function in the editor that will read data from a csv file, so I've filled it out with 189 clubs from the UK and Ireland. Not much in the way of data, just names, formation years and club colours, but also a team rating.&lt;br /&gt;&lt;br /&gt;One thing that irritates me about some games is that if the developers can't get the player data, they leave the team out altogether. Sometimes the team exists but cannot be controlled, they're there in order that certain competitions work accurately (for example, having a number of Andorran clubs in the game so that they compete in UEFA competitions), but in more extreme cases they just cease to exist.&lt;br /&gt;&lt;br /&gt;This strikes me as a mistake. Surely, when it comes to accuracy, the hierarchy is Real Players -&gt; Fake Players -&gt; Non Existence?&lt;br /&gt;&lt;br /&gt;I'm a one-man band at the moment. I may well be able to draft in some volunteers to help me out with player data, but there's no chance whatsoever of every team in the game having real players. Restricting the number of playable teams has a greater negative impact than having having them slightly inaccurate.&lt;br /&gt;&lt;br /&gt;Clubs in the game have ratings for more than just random player generation in the event of missing data. For a start, in testing the game I need as many players in there as possible, and working on real data just isn't quick enough. A quick routine in the code to flesh out every side and I'm ready to test.&lt;br /&gt;&lt;br /&gt;The second reason is due to the game's focus system. The less important the competition from your perspective, the less time you want the game to spend on it. By giving each club a rating that changes as players move and develop, I can generate reasonably accurate results for distant leagues based on club ratings instead of calculating individually. Speed is vitally important, it is a &lt;span style="font-style: italic;"&gt;game&lt;/span&gt; after all. More playing, less waiting.&lt;br /&gt;&lt;br /&gt;I've also tweaked FryGUI some more, and now it's possible to add new gadgets to the system without altering the module itself. This is perfect for game-specific features such as a league table in a football game - why do I need that in a graphic adventure? Gadgets are easily added, and the XML system has been revamped to allow for the new gadgets to be added so that the parser can recognise them.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-2566756477934541944?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/2566756477934541944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=2566756477934541944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/2566756477934541944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/2566756477934541944'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/04/focus.html' title='Focus'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-2028018465255533523</id><published>2007-04-03T17:43:00.000+01:00</published><updated>2007-04-03T18:23:36.879+01:00</updated><title type='text'></title><content type='html'>&lt;span style="font-family:verdana;"&gt;The match engine has been put on hold for now, every time I approached it I just got some sort of block. I think the problem is that the animation is utterly woeful, yet in order for the game to &lt;span style="font-style: italic;"&gt;feel&lt;/span&gt; right it needs to have these frames of animation in place. Things like dragging the ball when turning, swinging to connect with shots and so forth. Given that the rest of the game still has plenty of work to do, it makes no sense to keep running up against a brick wall and I certainly can't afford to draft in someone else to get those animation frames done for me. I'll focus efforts elsewhere and return later with a clearer head.&lt;br /&gt;&lt;br /&gt;The first thing I've done is refactor the game's interface to an effective resolution of 800x600. As mentioned in earlier posts, I went with a larger resolution so that I had more room, more detail, and so that in windowed mode it didn't look like playing on a postage stamp. However, a few things since then have made me rethink the decision. The main one is my laptop, which has an SiS graphics card that has caused me a few headaches. Higher resolutions put more strain on the damn thing, producing frame rates that were satisfactory today but not something I could guarantee would be the case further down the line. For as long as these things exist, it makes sense to cater for them.&lt;br /&gt;&lt;br /&gt;But why do I need more room in the first place? I'm not looking to create a stat-heavy game on the outside, I want things to be clean and attractive without looking like a spreadsheet. 800x600 gives more than enough space to produce the game - in the past I developed a management title on a 320x200 resolution CPC6128 and it still included everything I needed. By restricting the space I just need to come up with better ways of conveying the data than throwing text around the screen, which is precisely what I want to do anyway.&lt;br /&gt;&lt;br /&gt;Leading me to the second problem - detail. I'm no artist, and with the match engine I already made the decision that higher resolutions will simply show more of the pitch rather than the existing viewpoint with more clarity. The same principles can largely be applied here - less resolution means a greater margin of error. That's not to say I'll be making a half-hearted effort or even relying on my own dodgy art if I can't get it up to scratch - absolutely not. I'll be striving to make the game look good. Lower resolutions keep the download size down as well, which might be nice given the database size.&lt;br /&gt;&lt;br /&gt;As for the windowed mode, well, my GUI is fairly powerful as it is, but more tweaking should allow me to display it in any screen resolution simply by adjusting the OpenGL or DirectX properties accordingly. As a result, you could play in a 1024x768 window if you like. It won't even have to be all scaled if I've got my numbers right, as it should be possible to get the GUI system to adjust the locations of gadgets if you choose any other resolution. All the different resolutions will be supported in order to get the game looking right on LCD monitors, but the only difference will be some things look sharper.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In slightly related news I've spent a lot of time in the last week (when I wasn't lying around in frustration with the match engine) playing LMA Manager 2006 for the Xbox, which I managed to get for about six quid. I'd be lying if I didn't say that the game's attractive appearance on my telly wasn't a major motivating factor in the switch down to 800x600, they've done a wonderful job there. But there are other aspects which, whilst traditionalists may scorn upon them, have an awful lot to say in how much I'm enjoying the game. The stadium building aspect is like toying with Lego, and that's always fun. You can browse every team in the game and have a look at their stadium, most of which appear to be reasonably authentic. Sure, they're not the incredibly detailed representations that surround the pitches of FIFA 07, but where EA's effort has 51, LMA's number in the thousands, especially when you include your own concoctions.&lt;br /&gt;&lt;br /&gt;It adds nothing whatsoever to the management aspect itself (where the game does reveal itself to be very shallow in comparison to the main PC efforts), but does an awful lot for atmosphere, and personally I find it a motivator. I'm managing East Stirlingshire, there's no North Stand, just a brick wall behind the goal and every match day I can plainly see that there aren't many fans there. We averaged about 430 in our first season where we nabbed promotion against all the odds but with a capacity of 1,880 there's no need to take any of the investors up on their offer, we're good for another while. Eventually though, we'll need to expand. When Firs Park has a 60,000 capacity stadium and every game it's packed to its fullest with drunken Falkirkians, I'll know we've made the big time. As big as time gets in Scotland anyway.&lt;br /&gt;&lt;br /&gt;Stuff like that interests me in a game, because it stops your mind from wandering. There's no questioning the accuracy and depth of Football Manager's simulation but text screen after text screen can grind a man down, and blobs engaging in an entertaining game of football makes it all feel somewhat sterile. It's a game that needs a technological advance or two to really start getting the blood pumping from day one, rather than requiring several game-seasons of play to really sink in. Playability is most certainly everything, but every now and then you need the visuals. You need to treat yourself.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-2028018465255533523?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/2028018465255533523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=2028018465255533523' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/2028018465255533523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/2028018465255533523'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/04/match-engine-has-been-put-on-hold-for.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-4757825662564833809</id><published>2007-03-23T17:35:00.000Z</published><updated>2007-03-23T18:38:41.223Z</updated><title type='text'>Dribbling</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Things have been going in a certain way that immediately brings such non-words as "poocrapular" to mind. The last three weeks have been focused on getting some people playing football, and this has revolved around several areas of frustration.&lt;br /&gt;&lt;br /&gt;The first is the fact that I can't have little people playing football until I have little people. I'm not a terrible artist but nor am I particularly adept with the human form, so after much frustration I finally got this lot done.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_suZ_lBz0K-k/RgQT6zEkDiI/AAAAAAAAAAM/Xb_D7iuyer0/s1600-h/Player.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_suZ_lBz0K-k/RgQT6zEkDiI/AAAAAAAAAAM/Xb_D7iuyer0/s320/Player.png" alt="" id="BLOGGER_PHOTO_ID_5045179383424486946" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:verdana;"&gt;As you can see, they aren't the best looking animation frames in the world. For a start, they're far too exaggerated so I've got some freakish loon waving his arms all over the place when he so much as attempts a light jog. And I'm pretty sure he'd actually break his legs if he ever tried to run with that. But still, they're functional so it gives me something half decent to work from.&lt;br /&gt;&lt;br /&gt;Once I got the little chaps done, my next task was to get him running about. I've created a rather simplistic animation system, which I'll no doubt build upon as I go along (the same can also be said for the tilemap system, which will be updated with animation and transparency features as time goes on). I did a little bit of research and found that professional runners tend to run at about 180 steps per minute, essentially meaning three steps per second. So each frame lasts for a ninth of a second, and this was pretty easy to do. The game's physics engine (rudimentary though it may be) already had code to ensure it updates every 60th of a second, so the same code was used in the animation system to keep things ticking along.&lt;br /&gt;&lt;br /&gt;A running man, and not an Austrian in sight. Now what he needs is a football, and the ability to run with it.&lt;br /&gt;&lt;br /&gt;I've played a fair amount of football games in my time, and having recently upgraded my PSP to a PS1-emulation supporting firmware, I indulged in yet more online spending to grab myself another six. Across all the games, it seems that the representation of dribbling ability falls into one of four camps.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;The ball sticks to the player's feet. All the time. In other words, I can't actually see what the difference is between a good dribbler and a bad dribbler. &lt;span style="font-style: italic;"&gt;Sample games: Actua Soccer, FIFA 98, Viva Football&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;The ball sticks to the player's feet for a period of time. During this period the player has full control over movement, however when the time elapses he can no longer change the ball's direction. Thus, a better dribbler can keep control for longer. &lt;span style="font-style: italic;"&gt;Sample game: Sensible World of Soccer&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;The ball sticks to the player's feet, but he moves much slower than his normal running rate. The better his dribbling ability, the faster he can move whilst maintaining this level of control. &lt;span style="font-style: italic;"&gt;Sample game: New Star Soccer 3&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The player nudges the ball along as he moves, just as you would in real life. The player can therefore only change direction when he's close enough to the ball to alter its direction accordingly. Better dribblers don't knock the ball as far as the poorer ones. &lt;span style="font-style: italic;"&gt;Sample games: FIFA 07, Kick Off, Pro Evolution Soccer 6&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family:verdana;"&gt;I've never seen anything different. Seeing as this game is supposed put a lot of weight on the player's abilities, the first one can't be considered. A shame, as it's by far the easiest to actually do, but frankly I'm not sure I'd want a game where something as vital as a dribbling ability is entirely irrelevant. The second system, used by the official &lt;span style="font-style: italic;"&gt;Best Football Game Of All Time &lt;/span&gt;as voted by me, just now, places a large importance on ability but at the expense of realism - I dunno about you, but when I run the length of a pitch I'm still able to change direction and take the ball with me.&lt;br /&gt;&lt;br /&gt;The last two have their good and bad points, and it's hard to split them. It can be argued that they're both differing implementations of the same basic idea - where Pro Evolution Soccer's players knock the ball further so that they don't trip over their own feet, NSS3's little guys just take their time to achieve the same thing. Of course, if you delve deeper into Pro Evo's control system you'll find that you can slow yourself right down and maintain tighter control of the ball, while with NSS3 you can nudge the ball out from under your own feet to run at a quicker pace.&lt;br /&gt;&lt;br /&gt;For now, I've gone with the fourth system. In addition to being a fairly fine representation of how dribbling is, it also plays a part in goalkeeping - my own position in the field. When an opponent is bearing down on your goal and you feel like rushing off your line to smother at his feet, you need to time your advance with his own dribbling. When he nudges the ball further still, you need to be quick off the blocks to close down the angle before he can do anything else. This also applies to defenders, who will be looking to nick the ball away from a player when it's vulnerable. When the ball is stuck to a dribbler's foot, you lose these facets of the game.&lt;br /&gt;&lt;br /&gt;Whether or not this lasts depends on how it holds up in gameplay. There's no swanky 3D engine to get a closer look, and the players are sprite based which greatly limits the animations available. Yesterday I finally got a player to run with the ball in a manner that satisfies me, but until opposition stand in the way it'll be impossible to know for sure. One irksome problem is the game's perspective - when you're running towards the goal at the top of the screen, the ball is often obscured by your player. If you can't see the ball too well, how will it affect gameplay?&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-4757825662564833809?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/4757825662564833809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=4757825662564833809' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/4757825662564833809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/4757825662564833809'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/03/dribbling.html' title='Dribbling'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_suZ_lBz0K-k/RgQT6zEkDiI/AAAAAAAAAAM/Xb_D7iuyer0/s72-c/Player.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-117287709981826818</id><published>2007-03-02T22:48:00.000Z</published><updated>2007-03-14T12:38:34.483Z</updated><title type='text'>Deceptive</title><content type='html'>&lt;span style="font-family:verdana;"&gt;The central midfielder picks the ball up just inside his own half. He rolls a simple ball out to the wing where it's picked up and dribbled, unchallenged, towards the corner flag. Cutting onto his left foot, the winger lays the ball off to the unmarked and now arriving central midfielder who meets the ball beautifully and deftly slots it home through the obvious gap. All so simple.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;It's not fucking simple! It's fucking terrifying! There's nothing fucking simple about getting &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;any &lt;/span&gt;&lt;span style="font-style: italic;"&gt;of that to work, not without tearing huge chunks of your own brain out and devouring them in the process in the hope that you might get taken away and never have to do any of this cunting shite ever again!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;As you can tell, I'm not particularly happy at the moment. The little things that, when you're out on the pitch playing with even the more clueless folk out there, are so easy to do, become cunting tough whenever you actually need to put it into code. Let's take an example - there's a ball rolling in a direction, and you want it. So what do you do? You take note of where it's going and you get in the way of it. Easy.&lt;br /&gt;&lt;br /&gt;I spent the best part of a week trying to come up with the quickest possible way of getting my tiny little blobs to do that. I have pages and pages of worthless trigonometry, now. Worthless because those theories never panned out. Maybe I never coded them correctly, maybe they were wrong in the first place, none of that matters because it's a heck of a lot of wasted time - in thirty minutes I coded in what was initially a temporary fix that actually does a better job than any of my mathematical tricknickery.&lt;br /&gt;&lt;br /&gt;With that done, I turned my head to the rest of the physics. Balls should bounce off players, right? This would be easy if it wasn't for two things - first, I can't rely on the actual graphics engine for collision detection because I want the game to be able to process more than just the match you're viewing. The second irritance is that I never know what the hell a player is doing. Is he running? Where are his arms?&lt;br /&gt;&lt;br /&gt;"Where are my arms" is a question I may well have found myself asking random people if this had frustrated me any more, as I can think of little more immediately satisfying than blowing away the object of your anger whilst cackling like a 1920's Chicago mob boss. I would even have bought a cigar for the occasion, it would be that important.&lt;br /&gt;&lt;br /&gt;But it never came to that. I decided that as much fun as playing with little circles is, there's no real match for getting proper visual feedback. Instead of working with an abstract engine and Football Manager style blobs on a single-screen, overhead pitch before introducing the snazzier display, I've decided to go the other way. A pitch, a ball, a man (although I'm not fussy, so as long as it's bipedal I couldn't give a shit), and they'll fucking stay there until they've worked out how they're supposed to interact. Actually, I did get the ball interacting with the pitch correctly, but with an overhead view it's harder to see the bounce.&lt;br /&gt;&lt;br /&gt;So, over the last two days I've created a basic tiling system for the game. Tiling, if you don't already know, is simply the way the background graphics of the game get built - the pitch consists of several tiles which are laid together, and that's about it. In order to do this I knocked together a half-decent TileMap editor, and I made sure the drawing code could cope with flipping the tiles on the horizontal and vertical axes, to save me having to have four versions of similar tiles. It all seems to be working well, and about a half hour ago I managed to have a scrolling football pitch. Couldn't even get jumpers for goalposts though, I'm very poor.&lt;br /&gt;&lt;br /&gt;I've set myself a little personal goal for the end of March. If I can get something that resembles a playable football match done, I'm going to treat myself. As I have no money, it will have to be something small.&lt;br /&gt;&lt;br /&gt;And with Sensible World of Soccer on the way for the Xbox 360, I think I also need to have a major goal for around June 2007, get that done, and treat myself to one of those.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-117287709981826818?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/117287709981826818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=117287709981826818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/117287709981826818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/117287709981826818'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/03/deceptive.html' title='Deceptive'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-117157774009475279</id><published>2007-02-15T21:31:00.000Z</published><updated>2007-02-22T20:40:32.310Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family:verdana;"&gt;Ok, a little later than I had hoped but today I started working on match engine elements. More specifically, the problem of devising the basic formations, and with that the positions a player will take up depending on the situation.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/5444/2074/1600/929046/Picture%2011.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/5444/2074/320/659139/Picture%2011.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;I built this editor today. The basic system is the same as that of Sensible Soccer, Championship Manager, New Star Soccer 3, Football Manager, and probably countless other management games out there. The pitch is split into twelve segments in a 3x4 grid, and players are given rough positions on the pitch for when the ball is in each grid. This is duplicated for possession (the Wibble in the combo box above referring to "With Ball", which any CM players might be familiar with).&lt;br /&gt;&lt;br /&gt;It's a starting point, and nothing more. The first big hurdle of football AI is getting a player to have an idea of where he's supposed to be, and you've basically got two choices. You can build a hugely complex module which factors in every known factor, from the number of players on either team to the length of every blade of grass, and results in a perfect position for the given situation at the cost of several billion clock cycles... or you can just use your intuition and do it manually, once. (Don't take the screenshot as an example of my intuition.... those are woeful positions for a left wing ball)&lt;br /&gt;&lt;br /&gt;Then you tweak. You tweak for all the little things - where's the ball, exactly? Is it safe to move? Will I have an advantage if I go over here? Why can't I get enough alcohol home from the shop in one trip?&lt;br /&gt;&lt;br /&gt;Tweaking, when we're worried about clock cycles because you want to process as many matches as possible, is cheap. Stick a bag of grass in front of a sniffer dog and he's going to find it much quicker than when you shove it up your... chimney. Mainly because a dog isn't a burrowing animal. No, not burrowing.... chimney sweep. Yes... that will do.&lt;br /&gt;&lt;br /&gt;I've decided upon 38 unique positions a player could possibly have, and they're on the right. The guys who play in the centre each have five different values because there are always differences depending on how many are playing at the back. A flat back four doesn't want to have any of its players assuming the same role as a the middle guy in a back five, so I've tweaked accordingly. I've also thrown in three sweeper positions just so you can too.&lt;br /&gt;&lt;br /&gt;What I haven't done is take into account how positions change depending on the other guys on the pitch - having a central defender might well change where the "ideal" positions are for your centre backs. But to throw that into the mix would mean my list of positions would be a lot greater, and worse it would be more complex to actually devise the individual formations.&lt;br /&gt;&lt;br /&gt;The theory, at present, is that these are created simply by using the defaults. Two strikers in a 4-4-2 will always begin their position-finding routine at the same place as two strikers in a 4-2-4, where the other guys are the "advanced wingers" as I've put it. The routine ought to change those positions accordingly to best use the space available.&lt;br /&gt;&lt;br /&gt;If this theory falls down, then I'll run with the ability to change the positions for all the formations, but these defaults created will serve as a simple method for giving me a base from which to build each formation.&lt;br /&gt;&lt;br /&gt;Elsewhere, I've been working on player generation, which I'm mostly happy with but clearly there are a few things that need ironed out.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/5444/2074/1600/677162/Picture%2012.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/5444/2074/320/965942/Picture%2012.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;The first, most obvious one if you check that screenshot is that player names are a little on the poor side. These guys were all randomly generated (and I've added a flag to them so I can remove them with ease), but the existence of chaps like Sabatino Greenwood means I need to work on a much better method for creating player names. At the minute, all the English names are kept together, which is lovely when you get William Carr, but not so nice when Ciaran El-Salahi rears his ugly head &lt;/span&gt;&lt;span style="font-family: verdana;"&gt;(he's not there on the screen before you look for him, but he did come up once).&lt;br /&gt;&lt;br /&gt;The flaws don't end there - the physical characteristics haven't panned out too well yet either but then I knew they would be borked from day one. It's entirely random at the moment so when you get several seven-footers with light blue dreadlocks and bum-fluff moustaches roaming the midfield, you can't really say you're surprised. I'll work in a normal distribution there to the generator to ensure more &lt;span style="font-style: italic;"&gt;n&lt;span style="font-style: italic;"&gt;ormal&lt;/span&gt;&lt;/span&gt; people.&lt;br /&gt;&lt;br /&gt;What are working well are the routines that deal with player attributes. Positions are linked, so if the game sees fit to throw up a centre back, there's a chance he could work well in a defensive midfield role, or even as a full back. Attributes are then linked to positions, depending on competence in that role - a natural striker is throwing up strong finishing and movement, whilst a reasonable defender might not be a great tackler, but he won't be shit at it either.&lt;br /&gt;&lt;br /&gt;This early random generation means I can knock up a number of teams for use during the development for the match engine, which should hopefully prove invaluable. Better still (can something be better than invaluable?), when the match engine has reached a solid, playable point, I can swiftly create and populate enough teams to turn a collection of reasonable looking screens with no real purpose into an actual working game. At this point I will stroke my beard and proclaim victory over the elements, chiefly boron. I have issues with boron. Don't ask.&lt;br /&gt;&lt;br /&gt;Finally in a lengthy blog post, work continues on FryGUI and I'm hoping to get the latest release out this weekend. A lot has been added since the last version, the most spiffing of which being the inclusion of a canvas gadget, but there's also a few image buttons (of the rectangular and circular kind, too) and some other smaller stuff. Oh, and I wrote a new data editor for the game (that'll be it there in the second screenshot), which started off annoying because I think it's the fifteenth so far, but it works cross platform and is significantly more attractive than the drab, grey look. One problem with it is that I can't cut and paste, and more annoyingly I don't think I will be able to on anything other than Windows, but I'll see if I can build a character map or some other form of adding the rarer characters &lt;/span&gt;&lt;span style="font-family: verdana;"&gt;into FryGUI.&lt;/span&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;  &lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-117157774009475279?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/117157774009475279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=117157774009475279' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/117157774009475279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/117157774009475279'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/02/ok-little-later-than-i-had-hoped-but.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-116975484192053611</id><published>2007-01-25T19:46:00.000Z</published><updated>2007-01-25T19:54:45.310Z</updated><title type='text'>A big empty box</title><content type='html'>&lt;span style="font-family:verdana;"&gt;I can't say that this week has any better than the last in terms of hauling my arse out of bed at a reasonable time, but at least things are still going smoothly with the game. I've just managed to complete the basic competition engine, which will give me some room now to go off and work on other aspects of the game knowing I've got a bare bones machine to work with.&lt;br /&gt;&lt;br /&gt;I haven't bothered to speed up any of the fixture-checking routines as yet, there's not much point when the database only has one or two competitions in place at any one time. I'll wait until I've populated the game world enough to actually see any major slowdown during the checking process, and by extension any speed gains from new routines.&lt;br /&gt;&lt;br /&gt;Hopefully by the end of the month I'll have implemented a decent front end to the system, and a module to manage all the human players in the game, a save and load system, the basic shell of the game. That'll leave things nicely poised for February so I can start fleshing out the world, building little people and commanding them to their doom.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-116975484192053611?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/116975484192053611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=116975484192053611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116975484192053611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116975484192053611'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/01/big-empty-box.html' title='A big empty box'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-116924400930437853</id><published>2007-01-19T21:52:00.000Z</published><updated>2007-01-19T22:00:09.316Z</updated><title type='text'>One Week Gone</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I've got some mixed feelings. It's very clear that I work a hell of a lot better now, and get more done, but somehow I feel I haven't really achieved enough to give me an entirely positive outlook on the whole "never wanting to have another job again, ever" plan.&lt;br /&gt;&lt;br /&gt;Then again, a string of 11.30am starts and one day that waited until after noon to begin probably played as much of a part in that as anything. Today was a bit of a lazy day, accomplishing much less than the others, which I'd put down to being Friday except weekends are a meaningless concept now.&lt;br /&gt;&lt;br /&gt;So, what did I do? Well, I've been spending the time working on testing the storage and updating of league and knockout data, and they're working well. Knockouts still need work, I've cheated a bit thus far, but I'll focus on that later. On top of those I've then implemented a main engine which "controls" the game time, so to speak - it takes care of the in-game clock, advancing it forward in real time or faster, better speed settings, and carrying out necessary tasks. One such task is to collect all the fixtures that are played on this game day, for which it has to get out of bed at 2am. It does it by brute force at the moment, running through every fixture in every competition in the game (i.e. none at this point), so that'll need hugely optimised in order to keep the game running at high speed.&lt;br /&gt;&lt;br /&gt;I don't really want to spend any time sitting about waiting, and if there are to be competitions in over 250 nations I'll need a nicer routine.&lt;br /&gt;&lt;br /&gt;Hopefully next week I can drag myself out of bed at 9am, and with the extra time I might be able to make huge strides on bringing all the competitions together and interacting properly.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-116924400930437853?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/116924400930437853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=116924400930437853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116924400930437853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116924400930437853'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/01/one-week-gone.html' title='One Week Gone'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-116871658696481533</id><published>2007-01-13T19:23:00.000Z</published><updated>2007-01-13T19:29:46.976Z</updated><title type='text'>It Begins</title><content type='html'>&lt;span style="font-family: verdana;"&gt;It's been a month, for various reasons. I'd like to blame Christmas, Half Life 2, Far Cry Instincts Evolution and even alcohol, but that would all be lies. The real truth is I ended up taking a mini-holiday for the hell of it.&lt;br /&gt;&lt;br /&gt;I did so because as of Monday, I'm going to be working on the game full time. Obviously this means I'll run out of money eventually and you will be able to find me and a dodgy laptop coding away in an overflowing gutter whilst I fend off tramps using a bit of an old bone, but such sacrifices need to be made for the hell of it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is possibly a good thing. Also, potential goodness stems from the fact that the blog is an entire year old. That warm, fuzzy feeling then gets smattered (it's a real verb!) into oblivion as I tell you that it's been a bit of a shit year, in fairness. Aw, fuck. Have I really not done much? Well, apart from the nice interface.&lt;br /&gt;&lt;br /&gt;Poo.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-116871658696481533?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/116871658696481533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=116871658696481533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116871658696481533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116871658696481533'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2007/01/it-begins.html' title='It Begins'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-116579105861776266</id><published>2006-12-10T22:31:00.000Z</published><updated>2006-12-10T22:50:58.633Z</updated><title type='text'>I'm taking advice from figments of my own imagination.</title><content type='html'>&lt;span style="font-family:verdana;"&gt;What's happened since the arse end of November?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Ok, first of all the name of the page has changed, to Mostly Fictional. I now own &lt;a href="http://www.mostlyfictional.com"&gt;www.mostlyfictional.com&lt;/a&gt; and &lt;a href="http://www.mostlyfictional.co.uk"&gt;www.mostlyfictional.co.uk&lt;/a&gt; and if you click on those, you'll see they point here. That's so shocking I nearly fell off my chair.&lt;br /&gt;&lt;br /&gt;Mostly Fictional may or may not be a name I use permanently, but at the time it seemed good. I'm much too lazy now to spell out why so you'll have to take my word for it.&lt;br /&gt;&lt;br /&gt;Other things that have been done... well, I've been creating a competition editor because doing it through the editor I coded earlier is a fucking nightmare, thanks to BlitzMax's inability to use multiple columns in its lists. Plus, I'd rather have a half decent graphical representation to guide me through the process instead of just keying in numbers.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/5444/2074/1600/599473/Picture%202.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/5444/2074/320/774561/Picture%202.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family: verdana;"&gt;Lastly, there's that thing which passes for some sort of evidence that I've been working on things. Granted, I've only got three federations in the game so far, but they're easy to put in. The NF-Board held their first proper tournament last month, the VIVA World Cup, though the name's a bit of a misnomer as it had only four teams, and only one of which came from outside Europe, the Southern Cameroons, a side I question the validity of in my ignorance.  Oh, and they never showed up either, leaving the Sámi people (or Laplanders, if you prefer and they do not) to walk the tournament with a 7-0 win over Occitania, 14-0 against Monaco (the principality, not the Ligue 1 side) and, er, 21-1 over Monaco again in the final.&lt;br /&gt;&lt;br /&gt;Rather impressive, but then Sápmi is a huge area and the players involved were drawn from the Norwegian, Swedish and Finnish leagues, some in the top flight. By comparison, Monaco's players are all pretty much restricted to Monaco itself.&lt;br /&gt;&lt;br /&gt;Still, go Sápmi!&lt;/span&gt;&lt;span style="font-family:verdana;"&gt; Better than fucking Ireland, anyway.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-116579105861776266?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/116579105861776266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=116579105861776266' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116579105861776266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116579105861776266'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/12/im-taking-advice-from-figments-of-my.html' title='I&apos;m taking advice from figments of my own imagination.'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-116416125433107275</id><published>2006-11-22T01:59:00.000Z</published><updated>2006-11-22T02:07:34.360Z</updated><title type='text'>Invitaton for abuse</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/5444/2074/1600/Picture%204.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/5444/2074/320/Picture%204.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family: verdana;"&gt;Ooh, look at that. No, not Celtic's bizarre lead over everyone else in the Scottish Premier League. Look closer.&lt;br /&gt;&lt;br /&gt;It's a screenshot.&lt;br /&gt;&lt;br /&gt;It's a screenshot of what the GUI engine is capable of. It's green, which is always nice and relaxing, and it's got some football related info on it, organised in a nice way that people can instantly recognise, and that's not just because the top two are the Old Firm.&lt;br /&gt;&lt;br /&gt;That league table is a custom gadget in the GUI. The release on Sunday night went fairly well as module releases to a programming language community go, and so on Monday I went to work on more gadgets that I needed. The first was a simple generic table which could take any number of columns and produce output not dissimilar to that screen there. It's a rather good gadget for working with lists of things, but for a league table I needed something more specific, and more powerful.&lt;br /&gt;&lt;br /&gt;Hence the customisation. At the minute, it's largely the same except the column headers are predefined, and it's a lot easier to add the data because of it. Underneath the hood, as I might say if I was American and cared about cars, each team has a name, a position in the league, a home record, and an away record. Those last two get combined to show you what's shown here, while the league position is used in case you throw things out by sorting it.&lt;br /&gt;&lt;br /&gt;Which you can't do yet because I haven't coded in the column sorting. Or the viewing of home/away records. In good time, I'm sure.&lt;br /&gt;&lt;br /&gt;So, work is going quite well at the moment. From now on I'm going to resolve to post a screenshot with every blog post, so if I forget one, use the comments feature to send me abuse. I crave it.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-116416125433107275?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/116416125433107275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=116416125433107275' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116416125433107275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116416125433107275'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/11/invitaton-for-abuse.html' title='Invitaton for abuse'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-116389638430934066</id><published>2006-11-19T00:18:00.000Z</published><updated>2006-11-19T00:33:04.323Z</updated><title type='text'>My First Release</title><content type='html'>&lt;span style="font-family: verdana;"&gt;The GUI is finished.&lt;br /&gt;&lt;br /&gt;Well, that's not strictly true. It exists, it works, and it has all the basic features I need but basic isn't good enough for the game. Nonetheless, I'll be releasing it tomorrow if I can get off my arse and write some example code, build a few executables and find somewhere decent to host it. None of that should be a problem but I'd like to find a web host now and migrate this blog over, rather than rely on a third party host.&lt;br /&gt;&lt;br /&gt;It'll feel great to finally have something out there, even if it isn't a game, is entirely free, and won't keep me in Yazoo. It'll just be nice to have something to offer, get some feedback and hopefully see people using it and liking it.&lt;br /&gt;&lt;br /&gt;Following the release, I'll be implementing some things that are specific to my own game. Which is always a lot more fun. It brings me closer to finishing (although "close" really isn't a great adjective to be using at this point) and I get to try things out. First up, a standard list - we all need those and that'll get slapped into the release version of the interface. Then a league table gadget, which I guess people don't need much, and some fixture lists.&lt;br /&gt;&lt;br /&gt;Essentially, everything you see on the screen is a gadget. As it should be.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-116389638430934066?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/116389638430934066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=116389638430934066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116389638430934066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116389638430934066'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/11/my-first-release.html' title='My First Release'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-116303221266316143</id><published>2006-11-09T00:11:00.000Z</published><updated>2006-11-09T00:30:12.730Z</updated><title type='text'>A nice, relaxing, excruciatingly painful break</title><content type='html'>&lt;span style="font-family: verdana;"&gt;The fun met an abrupt pause last week. I had to go to the dentist to fulfill the latest part of my bi-decennial checkup. Unlike the more mundane fillings, this one was a root canal. My first. I was entirely oblivious to the horror stories that surround this process, and as such the entire thing passed without me even noticing the dentist had done it. I was just about to utter a mild "excuse me, is it done" when the very answer came forth.&lt;br /&gt;&lt;br /&gt;Off I went about my business. As the anaesthetic wore off, I felt a tinge of pain but nothing to get in the way of the work I had planned - implementing a simple panel as one of the basic building blocks for my new GUI system, and the others to go along with it.&lt;br /&gt;&lt;br /&gt;That night, I worked. I had some successes, but was tired and unusually cold. The next day was not so lovely. The pain had built up, and I sat through work, swirling freezing water around my gums in an attempt to numb things. That never worked, and I came home that night with no plans other than to curl up under a blanket and watch some football. I never slept, the pain was too much. I resolved to burst into the dentists office the following morning, which I did, and thankfully got myself some antibiotics. Antibiotics which wouldn't work for three days.&lt;br /&gt;&lt;br /&gt;I couldn't stay in work, so I went home, going through a repetitive pattern of sleep, toilet, pain, sleep, toilet, pain. First in the bed (not the toilet part, mind you) and then on the sofa after I resolved to finally play Bully. That never happened. The house was biting cold, but there was no way that heating was going on after last winter's bill. More jumpers.&lt;br /&gt;&lt;br /&gt;Finally, my girlfriend arrived with stacks of pills and all manner of drugs which I'm pretty sure I would have injected straight into the offending gum if I only had a needle. Miraculously, they worked anyway. I could sit up, watch TV, &lt;span style="font-style: italic;"&gt;talk&lt;/span&gt;! Thank fuck for all that.&lt;br /&gt;&lt;br /&gt;Still though I wasn't fit to work. It wasn't until Sunday that I finally loaded up BlitzMax to see if I could knock something more out, managing to do half that button I had wanted to get done during the week. Instead of having most of the GUI work done by Sunday, I had barely started.&lt;br /&gt;&lt;br /&gt;Which means that's what I've been doing this week. That button has been completed and I've added some labels, images and a nice combo box that surprisingly works exactly as I wanted it to. This is a breakthrough for me, as I hate coding those fucking things. It's even pretty extensible and the same code can be used for those lovely right-click shortcut menu jobs.&lt;br /&gt;&lt;br /&gt;I also learned some more about BlitzMax's 2D system, which isn't the best, but rather than mope as I would have done in the not-too-distant past, I've taken it on board as a challenge. If I have to get stuck into the guts of OpenGL, I'll do it.&lt;br /&gt;&lt;br /&gt;There's a solution in there somewhere...&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-116303221266316143?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/116303221266316143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=116303221266316143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116303221266316143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116303221266316143'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/11/nice-relaxing-excruciatingly-painful.html' title='A nice, relaxing, excruciatingly painful break'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-116189199588956088</id><published>2006-10-26T20:31:00.000+01:00</published><updated>2006-10-26T20:46:35.996+01:00</updated><title type='text'>Joyless Soul - meet Mr Big Fuck-off GUI</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I wasn't in Madrid that long, was I?&lt;br /&gt;&lt;br /&gt;I think I'm going to have to bite the bullet (or chew any other type of ammunition, though that may lead to the swallowing of poison darts) and write my own GUI system.&lt;br /&gt;&lt;br /&gt;I've done one before. It didn't work very well, the code was a hideous mess and on some computers it slowed to a crawl. But none of that bothers me this time. First, things are object oriented now - this is good for GUI systems. Secondly, I've picked up a few tricks which I'm interested in trying out along the way.&lt;br /&gt;&lt;br /&gt;And thirdly, fuck it. Every time I try a third party solution, it causes me as much hassle as it would be to write my own. There's nothing essentially wrong with these off the shelf GUI engines. For what they're designed to do, they do very well indeed - and they've been excellent to learn from. It's just that what &lt;span style="font-style: italic;"&gt;I &lt;/span&gt;want to do, and the way I'd like to do it, is not really compatible. I wanted to build a system that would surround a GUI, providing me all the gadgets I need but without the headache inducing method of creating each and every screen through mind-numbing statements littered throughout the code. It needs to be skinnable - incredibly so. It's not enough to change colours, I want a modder to be able to redesign every screen in the game.&lt;br /&gt;&lt;br /&gt;The last GUI I've been using was pretty good and I had a working system, but the fourth problem reared its head. Lack of transparency. Things were happening using this GUI that I didn't understand, and they were eating my frame rate - before I'd even so much as started processing any of the game stuff. At this point, that's the last thing I need. I need control, and I'm going to get it.&lt;br /&gt;&lt;br /&gt;And the fifth thing? Well, that's the whole reason I started coding in the first place when I was about 10 years old. It's fun. It's fun to achieve things, it's fun to hack things, it's fun to just throw stuff at your computer and learn from the results. Back then I got a buzz from properly generating a random number and recreating Grandstand's Saturday afternoon vidiprinter. Over the last few months I've lost that buzz, and it's making me lose a lot more.&lt;br /&gt;&lt;br /&gt;I'm going to have fun again. There &lt;span style="font-style: italic;"&gt;will&lt;/span&gt; be a game at the end of all this. But if it was just a game I wanted, I'd be playing Football Manager.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-116189199588956088?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/116189199588956088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=116189199588956088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116189199588956088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116189199588956088'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/10/joyless-soul-meet-mr-big-fuck-off-gui.html' title='Joyless Soul - meet Mr Big Fuck-off GUI'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-116035090711983008</id><published>2006-10-09T00:37:00.000+01:00</published><updated>2006-10-09T00:41:47.133+01:00</updated><title type='text'>Bars and Madrid</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Despite the fact that I seem to never update anyway, I thought it wouldn't be a bad idea to let you six (or however many visit these days) know that there'll be no work done over the next four days, because some people who should really know better are sending me off to another country for reasons best known to themselves.&lt;br /&gt;&lt;br /&gt;Still, I've almost completed an xml wrapper for the GUI system, and it's working well. It needs a good method of accessing the individual gadgets, and some way of getting the scrollbars to actually do something other than move up and down in a mesmerising but ultimately useless way. I'd kinda like certain things to scroll.&lt;br /&gt;&lt;br /&gt;Oh, and properly skinned. I don't really want my game to look like Windows XP. Nobody does.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-116035090711983008?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/116035090711983008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=116035090711983008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116035090711983008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/116035090711983008'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/10/bars-and-madrid.html' title='Bars and Madrid'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115983695885058468</id><published>2006-10-03T01:09:00.000+01:00</published><updated>2006-10-03T01:55:58.933+01:00</updated><title type='text'>To simplify, treat middleware as your intestinal tract...</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Owing to those recent problems that were doing my head in, I've spent the weekend doing my best (my lovely, lazy best) to come up with a viable solution.&lt;br /&gt;&lt;br /&gt;Tonight I re-read a reply on the BlitzMax forums regarding the frame rate troubles I've been happen. At first, I had dismissed it as technical details that I wasn't willing to get into, especially when I simply don't have enough knowledge of how BlitzMax is actually working to dare get stuck into its guts and start changing variables.&lt;br /&gt;&lt;br /&gt;Nevertheless, at a loss for a solution, I decided to give it a go.&lt;br /&gt;&lt;br /&gt;The result was better than I could honestly have hoped.&lt;br /&gt;&lt;br /&gt;Remember how the problem was this unwanted delay whilst trying to find out if a key or mouse button is being pressed? Well, tracing the path through the code from that simple KeyDown() function led me into the entrails that make up BlitzMax's innards, where I found the function PollSystem.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-style: italic;"&gt;offending&lt;/span&gt; function PollSystem.&lt;br /&gt;&lt;br /&gt;What does it do? Well, allow me to put my whole heart into this biological analogy I've got going here.&lt;br /&gt;&lt;br /&gt;Eating food is pretty simple, yeah? You chew, swallow, and it goes into your stomach, where your body does the rest. Your conscious job, unless you've just had a dodgy chip from the local eatery and are thus doomed to spend the next four hours renacting scenes from Platoon on the ceramic, is over.&lt;br /&gt;&lt;br /&gt;Imagine, though, if that wasn't it. Imagine that every time your stomach wanted to do something with that disgustingly fatty yet absolutely deliciously greasy burger, it sent it back to your mouth. Asked you to chew again. And again. And again. Heck, never mind the burger, eating a fucking chip would take forever.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That is how PollSystem works. Or at least that's how it works to my admittedly incomplete knowledge. Every time I ask BlitzMax "is L being pressed?", it goes off and tries to read every single key again. This is just how it works.&lt;br /&gt;&lt;br /&gt;On Windows, this is very, very fast. Negligible, in fact, unless you really wanted to make the absolute most of your time. We're talking... (I need a calculator for this) ..... &lt;span style="font-style: italic;"&gt;one twenty-five-millionth&lt;/span&gt;. Is that a real number? 0.00000004 seconds. It's fucking &lt;span style="font-style: italic;"&gt;fast&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;On OS X, it's slower. I don't know if it's a bug with BlitzMax, a "quirk" (read fucking stupid flaw) of OS X, or anything, but it's one forty-thousandth in silly named numbers, or 0.0002496 if you want accuracy. That's &lt;span style="font-style: italic;"&gt;624 times slower.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, what did I do? Well, I made BlitzMax chew its damn food before swallowing, that's what I did. By tweaking a single line, I stop it from calling PollSystem every time I check a key. The proviso is that I must do it myself, once per frame, to ensure that everything works. The result? OS X runs very fast indeed. My test came back telling me it ran six times faster than an untweaked Windows, but that's not a fair comparison for various technical reasons.&lt;br /&gt;&lt;br /&gt;The thing eating away at the back of my mind, unfortunately, is that I'm no expert on BlitzMax and I'm not sure what the repercussions are of my tweaking. It does seem strange that the system would automatically be slower than is theoretically possible - however BlitzMax, being middleware, has been built with ease of use in mind every bit as much as power.&lt;br /&gt;&lt;br /&gt;I'm hoping that this was simply a feature to keep the system more user friendly for new users. Hopefully someone in the know will clue me in. I'm feeling kind of lucky though, after seeing Watford throw away a 2-0 lead, but still steal an equaliser in the dying minutes to seal a 3-3 draw and win me £50.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115983695885058468?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115983695885058468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115983695885058468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115983695885058468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115983695885058468'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/10/to-simplify-treat-middleware-as-your.html' title='To simplify, treat middleware as your intestinal tract...'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115939998316759611</id><published>2006-09-28T00:24:00.000+01:00</published><updated>2006-09-28T00:33:03.186+01:00</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;Ok, it's been two weeks. What's happened?&lt;br /&gt;&lt;br /&gt;Well, the laptop's breathing again but it's not too reliable for doing any work on, so I've gone ahead and got that Mac. And now that's where my current focus lies. See, the system I'm using to create the game, BlitzMax, allows you to compile the same code on a Mac, a PC and on Linux with minimal changes.&lt;br /&gt;&lt;br /&gt;In theory.&lt;br /&gt;&lt;br /&gt;Unfortunately, things haven't gone smoothly. For a start, my editor won't work at all on the Mac thanks to a painfully slow implementation of listboxes, so any further work on that will have to stick to the PC for the time being.&lt;br /&gt;&lt;br /&gt;Elsewhere, the GUI system I've planned on using has been throwing up dodgy frame rates on the Mac as well, the bottleneck being reading from the keyboard. While I can get by fine knowing that my editor will only work on Windows, the game must run as smoothly as possible on every platform.&lt;br /&gt;&lt;br /&gt;I got a Mac because if I can release games for both platforms, I'll theoretically improve sales. I'd only need to sell 80 or so Mac copies to have it pay for itself. So it's very important that I get everything running smoothly.&lt;br /&gt;&lt;br /&gt;Thankfully, it's entirely possible to code without having to test every 5 minutes. The Mac's in the spare room, a quiet haven where I can work without being distracted. As a result I can still churn out code and then give it a few tests on the PC just to make it perfect.&lt;br /&gt;&lt;br /&gt;Also, seeing as I need to learn more about Macs and all that, I'm going to have to write a little something extra, specially for OS X. I'll worry about a PC version when its finished.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115939998316759611?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115939998316759611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115939998316759611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115939998316759611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115939998316759611'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/09/ok-its-been-two-weeks.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115819610168790308</id><published>2006-09-14T02:03:00.000+01:00</published><updated>2006-09-14T02:08:21.696+01:00</updated><title type='text'>It's dead</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Or as good as.&lt;br /&gt;&lt;br /&gt;Not the game. My laptop. The hard drive is effectively fucked, quite possibly thanks to the overheating I had earlier. A new hard drive would cost about £50 but for a four year old laptop that's having more problems than I am (and that's a lot of problems), I'm not convinced it's a good idea to keep hacking at it.&lt;br /&gt;&lt;br /&gt;Instead, I'm going to buy myself a Mac. Plenty of advantages to be had with that.&lt;br /&gt;&lt;br /&gt;What it does mean is that I can't get much work done over the next few days, though weekends are still pretty clear. I'll use this time to finish some of those games &lt;span style="font-style: italic;"&gt;other people &lt;/span&gt;made.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115819610168790308?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115819610168790308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115819610168790308' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115819610168790308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115819610168790308'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/09/its-dead.html' title='It&apos;s dead'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115790966075113386</id><published>2006-09-10T18:30:00.000+01:00</published><updated>2006-09-10T18:34:20.760+01:00</updated><title type='text'>It nearly happened again</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Damn right it nearly did. I had just sat down to work on how seeding systems are set up in the database, when I started to lose confidence in how I had previously done it and was all set to rework that.&lt;br /&gt;&lt;br /&gt;Fuck it. Rework it? Nah. I took an hour or two out and came to the conclusion that it does the job and is very simple, so I'll keep it like that. If I want to rework it at any point, I'll wait until I actually have a game and can then fritter away time on such unproductive tasks.&lt;br /&gt;&lt;br /&gt;Elsewhere, with the spare room in the flat having been tidied up in the last week, I've decided to get myself a desk and stop working in the living room so much, distracted by the internet, the telly, the fridge full of food and so on. I'll try to instill a proper work ethic rather than the current slapdash approach. Anything to make progress.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115790966075113386?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115790966075113386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115790966075113386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115790966075113386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115790966075113386'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/09/it-nearly-happened-again.html' title='It nearly happened again'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115741948067149426</id><published>2006-09-05T02:21:00.000+01:00</published><updated>2006-09-05T02:24:40.683+01:00</updated><title type='text'>An African or a European Vole?</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I'm well aware that it's been a week and a half, and there's a very good explanation around here somewhere. I'm going to need three parakeets and a small African vole to find them though.&lt;br /&gt;&lt;br /&gt;Are there any voles in Africa?&lt;br /&gt;&lt;br /&gt;Anyway, I'm &lt;span style="font-style: italic;"&gt;really&lt;/span&gt; pissed off these days because I'm still stuck on the editor, which of course I had already finished. But the end is in sight, I guess.&lt;br /&gt;&lt;br /&gt;In the meantime I've been biding my time with games of Football Manager 2006, and actually enjoying it again. Makes a change.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115741948067149426?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115741948067149426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115741948067149426' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115741948067149426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115741948067149426'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/09/african-or-european-vole.html' title='An African or a European Vole?'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115654617599281290</id><published>2006-08-25T23:47:00.000+01:00</published><updated>2006-08-25T23:49:36.003+01:00</updated><title type='text'>Tony's Mate's a Nonce</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I'm having a bit of a block at the moment. I've had a cold all week which hasn't helped matters, and when I sit in front of the computer I can't do any fucking work. It's rather irritating.&lt;br /&gt;&lt;br /&gt;Still, I did get all the nations entered. The final count is 274, which is rather large. 207 FIFA nations, and then a bunch of oddballs. Should be fun managing the likes of Catalonia.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115654617599281290?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115654617599281290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115654617599281290' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115654617599281290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115654617599281290'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/08/tonys-mates-nonce.html' title='Tony&apos;s Mate&apos;s a Nonce'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115599168545157733</id><published>2006-08-19T13:44:00.000+01:00</published><updated>2006-08-19T13:48:05.463+01:00</updated><title type='text'>It Begins</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Saturday. The greatest day of the week. The lie in, the free time and thankfully now the football yet again. Sure, the English season has already kicked off for all those Football League clubs, and even the local clubs here have started their League Cup (Newry won, whooo!). But today marks the return of the full six hour Soccer Saturday, and start of AFC Telford United's league season. And Match of the Day, of course.&lt;br /&gt;&lt;br /&gt;It's marvellous, really. So I'm off to enjoy it. And maybe do some work too.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115599168545157733?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115599168545157733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115599168545157733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115599168545157733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115599168545157733'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/08/it-begins.html' title='It Begins'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115568141659379851</id><published>2006-08-15T23:26:00.000+01:00</published><updated>2006-08-15T23:37:46.090+01:00</updated><title type='text'>FA Cup Is Here Again!</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Ah, competitions. Let's hope they all work.&lt;br /&gt;&lt;br /&gt;With a bank holiday weekend coming up in a little over ten days, I'm going to work hard to make sure that I can get the data editor working regarding competitions. Already I'm able to create the damn things and tweak various simple values - the number of entrants, when the competition should be reset, that sort of thing.&lt;br /&gt;&lt;br /&gt;The actual structure of each competition is like playing with Lego, except without the cool ability to make a large sword and smash it over your friend's skull, showering both of you in sharp plastic blocks. Lego is ace.&lt;br /&gt;&lt;br /&gt;Getting a basic competition built is simple, and after that I've to redo all that horribly complex qualification stuff that bled my mind dry earlier in the year. If I can get it all done for that Friday though, I've got a "fun" saturday coming up.&lt;br /&gt;&lt;br /&gt;In that one day, I plan to go from having a bunch of raw data to having working competition structures. One day, a huge boost.&lt;br /&gt;&lt;br /&gt;But not this Saturday. This Saturday, the season kicks off for those teams at the top, and loads of teams at the very bottom. While the likes of Chelsea and Liverpool battle it out for early leadership of the Premiership, exotic sounding sides like Deeping Rangers and Ramsbottom United will try to make it through the Extra Preliminary Round of the FA Cup.&lt;br /&gt;&lt;br /&gt;My tip to go the furthest, based on nothing more than the name of the club alone? The mighty Diss Town, away at Tring Athletic. If the former isn't an entire team full of Ali G lookalikes, I may retract the tip.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115568141659379851?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115568141659379851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115568141659379851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115568141659379851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115568141659379851'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/08/fa-cup-is-here-again.html' title='FA Cup Is Here Again!'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115539070732654524</id><published>2006-08-12T14:15:00.000+01:00</published><updated>2006-08-12T14:59:56.310+01:00</updated><title type='text'>Related Clubs</title><content type='html'>&lt;span style="font-family:verdana;"&gt;In football, clubs aren't standalone entities. In addition to many clubs having close ties with companies (such as Philips Sport Vereniging, better known as PSV Eindhoven, or lowly Airbus UK in the League of Wales), there are plenty of clubs that have links with other clubs. Manchester United, as many know, have a relationship with Royal Antwerp, while elsewhere both the Metrostars and Austria Salzburg have been purchased by Red Bull, controversially changing team colours and renaming the sides to Red Bull New York and Red Bull Salzburg respectively.&lt;br /&gt;&lt;br /&gt;So what do those relationships mean? Well, Antwerp's case is clear - United regularly send out youngsters on loan to aid their development. For the Red Bull sides, things have yet to fully materialise. It is possible that players could move between the sides, and with a common ownership I wouldn't be too surprised to see that their financial status mirror each other. Regardless, it's a tricky situation.&lt;br /&gt;&lt;br /&gt;This becomes pertinent when regarding the game. No simulation of world football would be complete without organising relationships between the clubs, and while each individual case is often complex, there are general factors that I can use.&lt;br /&gt;&lt;br /&gt;The first relationships I have in the game are the obvious. &lt;span style="font-weight: bold;"&gt;Rivalries&lt;/span&gt; exist between clubs, of differing strengths and reasons, be they sporting, political or simply based on location alone (a number of rivalries encompass all three, of course). Clubs can be &lt;span style="font-weight: bold;"&gt;Successors&lt;/span&gt;, in that they were formed out of an existing or collapsing club. FC United and AFC Wimbledon are two famous "successor" clubs formed by fans who feel the original side have mistreated them for too long. AFC Telford United or 1.FC Lokomotiv Leipzig are sides borne out of the ashes of clubs who have fallen under financial strain. In these situations there is often great debate as regards the ownership of the history of the original club - AFC Wimbledon and Milton Keynes Dons both claim the history of the old Wimbledon. Personally, I side with AFC Wimbledon (with a little foot in the "Wimbledon are dead and there are two new clubs" camp) but if the game's to be encyclopaedic, I need to find an official answer.&lt;br /&gt;&lt;br /&gt;And of course, there are mergers. These "successor" clubs are formed out of a merger of existing clubs, or perhaps just absorbing a single club into the existing powerhouse. Kinda like Loco Roco. Rushden &amp; Diamonds are a merger club, formed from the non-league sides Rushden Town and Irthlingborough Diamonds.&lt;br /&gt;&lt;br /&gt;The game will not feature any mergers, splits or new clubs itself during the course of play. The technicalities of such features are pretty simple, but club names are hugely complex around the world. What applies in England will not stand in Germany, and is utterly useless in Brazil.&lt;br /&gt;&lt;br /&gt;You can, however, form your own clubs in the game, at any point (provided you have the cash).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Feeder&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Clubs&lt;/span&gt; will be in the game, in a greatly simplified format at first. As described above, a feeder club link will allow for the parent side to send their players out on loan to the feeder, adhering to all the transfer rules of the governing bodies involved. The parent side can also have first option on any player in the feeder club. As the intricacies of feeder clubs become more apparent, I'll be expanding on the situation, but a basic implementation is a must. Feeder sides such as Real Madrid Castilla, which are essentially part of the whole Real Madrid club, will be implemented as second or third sides of the main side.&lt;br /&gt;&lt;br /&gt;And lastly, clubs can be linked &lt;span style="font-weight: bold;"&gt;Financially&lt;/span&gt;, enabling potential situations like the Red Bull Empire.&lt;br /&gt;&lt;br /&gt;And remember from Star Wars - empires are the bad guys.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115539070732654524?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115539070732654524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115539070732654524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115539070732654524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115539070732654524'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/08/related-clubs.html' title='Related Clubs'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115524864491815973</id><published>2006-08-10T23:02:00.000+01:00</published><updated>2006-08-10T23:25:31.033+01:00</updated><title type='text'>Outside the mainstream</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Derry City just beat Gretna 5-1, away from home. A lot of people are very happy in Ireland right now. A fair few people in Scotland are probably in shock. And some people in Northern Ireland are a little scared because if Irish league clubs continue to improve, the Northerners are screwed in the Setanta Cup.&lt;br /&gt;&lt;br /&gt;Elsewhere, Drogheda United, also of the League of Ireland, slipped to a narrow defeat at Norwegian side IK Start, whilst Welsh side Llanelli were defeated by the same scoreline by Odense BK of Denmark.&lt;br /&gt;&lt;br /&gt;Now, this blog isn't a football news website so why am I telling you this? Well, it's because the only game that was actually available to watch on the television tonight was Newcastle United's dour affair with Lithuanian side Ventspils.&lt;br /&gt;&lt;br /&gt;TV hates the little guys. The media just don't care. And as a result the average football fan in England's streets remains eternally blinkered about anything that's ever occurred outside the scope of the Premiership or Champions League. When unfashionable clubs finally do get on the box, they're constantly patronised to great lengths by commentators who put in a half arsed research attempt. When Liverpool faced Total Network Solutions in the Champions League first qualifying round - for many people the first time they even knew there was more than one - the folk in the studio just about managed to get the name of the club right. When a part time non-league side faces Premiership opposition, it doesn't matter how much the lowly representatives eulogise about their club's strengths and the appeal of the non-league game. All the papers want to know about is which one's the plumber.&lt;br /&gt;&lt;br /&gt;It's about ratings, it's about drawing in the viewers for advertising revenue, and in that respect you can forgive the likes of ITV and five for not going to great lengths to snatch at the opportunity to cover Gretna's charge through Europe (that the game was picked up by Irish channel Setanta Sports is only some consolation, as I don't have it). The BBC, unhindered by commercial restrictions, could well have picked up Llanelli's game against Odense - an away game, it's not exactly going to stop the hordes from flocking to the stadium to catch the action. The travellers will always go.&lt;br /&gt;&lt;br /&gt;So what about the game? Well, it's an area I want to pay attention to. Not only do I want to give plenty of exposure to the teams people rarely hear about, I want to bring forth the full experience. Playing a football game, as I've said in the past, can often be a sterile affair. Games rarely seem to note the difference in quality between the competing sides, so when I score a late equaliser with Yeovil against Liverpool in FIFA 2005, I get the same celebration as if the roles were reversed.&lt;br /&gt;&lt;br /&gt;There's a lack of emotion. Derry City right now are over the moon. It's their third European win on the trot (the other two coming in the first qualifying round against IFK Goteborg, no mean feat) and only their fourth ever. The travelling fans were ecstatic throughout the second half, there's a party atmosphere throughout.&lt;br /&gt;&lt;br /&gt;A game needs this. Football such as this is all about the passion. If it's missing, you've missed the point.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115524864491815973?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115524864491815973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115524864491815973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115524864491815973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115524864491815973'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/08/outside-mainstream.html' title='Outside the mainstream'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115515865625986138</id><published>2006-08-09T22:16:00.000+01:00</published><updated>2006-08-09T22:24:16.273+01:00</updated><title type='text'>Overheating Fun</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Being a geek, I have two computers at home, a laptop and a desktop. This gives me the ability to work regardless of what my girlfriend wants to do - and as she quite likes Rollercoaster Tycoon 3 at the moment (which she's happily modding and displaying a much greater understanding of 3D modelling than I ever have, though she still refuses to accept a geek label), I'm stuck with the laptop.&lt;br /&gt;&lt;br /&gt;Pesky integrated graphics.&lt;br /&gt;&lt;br /&gt;The laptop is four years old. It's still quite powerful as far as laptops go, although the memory is a bit of a bottleneck, and as such I can happily make my game on it. Or at least, I used to. For now, my damn laptop overheats far too much and shuts off. A laptop cooler is sitting in the local post office. I have to go out of my way at lunch tomorrow to pick it up. It had better bloody work.&lt;br /&gt;&lt;br /&gt;It's irritating because it means I can't work using the laptop without fear of either breaking it or losing my work. And the fecking thing proved far too difficult to open for my puny little hands. That'll have to be fixed.&lt;br /&gt;&lt;br /&gt;Still, in other news the editor is mostly working now, and I'm going to spend plenty of time over the next month getting competitions in order. Quite looking forward to that, as it's becoming very boring stuff recently which has led to posts telling you to all bugger off, and overheating laptops.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115515865625986138?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115515865625986138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115515865625986138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115515865625986138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115515865625986138'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/08/overheating-fun.html' title='Overheating Fun'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115478104915069026</id><published>2006-08-05T13:26:00.000+01:00</published><updated>2006-08-05T13:30:49.160+01:00</updated><title type='text'>Dullness</title><content type='html'>&lt;span style="font-family: verdana;"&gt;As ever, I've got nothing to report on the basis that it's all incredibly boring stuff. Things get fixed, things get broken, things get changed, dropped, and poo-pooed on.&lt;br /&gt;&lt;br /&gt;So there really isn't much to say these weeks, which is perhaps a bad thing. Maybe I could be like other bloggers and start reviewing other games for the hell of it, except that I don't have the inclination to go cramming shite into my schedule, what with shit games being infinitely more fun to read about.&lt;br /&gt;&lt;br /&gt;So essentially you'll probably have to wait until I'm doing something more interesting before the blog actually becomes worth your time.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115478104915069026?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115478104915069026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115478104915069026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115478104915069026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115478104915069026'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/08/dullness.html' title='Dullness'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115438488604644540</id><published>2006-07-31T23:24:00.000+01:00</published><updated>2006-07-31T23:28:06.056+01:00</updated><title type='text'>Morose what now?</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Ok. Been a bit long. I blame.... cabbage.&lt;br /&gt;&lt;br /&gt;I've been doing plenty of work on the data editor, and now it's almost refurbished. Well, it looks identical to the old one but uses the new database code, and as such it's infinitely better and using it is like breathing a whole new type of air, with 55% less fart.&lt;br /&gt;&lt;br /&gt;I've also fixed a fairly major bug in the database code, so that's equally excellent.&lt;br /&gt;&lt;br /&gt;But apart from that lot, I'm getting a bit annoyed that I'm retreading old ground. I expected this to happen, of course, and I'm still not doing too badly with regards to my targets. However, it does sap the energy to spend each night in front of the computer doing repetitive tasks.&lt;br /&gt;&lt;br /&gt;So in addition, I'll also fiddle about a bit with random graphical jiggery-pokery (the best kind of pokery) to keep that little spark alive that says "have a bit of fun, you morose fuck!"&lt;br /&gt;&lt;br /&gt;Although if it's going to be rude...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115438488604644540?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115438488604644540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115438488604644540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115438488604644540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115438488604644540'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/07/morose-what-now.html' title='Morose what now?'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115366291193665586</id><published>2006-07-23T14:46:00.000+01:00</published><updated>2006-07-23T14:56:00.403+01:00</updated><title type='text'>Wahey for Backups</title><content type='html'>&lt;span style="font-family:verdana;"&gt;So, there I was, about 90% of the way towards changing the way the system stores the group sizes. I had updated the database structure and found that I made a wonderful saving of 8MB.&lt;br /&gt;&lt;br /&gt;Then it hit me - the major memory hits come from any tables that have a lot of records. The biggest table is the People table - 575,000 records. The next biggest weighs in at a mere 16,000, which is section data (each competition being split up into sections, such as a group phase or knockout stage).&lt;br /&gt;&lt;br /&gt;Other than the People table, I wasn't losing much memory. And although on an individual basis the speed hit wasn't that big, there's no point in sacrificing speed for 8MB of RAM. Speed lets me do more.&lt;br /&gt;&lt;br /&gt;So the backup was useful, to stop me having to spend time changing everything back. I've got to do that more often.&lt;br /&gt;&lt;br /&gt;In other areas, I started playing Brothers in Arms: Earned in Blood. The series is easily the best WWII shooter out there. It's atmospheric, looks great, and best of all doesn't treat your character as John Matrix. Invincible supermen don't work for me in a historic setting, so to see myself get ripped apart when in the open is joyous indeed.&lt;br /&gt;&lt;br /&gt;Or not, as I'd rather kill &lt;span style="font-style: italic;"&gt;them&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The sequel looks ace.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115366291193665586?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115366291193665586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115366291193665586' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115366291193665586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115366291193665586'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/07/wahey-for-backups.html' title='Wahey for Backups'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115333453391760521</id><published>2006-07-19T19:33:00.000+01:00</published><updated>2006-07-19T19:42:57.390+01:00</updated><title type='text'>Insight into My World</title><content type='html'>&lt;span style="font-family:verdana;"&gt;I can use the database code to solve a problem with the database code. Now that's just genius on a par with folk like the guy who invented marmalade, and stuff.&lt;br /&gt;&lt;br /&gt;Actually, I hate marmalade. Tangy bunch of crap.&lt;br /&gt;&lt;br /&gt;See, my problem is that I'm often forced into using too much memory to store small numbers. I wrote the database code as a means of allowing me to store small numbers in just the right amount of memory. So what I've decided to do is have the system automatically create fields for every "group" in a table, telling you how many entries are in that group.&lt;br /&gt;&lt;br /&gt;I had held off this idea in the past because I thought it would be too slow. That's a load of poo, it's perfect. The player table alone shaves nearly 10MB from the file size. Ten arse megabytes that weren't being used at all.&lt;br /&gt;&lt;br /&gt;In other news, I purchased a copy of &lt;a href="http://www.kudosgame.com"&gt;Kudos&lt;/a&gt;, obviously on the basis that my own life's down the pan so I may as well lead an alternate one. That went well. Within a year I had lost all my friends, been robbed three times and learned the ancient art of Kung Fu in retaliation. One of the chaps that burgled my home decided that instead of taking the cable telly, he'd swipe my self help book. Such a blow to my confidence, but at least I could still watch the Comedy Channel. Alone.&lt;br /&gt;&lt;br /&gt;Hey, it beats staring at the walls with the lights off.&lt;br /&gt;&lt;br /&gt;That's an option in the game, by the way. Where I live, I have no walls.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115333453391760521?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115333453391760521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115333453391760521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115333453391760521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115333453391760521'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/07/insight-into-my-world.html' title='Insight into My World'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115326488153310467</id><published>2006-07-19T00:10:00.000+01:00</published><updated>2006-07-19T00:21:21.550+01:00</updated><title type='text'>It's getting big</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I've slowly been building the database structure. It's all much easier now, as I had hoped. However, it's a little shocking to find the entire database weighs in at 100MB at the moment and has the potential to grow further.&lt;br /&gt;&lt;br /&gt;I'm not entirely pleased with that, so I need to get it down. I know where the problem is, and it's best illustrated with a lovely example. The game has room for five World Organisations, such as FIFA or the Island Games Association. You know them well, of course. Now, each organisation has a list of affiliate nations, and it takes two bytes to store how many are in this list.&lt;br /&gt;&lt;br /&gt;Which is a tad ridiculous and ought to be avoided if possible. I'd use one byte, except certain lists of this kind use up more than that. Now, if I could get it so that the game used the appropriate storage, I'd save an awful lot of memory.&lt;br /&gt;&lt;br /&gt;Six organisations aren't using much. But consider that the same applies to a player's history, and there are 570,000 people in the game. That's over one megabyte, and I'm using two bytes to store a number between 0 and 20. That's just not right. And there are about 15 such lists for each person. 7.5MB at least is just wasted space.&lt;br /&gt;&lt;br /&gt; As it is, these values are using up 40% of the total size. Arse.&lt;br /&gt;&lt;br /&gt;Of course, if you're running a good computer this is never an issue. And the database has been designed to hold more data than is really necessary so the size will get reduced over time. Yet even so...&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115326488153310467?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115326488153310467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115326488153310467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115326488153310467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115326488153310467'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/07/its-getting-big.html' title='It&apos;s getting big'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115305302090582102</id><published>2006-07-16T13:22:00.000+01:00</published><updated>2006-07-16T13:30:20.916+01:00</updated><title type='text'>Ahhh!</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I sat down yesterday to start creating the database structure (a delightfully easy task now). I perched my laptop on my lap, which no doubt made the guy who invented it let out a sigh of satisfaction at another accomplishment, and got to work. A few tables later, black.&lt;br /&gt;&lt;br /&gt;The screen went black. The laptop had shut off. It had overheated.&lt;br /&gt;&lt;br /&gt;No worries, I thought. This has been known to happen - the fan's a bit clogged with dirt and dust and so if the laptop isn't on a cool surface, it'll overheat. I sat the machine on the little table in front of me and got back to work. A while later, black.&lt;br /&gt;&lt;br /&gt;In fury, I leapt up and unleashed a stream of urine towards the toilet. I must point out that I actually went into the bathroom first, as I'm not blessed with such fantastic aim. I let my anger subside, picked up my small plastic guitar and thrashed out a few Guitar Hero tracks, failing miserably at No One Knows and Crossroads yet again. I had decided to let the laptop cool and also let any capacitors (which there probably is inside these things) discharge properly.&lt;br /&gt;&lt;br /&gt;Then I would open it up, clean the fan, and everything would be good. Alas, I couldn't open the fucker. Every screw known to man was removed but the thing wouldn't open. Instead, I fixed a room fan and set it beside the machine. Success! The fan's cold air kept the laptop cool, and I worked away. As the day turned into night and other cliches, I turned the fan down a little to keep myself from freezing, and continued working.&lt;br /&gt;&lt;br /&gt;Black.&lt;br /&gt;&lt;br /&gt;Oh for fuck sake. Four times in one day is not fucking good. I unleashed my fury upon Crossroads but once again failed miserably at Queens of the Stone Age's efforts.&lt;br /&gt;&lt;br /&gt;If this laptop's buggered I'll be most upset.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115305302090582102?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115305302090582102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115305302090582102' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115305302090582102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115305302090582102'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/07/ahhh.html' title='Ahhh!'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115245727677488454</id><published>2006-07-09T15:48:00.000+01:00</published><updated>2006-07-09T16:01:16.786+01:00</updated><title type='text'>Swift? Ha ha!</title><content type='html'>&lt;span style="font-family: verdana;"&gt;In my last post, I mentioned the links system and how it would swiftly clean things up to avoid horrible crashes.&lt;br /&gt;&lt;br /&gt;Swift is not the word. Slow is.&lt;br /&gt;&lt;br /&gt;Actually, it's reasonably quick but it can't be used in the game at all because it all adds up - delete one player and it might take a second to ensure all traces are removed. Delete the 20,000 people who might retire at the end of the season and I suspect that nobody's going to be happy waiting for five and a half hours while the game makes sure everything's ok.&lt;br /&gt;&lt;br /&gt;Instead of automating it, it'll have to be cleaned up in code. It's not a major problem - it had to be done anyhow in places - and still doesn't necessitate too many code changes if I rearrange the tables. I've still got some headaches related to the whole speed thing but not as much as before.&lt;br /&gt;&lt;br /&gt;And of course, I don't have to worry about the imminent destruction of the universe.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115245727677488454?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115245727677488454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115245727677488454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115245727677488454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115245727677488454'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/07/swift-ha-ha.html' title='Swift? Ha ha!'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115230734908859112</id><published>2006-07-07T22:10:00.000+01:00</published><updated>2006-07-07T22:22:29.100+01:00</updated><title type='text'>A whoo-hoo. Yes.</title><content type='html'>&lt;span style="font-family: verdana;"&gt;The database has been recoded. And works great, it's clean, and it'll be much easier to use. I've still got to tackle the rather large and annoying problem that is rewriting the data editor in order to use the new code, but it won't take as long as it did to write it in the first place.&lt;br /&gt;&lt;br /&gt;At the moment, I'm still adding a system of relationship links to the database. Essentially, these will allow you to link the field of one record to another table or group, the purpose of this being to get the database code to automatically clean things up when you make a big stink. For example, if I delete a player from the database, it will swiftly search through all the teams in the game to make sure that the player is removed from his club, through all the competitions to tell his disciplinary record to sod off and so on, thus avoiding horrible crashes that might have plagued the original system.&lt;br /&gt;&lt;br /&gt;It's a wonderful theory, but it also threatens to undo the very universe with its irritating recursiveness. Remove a player and you remove his entry in a club. Remove that... and you might end up deleting something else, like an existing loan arrangement. Delete that, and it might go and mess up something else, which will screw up the upstairs landing and result in a cacophony of squirrels attempting to assault a banjo with creme de menthe. I've confused you, I know, but that's basically how I'm suffering just trying to sort out this ridiculous yet entirely necessary system.&lt;br /&gt;&lt;br /&gt;It could, in theory, end up trying to delete the very thing you've deleted in the first place, setting off the entire chain reaction. If that's a record, that's no problem - the system doesn't shift records around when you delete one, so deleting record two won't move record three down. However it does shift entries in a dynamic group. If I remove Player 13 from a club, Player 14 will shift down to save memory. I don't particular want to delete that and end up destroying the universe, particularly as I've yet to visit some nice places in that universe.&lt;br /&gt;&lt;br /&gt;It'll be done tomorrow if I don't gibber.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115230734908859112?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115230734908859112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115230734908859112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115230734908859112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115230734908859112'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/07/whoo-hoo-yes.html' title='A whoo-hoo. Yes.'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115162798154739816</id><published>2006-06-30T01:18:00.000+01:00</published><updated>2006-06-30T01:39:41.570+01:00</updated><title type='text'>Retreading old ground</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I've made the decision to go back and redo the database code. Since writing it in the first place I've got, well, a little better at coding. At the moment, the main problem is that in order to access, say, the date of birth of a player, I've got to read in &lt;span style="font-style: italic;"&gt;all&lt;/span&gt; of that player's data into a Player type, and then have a gander at his birthday.&lt;br /&gt;&lt;br /&gt;Hey, it made sense at the time - by reading and writing whole records, I saved myself a few headaches. But it came at a price - every time I wanted to change the database I had to make numerous changes to the game's code as well, and over the last week it all came to a head when I realised I was putting off work on the next issue because it involved this utterly soul destroying task.&lt;br /&gt;&lt;br /&gt;I had had enough. I decided that I needed a way of telling the database system that I just want to look at the "Year Founded" field in "Club" without also getting the youth coach's weekly wage. It does mean a few extra problems need solved but I'm up to that task now. The new system when implemented ought to save me plenty of time, and it also keeps the game easily expandable.&lt;br /&gt;&lt;br /&gt;The larger problem with this decision is that the Data Editor pretty much needs rewritten as it is based almost entirely on the old database code. Arse. But it can't be helped, it's going to have to be done.&lt;br /&gt;&lt;br /&gt;Keeping this database clean is useful because it means I can create the basic game and then spend most of my time adding leagues and making improvements, rather than fighting with hideous code and ending up churning out crap.&lt;br /&gt;&lt;br /&gt;Nobody wants crap.&lt;br /&gt;&lt;br /&gt;Not even flies. But flies can't be choosers. Or I shall kill them.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115162798154739816?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115162798154739816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115162798154739816' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115162798154739816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115162798154739816'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/06/retreading-old-ground.html' title='Retreading old ground'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115144283374330900</id><published>2006-06-27T22:03:00.000+01:00</published><updated>2006-06-27T22:13:53.770+01:00</updated><title type='text'>It's big...</title><content type='html'>&lt;span style="font-family: verdana;"&gt;So I've been doing what I said I would - splitting the code into far more manageable chunks spread across many files. I'm not quite finished yet. Initially there were about 10 files at most, covering the data editor, the competition engine, the game database and so forth. All of them pretty large to the point where they got difficult to manage.&lt;br /&gt;&lt;br /&gt;I'm not quite done yet but currently the total stands at 109 files, each one typically containing a single function and a few of the files have more, smaller functions that splitting seems a bit silly.&lt;br /&gt;&lt;br /&gt;It's a ridiculously big game that doesn't even have some very important bits. Tsk.&lt;br /&gt;&lt;br /&gt;That's my excuse for all this time. It's fucking huge. Live with it.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115144283374330900?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115144283374330900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115144283374330900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115144283374330900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115144283374330900'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/06/its-big.html' title='It&apos;s big...'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115111126211446950</id><published>2006-06-24T01:56:00.000+01:00</published><updated>2006-06-24T02:07:42.140+01:00</updated><title type='text'>Late night problems go away</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Frame rate problem solved. Not that there ever was a problem.&lt;br /&gt;&lt;br /&gt;Turns out, the IGlass frame rate function was returning the &lt;span style="font-style: italic;"&gt;actual&lt;/span&gt; frame rate - i.e. how often the screen was being refreshed every second. Whereas I wanted to know how often the screen is capable of being updated every second. End result is that it's actually been running ten times faster than I thought it was, which means there's plenty of time for processing between frames.&lt;br /&gt;&lt;br /&gt;Part of the plan for the game is to have it multitask, of sorts. So when you're playing, the game should be working in the background. After all, clicking on an interface is not a particularly intensive piece of work so there's no point forcing the player to wait at the end of every day while petty tasks are carried out.&lt;br /&gt;&lt;br /&gt;I plan to implement this multitasking by having the game work out when it should refresh the GUI. It's easy to work out how long it takes to render a single screen. Say it takes 5 milliseconds on a bad day. That still leaves about 15 ms of time if you want the game to run at 50 frames per second, so the little background worker guy can just keep checking his watch to see when he should be showing you an update, or when he can do another quick job. Even if he's getting one job done every frame, that's still 50 every second. Those will add up.&lt;br /&gt;&lt;br /&gt;It'll get complex when it comes to larger jobs such as calculating an entire match. I'm aiming for a single match to take about an eighth of a second, based on Football Manager's time of 1 second for an exceedingly complex ninety minute match compared to my game's 8 minute fixture. If I could get it in that time on the same computer, I'd be very happy indeed. But that means a single job would take much longer than one frame, so I'd have to be able to chop it up into little pieces.&lt;br /&gt;&lt;br /&gt;Ah, design problems. Much more fun than making an editor anyway.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115111126211446950?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115111126211446950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115111126211446950' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115111126211446950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115111126211446950'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/06/late-night-problems-go-away.html' title='Late night problems go away'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115101297796655572</id><published>2006-06-22T22:41:00.000+01:00</published><updated>2006-06-22T22:49:37.986+01:00</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;I haven't done any work since I've come home. Whilst reading Masters of Doom I decided I really needed to create some sort of work area for myself - for the most part the game coding has been done in the living room. This isn't too bad and has yielded plenty of progress, but it's all to easy to get interrupted by marauding girlfriends and televisions.&lt;br /&gt;&lt;br /&gt;So I've to clean up the spare room a bit better. Pity it's tiny and has little room for a desk, but I've got some rather sturdy shelving which will probably be fine to sit the laptop on. It's peaceful, that's a good thing. And I might want to move that laundry basket, but then I luckily can't smell.&lt;br /&gt;&lt;br /&gt;Elsewhere, I've got to tidy things up a bit. The living room is a bit shambolic anyway because I bought a 14" telly to sit beside the computer whilst the World Cup is on, so right across from me there's a row of crazy electronic shit of varying ages. I can't work in mess very well, so that has to be sorted.&lt;br /&gt;&lt;br /&gt;Speaking of mess, my code is a mess. It's not terribly structured (in my opinion) but it's nowhere near perfect. The problem is many of the files are getting rather large and need splitting up into more manageable chunks, so that's my target for the meantime. That, and see what I can do to sort out the rather jarring problem with the laptop (a 2.2GHz machine that's well above the target spec) running the existing code about 20% of the speed of the PC (an Athlon 3500). That can't be good. Not when it ends up rendering the screen at 60fps &lt;span style="font-style: italic;"&gt;before&lt;/span&gt; I have it do anything complex. Considering my target spec is probably around the 1GHz range, I have to let out the occasional primal yell.&lt;br /&gt;&lt;br /&gt;Hence the need for sanctuary.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115101297796655572?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115101297796655572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115101297796655572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115101297796655572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115101297796655572'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/06/i-havent-done-any-work-since-ive-come.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-115084823598769012</id><published>2006-06-21T00:38:00.000+01:00</published><updated>2006-06-21T01:03:56.016+01:00</updated><title type='text'>Return to the blog</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I haven't posted because I haven't done any work. I haven't done any work because I haven't been in the country, and because the country I was in was far too hot to do any work. Also, there was a small matter of football.&lt;br /&gt;&lt;br /&gt;I did get to see Australia lose to Brazil in a rather indifferent game, but the atmosphere was amazing. I was Jakob Moertl for the day, whoever he is. Good old Jakob.&lt;br /&gt;&lt;br /&gt;In other places, I did exciting things like climb an alp, or... no, that's it.&lt;br /&gt;&lt;br /&gt;I also read Masters of Doom, by David Kushner. The story of id software, particularly focussing on John's Carmack and Romero, it's inspiring stuff for a guy like me. I even have long hair! Future Rich Person in the making, methinks. Now, if only I had their talent. Oh, and their Ferraris. No, there's plenty in that book that made me want to rush off and get coding long into the night.&lt;br /&gt;&lt;br /&gt;There's also this quote from John Carmack I picked up earlier today:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;i&gt;The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;span style="font-family: verdana;font-size:100%;" &gt;He speaks a lot of sense. There's a place for patents but it is not in software. By all means make money from your creation but don't try to kid yourself. That pathway was forged with the architecture you're working on - you're just the first to walk down the road. Hilary doesn't claim rent on Everest.&lt;/span&gt;&lt;i&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-115084823598769012?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/115084823598769012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=115084823598769012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115084823598769012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/115084823598769012'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/06/return-to-blog.html' title='Return to the blog'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114987960197571482</id><published>2006-06-09T19:57:00.000+01:00</published><updated>2006-06-09T20:00:17.126+01:00</updated><title type='text'>Whoooo!</title><content type='html'>&lt;span style="font-family:verdana;"&gt;World Cup time again! Happy days!&lt;br /&gt;&lt;br /&gt;Although Ireland didn't qualify, thanks in the main to Israel's ability at coming back from defeat, I'll still be enjoying it. And I'm not just saying that because it's about 95% certain I'll be at one of the games.&lt;br /&gt;&lt;br /&gt;No, it's a football fest. The good kind of fest.&lt;br /&gt;&lt;br /&gt;A month of fun. Can't beat it. Although people organising weddings during the thing need a stern talking to.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114987960197571482?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114987960197571482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114987960197571482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114987960197571482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114987960197571482'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/06/whoooo.html' title='Whoooo!'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114955186806293367</id><published>2006-06-06T00:51:00.000+01:00</published><updated>2006-06-06T00:57:48.073+01:00</updated><title type='text'>Nothing</title><content type='html'>&lt;span style="font-family: verdana;"&gt;That's what I did today. Or yesterday if you want to get technical. &lt;span style="font-style: italic;"&gt;Monday&lt;/span&gt;. I did nothing. Well, I went to work (and did nothing there), and when I came home I was in no mood to do work of an interesting variety. So I had a long overdue day off.&lt;br /&gt;&lt;br /&gt;A day off where I completed Simpsons Hit &amp; Run (not a bad game), and then beat the Water Temple in Ocarina of Time. Well done me.&lt;br /&gt;&lt;br /&gt;I did have a moment of clarity during the day regarding the best way to deal with all the data that a competition is going to require to get running (you know, storing all the results and league tables), which is a bonus. And last night whilst lying in bed in a frustrated heap (the Sunday Demon struck, you see) I had a nice little breakthrough with regards to those item templates that nagged me during the weekend.&lt;br /&gt;&lt;br /&gt;It's good to get away from it all for a day. I'll come back tomorrow refreshed and eager and should hopefully make decent progress. By next Monday I'd like to have competitions basically working - that is to say that any one competition will work perfectly fine regardless of its structure, but all the fancy stuff like qualification will have to wait until a week later or so. If the football doesn't intefere. Pesky real world.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114955186806293367?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114955186806293367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114955186806293367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114955186806293367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114955186806293367'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/06/nothing.html' title='Nothing'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114942171771310060</id><published>2006-06-04T12:39:00.000+01:00</published><updated>2006-06-04T12:48:38.183+01:00</updated><title type='text'>Montenegro</title><content type='html'>&lt;span style="font-family: verdana;"&gt;So, we all have a new nation. Now, I'm sure that's wonderful for 55% of the Montengrins, but I'm not here to discuss politics and stuff. Football is at hand! With a new nation invariably comes a new national side, a new FA and new widdly things to worry about. I've structured the game so all that's fairly easy to enter, but when will it all occur?&lt;br /&gt;&lt;br /&gt;We'll no doubt see Serbia &amp; Montenegro at the World Cup as a unified team, and I wouldn't be surprised to see the two nations compete as one in the European Championship qualifiers, for which the fixtures have all been decided amongst the usual quarrelling. Assuming the game is &lt;span style="font-style: italic;"&gt;actually finally released by that point&lt;/span&gt; then there might just be a problem. We'd see Serbia and Montenegro compete as separate nations at a future date.&lt;br /&gt;&lt;br /&gt;That's not easy. I could hard code it but I'm loathe to do that, it's ugly and doesn't help for any future developments. So I'd like to do it in the editor. Some way of unifying two nations as one team for a period of time seems to be the answer, and also seems to be a lot of work.&lt;br /&gt;&lt;br /&gt;Pesky politics. Think of the hardworking game developers!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114942171771310060?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114942171771310060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114942171771310060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114942171771310060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114942171771310060'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/06/montenegro.html' title='Montenegro'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114934185823309543</id><published>2006-06-03T13:15:00.000+01:00</published><updated>2006-06-03T14:56:01.906+01:00</updated><title type='text'>Revelation #239</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/5444/2074/1600/PSM2.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/5444/2074/320/PSM2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/5444/2074/1600/closeup.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/5444/2074/320/closeup.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I'm shit at graphic design. Really fucking shit.&lt;br /&gt;&lt;br /&gt;Modern PCs give you massive resolutions and 32-bit colour. That's far too much for a guy like me to deal with. I used to be ace at creating interface mockups on my Amstrad CPC, with its 400x250, 2-bit colour screen. Four whole colours! Man, I had a screen with black, red, a darker red and white. It looked ace.&lt;br /&gt;&lt;br /&gt;And that's it there in those little pictures, that I just took with a crappy camera. It suited the machine perfectly, it was nice, and I never got further than this. It would clearly have been the best game ever. Alas, it wasn't to be because it was 1999 and I finally got myself a PC, and thus all the requirments got expanded into areas that I alone can't possibly meet.&lt;br /&gt;&lt;br /&gt;Which is why I'm quite grateful for my XML GUI system. Without that, I'd be stuck right now having to design (or get someone to design) an interface before I could proceed with the guts of the system. That'd be frustrating, and I wouldn't be able to make any changes later without a heck of a lot of work.&lt;br /&gt;&lt;br /&gt;But right now, my interface looks like someone's crapped it out after eating fifteen curries laced with laxative, yet it's not holding me back in the slightest. Yes!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114934185823309543?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114934185823309543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114934185823309543' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114934185823309543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114934185823309543'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/06/revelation-239.html' title='Revelation #239'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114910731156422544</id><published>2006-05-31T21:01:00.000+01:00</published><updated>2006-05-31T21:28:32.316+01:00</updated><title type='text'>Damn you, Ecuador!!</title><content type='html'>&lt;span style="font-family: verdana;"&gt;One of the things I love, being a bit of a football stats freak, is how the world is full of completely different leagues. Growing up surrounded by coverage of the English and Scottish leagues, it would be very easy for me to have fallen into the trap of believing everyone out there uses the same system. Play each other twice, count up the points, go on holiday for a bit in the rain. Lovely.&lt;br /&gt;&lt;br /&gt;No, it's all different, and I've gone into it before. I've looked around the world and &lt;span style="font-style: italic;"&gt;thought &lt;/span&gt;I'd pretty much got it sussed. Leagues with playoff systems to determine the winner, leagues split into lots of little groups, leagues that split in two (the SPL obviously being a recent example). These weird and wonderfully different competitions became a driving force in making this game. I could easily have taken the easy way out and copied England for everything, changing the number of teams and not much else. Certainly I'd have had far fewer headaches. Maybe even something playable &lt;span style="font-style: italic;"&gt;right now&lt;/span&gt;. But no. That's not fair. After all, what's the point in having the Filipino Open Championship if it's just the same as playing at home?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So I grabbed all these leagues, totalled them all up and devised a competition and league engine that could simulate them all, and all the other tournaments in existence. Then I found out about Ecuador.&lt;br /&gt;&lt;br /&gt;On the surface, the Ecuadoran league looks like any other league in South America. It's played in two distinct halves, the &lt;span style="font-style: italic;"&gt;Apertura&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Clausura&lt;/span&gt;, thus creating two champions each year. Unlike a lot of leagues, it actually relegates and promotes clubs at the end of the Apertura, effectively making each "season" about four or five months in length and getting two in each calendar year, and the teams in the &lt;span style="font-style: italic;"&gt;Serie A&lt;/span&gt; Apertura differ from the ones in the Clausura as a result. A bit of a niggle.&lt;br /&gt;&lt;br /&gt;This only happens at the top level of the system. In Serie B, teams are only relegated at the end of the Clausura, based on the total points gained over the Apertura and Clausura sections. The former Serie A side playing in the Clausura gets all his Clausura points counting double, as if it wasn't bad enough to try and get the game to collect points from another competition entirely.&lt;br /&gt;&lt;br /&gt;As a result, it is entirely possible for an Ecuadoran side to start in Serie A in January, get relegated by May, and by the following January be playing in the &lt;span style="font-style: italic;"&gt;Segunda Categoría&lt;/span&gt;, Ecuador's third level, proving that if they don't follow the simplistic English league system, at least the world's leagues like to give their competitions completely misleading names.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Just when I thought I was finished tweaking those damn league systems.&lt;/span&gt;&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114910731156422544?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114910731156422544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114910731156422544' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114910731156422544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114910731156422544'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/05/damn-you-ecuador.html' title='Damn you, Ecuador!!'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114886730413545015</id><published>2006-05-29T02:39:00.000+01:00</published><updated>2006-05-29T02:48:24.146+01:00</updated><title type='text'>That'll be quick</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Excellent! I've nearly completed the GUI management code. It takes a bunch of xml files from a "skin" folder and uses that data to construct every screen in the game. As a result, it's exceedingly easy to develop the interface and it should hopefully provide the capability for any community (man, I should be so lucky) to create new looks for the game.&lt;br /&gt;&lt;br /&gt;On the downside, it's currently very easy to "break" it. A misplaced tag here or an attribute there in an xml file and an entire screen could disappear. While this isn't a problem for me when developing it, I can't have that in any final release and expect new skins to appear. It's got to be pretty fool proof. Perhaps the most important thing is keeping a well defined structure to the screens - always having certain elements in certain places is a start.&lt;br /&gt;&lt;br /&gt;A title bar, for example, appears in virtually every screen so I have that down as a single panel (a screen being made up of panels). If I move that panel, it'll move the title bar on every single screen, but obviously moving it can result in parts of other screens being obscured unless they know to take advantage of that.&lt;br /&gt;&lt;br /&gt;I'll see about adding some extra types of gadget so I can define areas of the screen. Though I don't want to spend too much time on this right now, as it's not an essential. It's easy to come back to it as well, as it's pretty much independent of the game itself. Provided the GUI manager tells the game what buttons are being clicked, and the game can tell the GUI what to do, what happens under the hood doesn't matter.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114886730413545015?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114886730413545015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114886730413545015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114886730413545015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114886730413545015'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/05/thatll-be-quick.html' title='That&apos;ll be quick'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114841869475080982</id><published>2006-05-23T22:04:00.000+01:00</published><updated>2006-05-23T22:11:34.766+01:00</updated><title type='text'>A time saver. Huzzaj!</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Yes, Huzzaj. I spell it how I want!&lt;br /&gt;&lt;br /&gt;After undertaking a little research, I took the plunge with a pre-built GUI engine in the shape of &lt;a href="http://www.blitz3dfr.com/phpfrench/content.php?content.46"&gt;IGlass&lt;/a&gt;.&lt;/span&gt; &lt;span style="font-family: verdana;"&gt;It's largely excellent, very customisable. I did have to make a few tweaks to add features that I'd prefer in my game, but none of this was a problem. Huge thumbs up and thanks to Mr Agnisola for this.&lt;br /&gt;&lt;br /&gt;As a result, progress has been swifter and there are far less headaches. Had I not purchased it (just last Friday) I'd no doubt still be working on silly stuff. The reason I've chosen to code in BlitzMax over something like C++ is because it gives you a hefty library of code to do routine things - drawing images, memory management etc. It therefore makes a lot of sense to carry the same reasoning over to other aspects.&lt;br /&gt;&lt;br /&gt;So as a result, TCFG should have a nice snazzy front end. Now I've got to create that GUI management system I once mentioned, thus making it far easier to create new screens and thus be able to throw a game together a heck of a lot quicker. Seeing tangible results will make it all worthwhile.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114841869475080982?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114841869475080982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114841869475080982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114841869475080982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114841869475080982'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/05/time-saver-huzzaj.html' title='A time saver. Huzzaj!'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114812611823380631</id><published>2006-05-20T12:39:00.000+01:00</published><updated>2006-05-20T12:55:18.246+01:00</updated><title type='text'>Emotions in Football</title><content type='html'>&lt;span style="font-family: verdana;"&gt;One of the good things about writing a football game is that it's a hell of a lot easier to justify purchasing related games, books etc. to your other half. And more importantly, to yourself. All under the guise of "research".&lt;br /&gt;&lt;br /&gt;The most recent such purchase was FIFA World Cup 2006. I started my qualifying campaign as the mighty St. Kitt's and Nevis, and found myself doing surprisingly well. In my penultimate game, two points short of guaranteed qualification, I barged my way into the box and stuck the ball past a flailing keeper only to hear Clive Tyldesley positively ejaculate with glee. "That could be the goal!" he screamed. The crowd erupted.&lt;br /&gt;&lt;br /&gt;I was astounded. For years, I'd been used to football games that treat each matchday as being played in a vacuum, with the outside world being of little interest until the final whistle. "They've qualified!", the commentator envariably yells in shock despite the team leading 5-0 for the last half hour.&lt;br /&gt;&lt;br /&gt;In the end, FIFA let me down a little as the initial raptures subsided and the crowd settled down again. And the goalscorer in question didn't do much different to when he scored in any other game, including a meaningless victory against St. Vincent and the Grenadines. Which instantly sucked me out again.&lt;br /&gt;&lt;br /&gt;The way I see it, emotions play a massive part in football's atmosphere. Every goal is unique, not just in the buildup but also in the reaction and aftermath. When I took that lead against Trinidad &amp;amp; Tobago, the crowd should have been singing, dancing and yelling for the rest of the match. My goalscorer should have been uncontrollably excited. Everyone including the keeper should have mobbed him immediately, not just the three who offered a small token of congratulations. And at the final whistle, it should have all kicked off again.&lt;br /&gt;&lt;br /&gt;A little recognition of the wider picture and the appropriate response will go some way towards creating a superb atmosphere. The more a game can do that, the more likely I'll shed the same tear of joy as I did when Jason McAteer smashed the ball past the Dutch in 2001 to send Ireland into the finals. FIFA World Cup came close... but it's just not enough.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114812611823380631?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114812611823380631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114812611823380631' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114812611823380631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114812611823380631'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/05/emotions-in-football.html' title='Emotions in Football'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114781905413818781</id><published>2006-05-16T23:29:00.000+01:00</published><updated>2006-05-16T23:37:34.163+01:00</updated><title type='text'>Token Update</title><content type='html'>&lt;span style="font-family: verdana;"&gt;It's been over a week, so it makes sense. What have I been up to?&lt;br /&gt;&lt;br /&gt;Well, most of the time was spent working on a little tool that would restructure the database to my liking. So if I'm halfway through entering team data and suddenly find I'm missing a key field, I won't need to start writing code to load a database of one type and save it as another. Instead, this tool loads an entire database, I do my stuff, and it rejigs everything with no loss of data (unless I want to remove data, of course).&lt;br /&gt;&lt;br /&gt;The other key aspect of this is that I can start editing with a very generous limit on the size of the database, and then trim it down when everything's finished to make the best use of memory.&lt;br /&gt;&lt;br /&gt;That done, I've then been coding in database code for ranking competitions (such as UEFA's club coefficients) and Belts (such as the Unofficial World Championship, which suddenly reminds me that I need to throw in a field for "unofficial" to stop teams celebrating this clearly meaningless award).&lt;br /&gt;&lt;br /&gt;I've a few more aspects to clean up on the data editor before I wander off and start coding GUIs, which are infinite fun. I'm looking to create a good, clean system that can take HTML-style files as input, allowing me to knock up a screen or a panel with ease. A system that supports links to move between pages is ideal for a game that will be absolutely flooded with data.&lt;br /&gt;&lt;br /&gt;Another necessary feature of the GUI system is the ability to multitask, so that I can get the game to carry on with some hardcore processing whilst you browse the game world and do your thing. Outside of a match, the actual gameplay barely uses the processor at all. It's the under-the-hood workings that take time, so the more efficient the use of the CPU, the better.&lt;br /&gt;&lt;br /&gt;And I haven't abandoned the idea of covering everything about the game. I just don't think it's too sensible to go nattering about things that haven't been done yet. Last thing I need is to turn into Peter Molyneux.&lt;br /&gt;&lt;br /&gt;I look shit in turtlenecks.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114781905413818781?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114781905413818781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114781905413818781' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114781905413818781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114781905413818781'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/05/token-update.html' title='Token Update'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114710518521452069</id><published>2006-05-08T17:18:00.000+01:00</published><updated>2006-10-03T01:59:53.996+01:00</updated><title type='text'>An Overview</title><content type='html'>&lt;span style="font-family:verdana;"&gt;When it comes to football games, there really are only two types. You've got "arcade" titles like PES and FIFA, which let you have control over the team and play the matches, and there are management titles like Football Manager and FIFA Manager, sitting you in charge of the team, making signings and generally trying to earn your sheepskin coat.&lt;br /&gt;&lt;br /&gt;Come to think of it, why don't managers wear sheepskin any more? Losing a part of history, we are.&lt;br /&gt;&lt;br /&gt;Anyway, either system tends to be somewhat flawed. Arcade games lose their way in single player by not offering sufficient challenge or options. The best way to play PES is undoubtedly competitively, and as good as the Master League is can anyone argue that a convoluted points system is better than the tried and tested transfer market of classic management games? Speaking of which, a management game can often descend into a frustrating affair when the team start losing and you can't fix the problem. The games are still enormous fun, but they're not "perfect".&lt;br /&gt;&lt;br /&gt;What would be perfect, really, is a merger of the two. And I know I'm not the first person to think of that, or even in the top million. Videogame Hell is full of failed attempts - Onside Soccer, Kick Off World and more. The closest any game has ever come has been Sensible World of Soccer, so it seems only fair that I dissect it, suck its juices and see what sparkles.&lt;br /&gt;&lt;br /&gt;SWOS is an arcade game. Its focus is entirely on its superb matchday experience - the actual management options are, in truth, dire. No clubs make transfers other than you, signing players is about money and nothing else, and there's precious little management. It's game after game, and you can improve your squad. That's it. Which is actually why Sensible World of Soccer is so good. Jon Hare and company knew where the faults lay, and they refused to highlight them.&lt;br /&gt;&lt;br /&gt;Combination games have failed because it is extremely difficult to marry the two components together whilst keeping the scales balanced. You don't want to result in a situation where a gamer can be successful by being good at the match portion - otherwise the entire management section is worthless. Similarly, you can't place too much emphasis on management and tactical selection without making the match day a frustrating chore. You've got to be in control... while at the same time being up against the odds as a lower league side in the FA Cup. How do you do that?&lt;br /&gt;&lt;br /&gt;That's the problem faced with The Complete Football Game, which I assure you is still a working title and not the name of the real thing. A game that not only presents you with some arcade antics, but lets you get down and dirty with plenty of management aspects, including in-depth tactical options, man management, media handling and more besides. Having your players working together on the training field, you'll want to take that into the match and put your plan into action. You can't just show up on the day in real life, and you can't do it in the game.&lt;br /&gt;&lt;br /&gt;Like SWOS, there will be an entire world to be a part of, with leagues as famous as La Liga, or as obscure as the Isle of Man Football Combination. You want to be a part of a living, breathing football world full of ecstasy, pain and chaos. You want to embark on a career as a manager, a player or a chairman, each with your own personal goals. The football world is your personal playground.&lt;br /&gt;&lt;br /&gt;Each fortnight I'll expand on these various elements, how they should shape up, why they are as they are, and their impact on the overall game.&lt;br /&gt;&lt;br /&gt;Or alternatively, as it has panned out, I won't.&lt;br /&gt;&lt;br /&gt;But I can pee all by myself, so it kinda works out well in the end.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114710518521452069?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114710518521452069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114710518521452069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114710518521452069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114710518521452069'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/05/overview.html' title='An Overview'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114678020240748724</id><published>2006-05-04T22:57:00.000+01:00</published><updated>2006-05-04T23:04:10.553+01:00</updated><title type='text'>What is it, anyway?</title><content type='html'>&lt;span style="font-family:verdana;"&gt;What a great question.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I've just spent about five or ten minutes reading through the blog history, looking for some inspiration to try and spur me on to do a little more work tonight instead of finally flopping out on the couch. Now, I'm fully aware that procrastinating for five minutes in order to do more work is a pretty stupid thing, and that's why I'm not going to do any more work tonight.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;However, I was quite startled. I started this blog in January. It dipped a bit in February and March so I've got to get back to regular updates. Especially now that I seem to be getting more visitors... perhaps as many as five more people are reading my blog. Reading it... confused. Nowhere in the blog does it actually say what I'm doing. Or why I'm doing it. Nowhere. Ok, there's a little bit on the left that tells you the name of the game, and it's pretty easy to work out that it's not an artistic piece following the journey of one man through the underworld. But that's it. No other information.&lt;br /&gt;&lt;br /&gt;That's pretty fucking stupid.&lt;br /&gt;&lt;br /&gt;So, starting next week I'm going to start writing up the whole thing. The theory, the philosophy, the driving force. Everything.&lt;br /&gt;&lt;br /&gt;It's about time, too.&lt;br /&gt;&lt;br /&gt;Have a teaser.... TCFG is a "football" game. Ooooh.&lt;br /&gt;&lt;br /&gt;Now - cheesecake.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114678020240748724?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114678020240748724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114678020240748724' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114678020240748724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114678020240748724'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/05/what-is-it-anyway.html' title='What is it, anyway?'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114640247090100760</id><published>2006-04-30T14:07:00.000+01:00</published><updated>2006-04-30T14:07:50.913+01:00</updated><title type='text'>League leaguey leaguey league. League.</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Some things are supposed to be easy. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Things like leagues. Leagues are easy, right? Teams go up, teams go down, some simple rules and bongio - you've done it. If only. Leagues in TCFG are fairly complex beasties.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;As in real life, an entire league system is split into levels, and each level is further split into a number of divisions. At the top, there's one division. At the bottom, there could be as many as 30. It all depends on the nation. These levels all reorganise themselves each season to maintain some sort of regional distribution of teams, and all is good.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;The hard bits come in when you start to think about forced relegations or promoted teams not making the criteria. Then you end up with some levels having too many teams, and others being relatively empty, and then you have to start messing about with relegations and promotions in order to get them in order again. And that's not easy, especially as you can't forcibly relegate a team just to make up the numbers. That's a bit unfair. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;And just when you think you've got all that done, a giant monster comes along and stamps on it all, screaming "What about when leagues split into two very separate halves?"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Some league systems are really made up of two or more leagues, that converge as you get higher. If you're in one of these smaller leagues, you can't be moved to the other just to make up the numbers. Oh no, you're stuck there. You know where you are, and you know where promotions and relegations go. It's not too bad until the same problems as before jump in through the window. What if it's not even? It just gets messy.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Meh. It'll work out, I tell myself whilst crying into a pot of soup. And if it doesn't, at least it might generate some spectacular fractal displays on the screen.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Smashed screens are fractal, right? &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114640247090100760?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114640247090100760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114640247090100760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114640247090100760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114640247090100760'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/04/league-leaguey-leaguey-league-league.html' title='League leaguey leaguey league. League.'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114613472839836999</id><published>2006-04-27T11:44:00.000+01:00</published><updated>2006-04-27T11:45:28.420+01:00</updated><title type='text'>Fucked Over</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I'm sure in many industries, you'd expect competitors would do whatever they could to get one over on a direct rival. If Cadbury are making a killing marketing Fruit &amp;amp; Nut at mental hospitals, Mars might well start tipping off news reporters about the lack of consideration being shown, knocking Cadbury down a peg whilst they introduce their new Spacer bar.&lt;br /&gt;&lt;br /&gt;The games industry is surely no different. However, I am quite utterly baffled that a company who deal mainly in music games have decided they need to get one over me, hindering my progress in a subtle yet horrid way.&lt;br /&gt;&lt;br /&gt;I'm talking about those bastards at Harmonix, who have cruelly decided to release Guitar Hero in the last few weeks, sapping any time I actually have had to work. Since getting the game I've done nothing but badly play my way through a selection of riffs and feeling like a true golden god.&lt;br /&gt;&lt;br /&gt;Curse you Harmonix, and your evil, Satanic ways. Clearly a collusion with the Dark Lord.&lt;br /&gt;&lt;br /&gt;Of WRAWK. The more W the better.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114613472839836999?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114613472839836999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114613472839836999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114613472839836999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114613472839836999'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/04/fucked-over.html' title='Fucked Over'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114554339369567462</id><published>2006-04-20T15:06:00.000+01:00</published><updated>2006-04-20T15:36:09.390+01:00</updated><title type='text'>Kudos on your Gibbage</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;There are other blogs out there. Blogs with news about kittens dying horrible deaths, blogs with news about kittens being horribly born; I have witnessed this, it's not a pretty sight and it only means that the books I read as a kid have lied to me. Even blogs with news about kittens being raised from the dead for sacrifice. They're out there.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;There are also other blogs by games developers looking to chronicle their efforts for historical purposes. Armies of bearded net archaeologists drinking lots of tea might want to know why The Mysterious Sofa Man never got a worldwide release, and how to beat level four where the fat man attempts to sit on you.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;One such blog is Dan Marshall's effort, &lt;a href="http://gibbage.blogspot.com"&gt;Gibbage.&lt;/a&gt; I implore you to read it for a multitude of reasons. It's funny, for a start, and it's actually well written. Presumably because Dan knows how to do that sort of thing without tripping over his own convoluted metaphors. Another reason is the &lt;a href="http://www.gibbage.co.uk"&gt;game itself&lt;/a&gt;, er, Gibbage.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Gibbage. I was a bit frightened when I first heard about the game. I don't know what Gibbage means so I looked it up in a dictionary. Imagine the horror when I found out that a "gib" is a castrated male cat. I had had enough of blogs about kittens that are sexually active, the last thing I needed was one where Tiddles is without his winky.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Thankfully, it also appears to mean something else, along the lines of horrible desmemberment of spikey haired, cartoon people, which was much more pleasing to my ear after having to put up with a Pokemon obsessed little sister.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Gibbage is, at its heart, a two player single screen action game, the aim of which is almost certain death. You bound around the level, chase your opponent and attempt to produce a kaleidoscopic image of limbs, blood, eyballs and tattered clothing. Also, there's something about collecting power cubes and returning them to base in order to win, like a platform capture-the-flag, but I was too busy dying horribly because I thought that was fun.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;If I was playing with a friend, I'd possibly have tried to kill him instead. Six quid to kill as many friends as you like, even top professionals cannot match that price. If you like Worms, you'd like Gibbage.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Another such blog is &lt;a href="http://cliffski.blogspot.com"&gt;Cliffski's.&lt;/a&gt; Cliff's actually got loads of games under his belt, like Democracy, in which you become the elected head of state of a real-world nation and attempt to please everyone at the same time (and fail), and Starship Tycoon 2 where you run a fleet of interstellar transport spaceships. Which is clearly better than a theme park, yet people keep buying theme park games. I believe the two games should really be merged into Capitalist Space Pig-Dog-Monkey 3 With Added Elections, but perhaps its good that Cliff doesn't listen to me. Also, there should be talking quaggas.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;His latest game, which isn't finished yet but actually exists (unlike... um... moving on) is &lt;a href="http://www.kudosgame.com"&gt;Kudos,&lt;/a&gt; which he cleverly attempts to describe as "a life sim that's not like The Sims but more like Animal Crossing which I have not played".&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I'm sold, at any rate, because Animal Crossing is excellent and The Sims was just boring. In Kudos, you live life - go out drinking with your buddies, make more friends, get a job, realise you hate the people you work with, get a girlfriend, find out that the girlfriend hates all your friends but loves your work colleagues... and so on until an anthropomorphic duck tells you he's a hammer whilst looking whistfully at a phallic constellation in the sky.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Ideally. That's easily the best bit about Animal Crossing.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;What I like about both Kudos and Gibbage is that they are indicative of the independent developer's range, variety and imagination, with which the major publishing houses can rarely compete. It reminds me of the early 8-bit days when the hobbyists were at the forefront, when every new game that wasn't a direct clone of an arcade hit was delivering something new.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;That's how I see the indie scene, that's where the passion can be. Guys like Dan Marshall and Cliff Harris making games they believe in, and the quality can often shine through into the finished product. It doesn't stop with those two. There's Si Read, creator of &lt;a href="http://www.newstarsoccer.com"&gt;New Star Soccer 3&lt;/a&gt;, pretty much the only game out there where you get to live the life of a footballer since the days of Gremlin's Footballer of the Year. There's &lt;a href="http://www.introversion.co.uk"&gt;Introversion&lt;/a&gt; making games like Darwinia, or the forthcoming Defcon which allows you to attempt a bit of Global Thermonuclear War without the help of WOPR, and has the genius touch of "office mode" so you can finally nuke the guy from accounts and the boss will be none the wiser. Games built by guys and girls &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;who've thought, "You know what I'd love to play?" and then gone and fucking built it.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;You can only be urged to support them if you like their games. Help them make more.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;And help me as well, my blog needs traffic.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114554339369567462?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114554339369567462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114554339369567462' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114554339369567462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114554339369567462'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/04/kudos-on-your-gibbage.html' title='Kudos on your Gibbage'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114540378642408987</id><published>2006-04-19T00:18:00.000+01:00</published><updated>2006-04-19T00:43:06.476+01:00</updated><title type='text'>Tons of Lovely Data</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/5444/2074/1600/editorscreen.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/5444/2074/400/editorscreen.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Yup, that's a screenshot. Unfortunately for you, it's just of the editor. Remember what I said earlier about funbots (clearly in a moment of drunken madness, may I add)? The editor is currently the main focus of my work, as it's through the editor's creation that the database structure is defined. But look at the snazzy kit colours! Ooooh!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;If &lt;span style="font-style: italic;"&gt;The Complete Football Game&lt;/span&gt; is to successfully simulate the entire football world, it would need a lot of data. Teams, players, competitions, nations, cities, stadia, league systems, regions, ex players, defunct nations and clubs, currencies, spoken languages, injuries, rivalries and more need to be stored to keep the game ticking along, and with over 250 nations in the game you'd be forgiven for thinking it's a struggle to get them all in.&lt;br /&gt;&lt;br /&gt;Yet TCFG's database currently weighs in at a relatively paltry 63MB, uncompressed. The structure is not yet complete - leagues still need to be catered for - and when the game's running it needs a lot of space to store all the fixtures and results that don't get stored in the database, but ultimately TCFG is surprisingly space friendly.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;The above screenshot shows the main club edit screen. Now, I dunno if Newry City are that rich in real life, and the layout isn't fantastic, but the editor's more about function than style right now. Each club has two kits, three teams (each with their own stadium if necessary), a maximum of 80 players (which ought to be sufficient), and various other titbits of information. Enough for a club.&lt;br /&gt;&lt;br /&gt;Players are even more detailed. Each player in TCFG has his date of birth, nationalities, international record, spoken languages, a rating for each of the 16 positions in the game, his career history, which foot he kicks with, how good his weaker foot is at various tasks - enabling a right footed player to have poor accuracy with his left but still be able to give it a hefty whack - forty-eight attributes and information relating to his overall ability. And on top of that, there's his height, skin colour, hair and beard styles and colour, and even an attribute to let the game know that he changes his appearance more often than Djibril Cisse.&lt;br /&gt;&lt;br /&gt;All that - and the database is capable of storing 375,000 players.&lt;br /&gt;&lt;br /&gt;Now, that ought to give some insight into how complex the game is, and why it's bloody taking so long.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114540378642408987?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114540378642408987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114540378642408987' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114540378642408987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114540378642408987'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/04/tons-of-lovely-data.html' title='Tons of Lovely Data'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114514905862545087</id><published>2006-04-16T01:27:00.000+01:00</published><updated>2006-04-16T01:57:38.636+01:00</updated><title type='text'>How many microbots?</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I got up early this morning and rushed off to the post office. The reason? &lt;span style="font-style: italic;"&gt;FM Handheld&lt;/span&gt;, Sports Interactive's new version of Football Manager for the PSP. Good job too, as I've done nothing all day but play this beast. It's rather good. And it got me thinking.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It got me thinking about structure, which highlights what an interesting life I lead. FM is pretty much a database with some funky bits attached. There's no getting away with it. At its core lies information, and every time you hit that continue button some little microbots get to work whipping that information inside the game to make things happen. Little microbots with different jobs like "transfer AI", "match", and "cheating AI", or so we all think. Not to mention the miniscule robots that can see into the real world to make sure you're superstitiously holding your nose with your big toe whilst singing the first three verses of Sweet Child O' Mine, and woe betide you fall below an octave because you just &lt;span style="font-style: italic;"&gt;know&lt;/span&gt; that the opposition will score. Yes, those microbots are there too.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So I was thinking about all this, and not smoking anything at all, and wondering what bots are in my game. The Complete Football Game's (still that wondrous working title) main feature is the scope of its world - tons of leagues of all shapes and sizes and cliches. Other than the match engine itself, it is the most important part of the game. Teams get results, results power competitions, little compobots run around moving teams around accordingly. I never imagined it would be so fucking hard. Really, if I had known this at the start I'd have given the game six generic leagues and left it at that. But now I'm close, real close.&lt;br /&gt;&lt;br /&gt;Close to the funbots. The competition engine, as I've named it in a bout of ingenuity, isn't too far from completion, and when it's done the game will be able to take results and shape them into something not too dissimilar to reality. At that point, I'll be able to look around the gameworld at all the lovely stuff going on. I can almost smell it, it's that close. And it's just information in the end, the problem was getting the &lt;span style="font-style: italic;"&gt;right&lt;/span&gt; information.&lt;br /&gt;&lt;br /&gt;Then the true fun comes. Well, I say &lt;span style="font-style: italic;"&gt;fun&lt;/span&gt;, when I really mean &lt;span style="font-style: italic;"&gt;stuff that produces instantly visible results&lt;/span&gt;. The whole competition structure doesn't produce anything until it's finished, yet it's a year long project so you can see how motivation can drop. Working on something you can't even tell will work for twelve months... man. Soon I'll get those results. It'll work, I'm sure about that. Took long enough. Then the funbots. The transfers, the media, the weather system, the tiny little animated bits on the menu. If I have any of that.&lt;br /&gt;&lt;br /&gt;Who knows, I may just die if this damn thing doesn't work in the first place.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114514905862545087?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114514905862545087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114514905862545087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114514905862545087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114514905862545087'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/04/how-many-microbots.html' title='How many microbots?'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114505798707409205</id><published>2006-04-15T00:28:00.000+01:00</published><updated>2006-04-15T00:39:47.086+01:00</updated><title type='text'>Why I'm a bit of an idiot</title><content type='html'>&lt;span style="font-family: verdana;"&gt;One thing about trying to develop a very large game is that it's very, very easy to get sidetracked. I could be working away trying to get the interface working when suddenly I find myself thinking about different ways a guy might kick a ball.&lt;br /&gt;&lt;br /&gt;This, as you might expect, leads to problems. Leaving one thing to go work on another means nothing gets finished. I had a lovely little target for this Sunday that I was well on course to meet until my little bit of bridge finally met a gaping hole. A gaping hole that I hadn't a clue how to fill.&lt;br /&gt;&lt;br /&gt;Normally my musings are carried out anywhere I can be alone. In my bedroom, in the hallway, or in any one of the fifteen trips to the toilet I might take on a regular "working" day to help pass the time a bit quicker. I pace about the room and talk to myself. That's why I'm alone when I do it - it looks fucking stupid but it gets things done. Yet unless I write down everything I say or carry a dictaphone, things get left by the wayside. There's no way of finding out how the hole was supposed to be filled.&lt;br /&gt;&lt;br /&gt;About a month ago I decided to take a different approach. I opened up WordPad and started typing, in a style akin to making a presentation but without any unnecessary fluff - explanatory and detailed where necessary. And lots of &lt;span style="font-weight: bold;"&gt;stupid bold writing&lt;/span&gt;, which always comes in useful to make things readable. As it turns out, this was great. No longer did I have to look like Sam Beckett from Quantum Leap when trying to work out the best way to transfer teams between competitions. Nope, I just rattle away. And I can do it at my work desk too. Excellent!&lt;br /&gt;&lt;br /&gt;Better still, it meant I could organise my targets a heck of a lot better. Everything I wrote down over those few days has been finished, and works better than any of the other stuff I have. No headaches, no trying to remember what I told myself five days ago - just sitting down and getting on with it. Certainly, I'll be doing this more often as part of my design. I had to learn the hard way, eh?&lt;br /&gt;&lt;br /&gt;So that left me today, well short of meeting that target for Sunday (especially given as I can't actually do any work Sunday, meaning I've just got tomorrow to do it) because I've got to fill holes from months ago. Never again. Sweet fuck, never again.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114505798707409205?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114505798707409205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114505798707409205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114505798707409205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114505798707409205'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/04/why-im-bit-of-idiot.html' title='Why I&apos;m a bit of an idiot'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114454223182962013</id><published>2006-04-09T01:17:00.000+01:00</published><updated>2006-04-09T01:24:13.320+01:00</updated><title type='text'></title><content type='html'>&lt;span style="font-family:verdana;"&gt;Back again. Time again to do some bloody work and get things back on track. I've done nothing whilst away, mainly due to a lack of time, so it'll take a short while to get back up to speed. Luckily, I've got slightly better at planning my work, so I know exactly where I am and what I'm doing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One thing I do from time to time is think about other games I'd like to make. I've had this one idea for quite some time - essentially a puzzle platformer in the style of Flashback or Abe's Oddysee, that I'd really like to develop further. I was lying in bed then on Thursday night when I had one of those flashes of creativity, a whirling rush of things I'd like to include in the game, ideas for a story, a theme and so forth. Pity it was 3am and there was no way I was going to fire up the laptop to make notes, and wake people up fumbling around.&lt;br /&gt;&lt;br /&gt;So I turned to Animal Crossing on the DS and sent myself a letter detailing the info. Very useful.&lt;br /&gt;&lt;br /&gt;But first, TCFG. Then I can worry about puzzly-platformer game. And any of the other games I have in mind.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114454223182962013?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114454223182962013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114454223182962013' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114454223182962013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114454223182962013'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/04/back-again.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114366728266849139</id><published>2006-03-29T22:14:00.000+01:00</published><updated>2006-03-29T22:21:22.680+01:00</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;If you look through the blog history, you'll see I once posted a target for the end of April. That target is unlikely. Hideously unlikely.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In fact, things are going scarily slowly and that needs resolved. Unfortunately, I've to go away again for a week and a half which only serves to disrupt things further, but hopefully I'll get to squeeze in a little work during that time.&lt;br /&gt;&lt;br /&gt;So, the game's current situation isn't far on. It's hard enough anyway to think of updates for monotonous tasks. A little post saying "Well, now the editor has different screens" is just... shit. A load of crap. Pisses me off, that's what it does. But it's essential to get this working before I get to work on the fun stuff. That's what I keep telling myself. Will it work? It'd be nice.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114366728266849139?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114366728266849139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114366728266849139' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114366728266849139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114366728266849139'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/03/if-you-look-through-blog-history-youll.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114312707242112044</id><published>2006-03-23T15:13:00.000Z</published><updated>2006-03-23T15:17:52.513Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;I really don't update often enough.&lt;br /&gt;&lt;br /&gt;Well, competition qualifications is almost sorted in theory. None of it's coded yet but the coding is the easy part. The design is almost finalised and it's very flexible, able to handle varying numbers of teams and making sure that qualifications don't override each other (stuff like the double winners entering the UEFA Cup instead of the Champions League would be a bit shit).&lt;br /&gt;&lt;br /&gt;I've only got to design an exclusion system (so that teams can be excluded from playing in a competition, for example Germany from the World Cup Qualifying just finished) and then start tweaking things and entering them into the code.&lt;br /&gt;&lt;br /&gt;Having everything data driven like this is a real godsend. It's taken me a long time but there's no way I'd be able to support 250 nations accurately without it. Once this database has finally been written, the long journey of data entry (and inevitable bug fixing) can begin.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114312707242112044?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114312707242112044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114312707242112044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114312707242112044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114312707242112044'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/03/i-really-dont-update-often-enough.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114233105198916556</id><published>2006-03-14T10:07:00.000Z</published><updated>2006-03-14T10:10:52.000Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;Holidays are clearly a disguised evil. Not only do you miss a week of working because you're busy... um, well, in my case standing in 50cm of snow, but you then miss days either side through preparation and then general lethargy. Not good.&lt;br /&gt;&lt;br /&gt;I've made precisely null progress on the game since I've got back. Instead I've played some Killzone (it's ok), got my new computer (it's great) and spent some time at home seeing the family.&lt;br /&gt;&lt;br /&gt;So I've got to kick myself in the arse tonight and get back into it. And then I can update some more.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114233105198916556?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114233105198916556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114233105198916556' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114233105198916556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114233105198916556'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/03/holidays-are-clearly-disguised-evil.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114184445857695462</id><published>2006-03-08T18:59:00.000Z</published><updated>2006-03-08T19:00:58.590Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;Just a little note. I wandered off to Munich for a week which was excellent as always. Upon my return I find my new PC has been delivered to my folks' house so I'll have that set up this weekend, meaning a lot more time to work (no nagging girlfriend demanding internet access).&lt;br /&gt;&lt;br /&gt;All good.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114184445857695462?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114184445857695462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114184445857695462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114184445857695462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114184445857695462'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/03/just-little-note.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114098042760660870</id><published>2006-02-26T18:41:00.000Z</published><updated>2006-02-26T19:00:27.616Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;Damn lack of updates. Where was I?&lt;br /&gt;&lt;br /&gt;Yes. Competitions, quite the annoyance. Structurally I don't see much of a problem, I can create a lot of different competitions and have the teams progress through them as they should. The main problem left before that moment where I can sleep happily is the system for having teams enter the competitions.&lt;br /&gt;&lt;br /&gt;I've worked out that a competition will use any number of five different methods. Four of them are straightforward and present no problems, and allow for clubs to enter competitions based on various criteria, membership of a body or league, and even explicitly stated. These get defined in the competition's read-only structure data. The problematic one is Qualification.&lt;br /&gt;&lt;br /&gt;Qualification presents two problems. The first is that it's not always straightforward and the World Cup is a perfect example of this. Because the hosts could come from anywhere in the world, the six qualification tournaments qualify differing numbers, otherwise you may be left with something like the North American tournament providing four qualifiers - and having a fifth playoff for another spot. That's a poor representation. Then of course if there are two hosts of the competition, things change further. Effectively, qualification must be dynamic and this presents a further problem.&lt;br /&gt;&lt;br /&gt;If qualification is dynamic, then so must competitions. Europe can provide 14 entrants to the World Cup. If they play in 8 groups (as they have just done in 2006 qualifying) then those 14 would be provided by qualifying the group winners, the best four runner up sides, and letting the remaining four playoff to produce the final two. That works. If the hosts are European (as Germany are) then you've got 13 spots, so the competition must change - 8 group winners, two runner up sides and have the other six play off for the remaining three.&lt;br /&gt;&lt;br /&gt;Ideally, I'll have the game do this automatically, thus saving memory. The other solution is to store different formats for different numbers of qualifiers, which can use up memory.&lt;br /&gt;&lt;br /&gt;Further problems appear when dealing with things such as continental qualification and whatnot, so that's the big headache at the moment. I have faith though.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114098042760660870?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114098042760660870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114098042760660870' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114098042760660870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114098042760660870'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/02/damn-lack-of-updates.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114004327765769494</id><published>2006-02-15T22:39:00.000Z</published><updated>2006-02-15T22:41:17.666Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;But then you go and find the root of the bugs, and you fix them, and you feel fecking ace.&lt;br /&gt;&lt;br /&gt;Woooo!&lt;br /&gt;&lt;br /&gt;Of course, as I post an ugly gremlin is probably messing with my work, but I can take that risk.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114004327765769494?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114004327765769494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114004327765769494' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114004327765769494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114004327765769494'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/02/but-then-you-go-and-find-root-of-bugs.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-114003969267971769</id><published>2006-02-15T21:39:00.000Z</published><updated>2006-02-15T21:41:32.716Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;Not much in the way of updates, mainly due to the behind-the-scenes nature of the work I'm doing. There's really not much to say when you spend half your Tuesday night working on squishing an annoying database bug, and then spend Wednesday doing likewise with a different bug that's surfaced just to annoy me.&lt;br /&gt;&lt;br /&gt;But something will crop up. Hopefully before Friday when the distraction comes in the form of Shadow of the Colossus. Can't wait for that game.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-114003969267971769?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/114003969267971769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=114003969267971769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114003969267971769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/114003969267971769'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/02/not-much-in-way-of-updates-mainly-due.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113942819949416305</id><published>2006-02-08T19:45:00.000Z</published><updated>2006-02-08T19:49:59.506Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;Tuesday night was a bit of a waste. As I said, there's a Quick Edit system for entering people quickly. However, underneath that there needs to be a good generation algorithm so that the created people are believable. This is crucial not only for the editor, but for the game as a whole - the same algorithm should be used for generating new youngsters over time.&lt;br /&gt;&lt;br /&gt;So I had to ditch what I had, as it was neither good enough nor re-usable. Still, I learn from the experience and I can crack on with the competitions, which take priority now.&lt;br /&gt;&lt;br /&gt;Aside from that, I'm having a bit of a bad time. A lot of things are getting me down in my general life, mainly work related. It's quite frightening, really. The game must continue!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113942819949416305?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113942819949416305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113942819949416305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113942819949416305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113942819949416305'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/02/tuesday-night-was-bit-of-waste.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113923223069928597</id><published>2006-02-06T13:13:00.000Z</published><updated>2006-02-06T13:23:50.860Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;I've been adding important features to the editor, in the form of Quick Edit modes for clubs and people.&lt;br /&gt;&lt;br /&gt;The game can provide for 12,500 clubs. Now, I'll be damned if I'll get accurate research on all of those but I'll get what I can. The Quick Club editing mode allows me to simply input the basic information and it extrapolates the rest. So saying a club with a World Class reputation is rich ought to give them about £100m to play with, while a rich Conference level club might have £10m, maybe less. Entering the Short Name of the club as Man Utd will then go and make the B team "Man Utd Reserves" and the C team "Man Utd Youth". The "Reserve" and "Youth" suffixes are nation-dependent, so Russian sides get the suffix "-2", as in "Spartak-2 Moscow". &lt;/span&gt;&lt;span style="font-family: verdana;"&gt;Well, more of a middix, if such a word exists.&lt;br /&gt;&lt;br /&gt;It's all designed to make inputting the basic data as painless as possible. I'm halfway through the same process for people, which is just perfect if you know the name and age of some obscure team's goalkeeper but nothing more than that.&lt;br /&gt;&lt;br /&gt;It works quite well and the results are just standard records that can be edited in the normal way, for fine tuning things.&lt;br /&gt;&lt;br /&gt;To be honest though, I can't wait til I've got these bits done and can crack on with competitions themselves. Competitions are entirely data driven which is both brilliant and terrible. It's brilliant because adding a competition is easy. It's terrible because it's an awful lot of work to get the data driven nature working properly and accomodating all the crazy styles. I may have gone over this before, though.&lt;br /&gt;&lt;br /&gt;Still, it'll be fun to work with and when it's done, the editor is practically finished. Which means I can move on to the game interface, whilst adding in data as I go along.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113923223069928597?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113923223069928597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113923223069928597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113923223069928597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113923223069928597'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/02/ive-been-adding-important-features-to.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113872544770478672</id><published>2006-01-31T16:33:00.000Z</published><updated>2006-01-31T16:37:27.706Z</updated><title type='text'>Infamy!</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Or regular... famy.&lt;br /&gt;&lt;br /&gt;I've been interviewed by the lovely chaps at &lt;a href="http://www.getmanaging.com/interview.cfm?action=view&amp;ID=32"&gt;GetManaging,&lt;/a&gt; which is rather nice. I've never done an interview before. Can't possibly hurt to get a little exposure for the game and blog, can it?&lt;br /&gt;&lt;br /&gt;Tonight, back to the grind, sorting out lovely image colour issues.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.getmanaging.com/interview.cfm?action=view&amp;amp;ID=32"&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113872544770478672?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113872544770478672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113872544770478672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113872544770478672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113872544770478672'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/01/infamy.html' title='Infamy!'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113856595418233505</id><published>2006-01-29T19:51:00.000Z</published><updated>2006-01-29T20:19:14.243Z</updated><title type='text'>A Basque Problem</title><content type='html'>&lt;span style="font-family:verdana;"&gt;I'm sure you've heard of the Basque Country, a region of both Spain and France where the people have their own nationalist pride in the area. Now, I've no intention of introducing politics into my games (unless I'm making a political game, of course) but sometimes its unavoidable. There are several clubs in the Spanish leagues - most famously Athletic Bilbao - that are located in the Basque Country. The pride they have has generally led them to shun Spanish non-Basques, or in extreme cases refuse to play any player other than a Basque national.&lt;br /&gt;&lt;br /&gt;Such rules are easy to incorporate into the game. I do so through the use of a list of "special" circumstances for clubs, which can be official statutes of the club. The aforementioned Athletic Bilbao will have nobody but Basque people on their playing staff, and likewise Deportivo Saprissa of Costa Rica sign only Costa Rican, both do so out of pride. Other clubs such as Sinchi FC or Albirex Niigata in the Singapore S-League play only Chinese or Japanese players respectively, a league ruling for these foreign clubs.&lt;br /&gt;&lt;br /&gt;The special circumstances may also be more general gameworld data - a club may have significant support from a nearby country and so players from that nation may be more open to representing the club - Celtic's relationship with Ireland is a fine example that is not set in stone in any way. Celtic do not have an official policy of signing a certain number of Irish players.&lt;br /&gt;&lt;br /&gt;All in all, it's a very data driven solution that means I can keep the code simple and add the features in the data editor. But it's this that can cause a problem. Going back to the Basque people, these people are also Spanish or French nationals. &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;Joseba Etxeberría is a Basque player for Athletic Bilbao, but he's also got many caps for Spain. Likewise, Bixente Lizerazu played for France.&lt;br /&gt;&lt;br /&gt;The problem is obvious - if Basque Country is in the game as one of the "nations" in the game (where "nation" indicates a non-political entity, but rather a footballing one), then how do you ensure that its people are elligible for France or Spain as well? "Second Nationality" is an available field for everybody in the game but it's not mandatory. There's no mechanism for forcing it.&lt;br /&gt;&lt;br /&gt;The Basque Country are not alone. TCFG intends to cover as much of the world as possible, not limiting itself to FIFA affiliated nations. There are active national teams for Catalonia, for the Isle of Man, Gibraltar, S&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;ápmi, Sark, Anglesey, Åland and Monaco. Even the Vatican City have a national football team. And crucially, players representing almost all of the above are also elligible to play for Spain, for Finland, Wales, France, and so forth. Players from the Isle of Man are elligible for any of the Home Nation teams. And conversely, nobody ever has Vatican City as their sole nationality, the team being made up of those who live or work within its walls.&lt;br /&gt;&lt;br /&gt;(In real life, a number of people do have Vatican citizenship and only that, but I presume this is because they have renounced their old one).&lt;br /&gt;&lt;br /&gt;It's an interesting conundrum. The solution is to ensure that each nation also has optional fields to indicate the available alternate nationalities, forced or otherwise. The Basque and Sami teams are particularly interesting because the lands involved span multiple countries - &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;S&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;ápmi, or Lapland if you prefer, is located in Northern Scandinavia and spans Norway, Sweden, Finland and Russia. Perhaps the best solution for this is to include in the National data the demographics - the rough percentages for each country. More so, it will be essential for the newly generated players in the game to actually come from the correct country - their place of birth needs almost always to be a city in Russia as well as &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;S&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;ápmi, for example.&lt;br /&gt;&lt;br /&gt;Of course, it would be considerably easier if I dropped these countries entirely, instead preferring to go with established nations where ambiguity does not exist. But these relatively obscure details are what I feel will make the game stand out.&lt;br /&gt;&lt;br /&gt;I want it to be more than just a game.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113856595418233505?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113856595418233505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113856595418233505' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113856595418233505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113856595418233505'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/01/basque-problem.html' title='A Basque Problem'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113828288776502810</id><published>2006-01-26T13:32:00.000Z</published><updated>2006-01-26T13:41:27.776Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;Almost a week since my last update? Blimey.&lt;br /&gt;&lt;br /&gt;Earlier in the week I read a very interesting essay by Paul Graham, which you can find &lt;a href="http://www.paulgraham.com/paulgraham/love.html"&gt;here&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;, entitled "How To Do What You Love". Right now, I'm not doing what I love. I'm working a rather soulless day job as a software engineer in order to pay the bills. I'm not the kind of person who can take orders very well - I need to be on my own, in control. I'm a creative type and want to make my living following creative pursuits, not mobile comms software. Imagine Michaelangelo's reaction if Pope Julius II had asked him to paint the roof of the Sistine Chapel using 200 tins of Dulux and a stipple effect roller and you'll get a good handle on how I feel about the whole job.&lt;br /&gt;&lt;br /&gt;Except right now I don't even get the roller. Michaelangelo has just been asked to move some boxes.&lt;br /&gt;&lt;br /&gt;Ho hum.&lt;br /&gt;&lt;br /&gt;Still, I have a two track path and plenty of time in the afternoons and weekends to continue the real work. It's a pity that the current task is the entirely uninteresting database software that powers the game, and that's pretty much why I haven't been updating as frequency as I had hoped. Even Michaelangelo needed to put in some new plaster before he got down to the painting.&lt;br /&gt;&lt;br /&gt;One thing I do get on with in my actual spare time is testing out other management titles, to scour for clever features or terrible mistakes. Yesterday I picked up a copy of FIFA Manager 06. Not a game I'd be entirely interested in playing, but the demo highlighted a few interesting titbits here and there so I'll be giving it a whirl.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113828288776502810?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113828288776502810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113828288776502810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113828288776502810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113828288776502810'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/01/almost-week-since-my-last-update.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113776597716705135</id><published>2006-01-20T13:56:00.000Z</published><updated>2006-01-20T14:06:17.183Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;"&gt;&lt;/span&gt;Why do I always solve minor problems when I'm not at my computer?&lt;br /&gt;&lt;br /&gt;A small mistake I had made earlier had been mounting up - that of a "null" value for fields that are supposed to point to something. For example, a player can have a second nationality, but not everyone does. So I use a field to point to this, and in the database this gets stored as a value between 0 and 254, to represent each of the nations in the game. That leaves 255 for "null"... except that's not very intuitive. 0 - that's what's intuitive. Or -1, but the database won't support negative numbers and I don't want to go through my code making allowances 0 being null, but 1 really pointing to record 0 and so forth.&lt;br /&gt;&lt;br /&gt;Sigh.&lt;br /&gt;&lt;br /&gt;And then it hits me and it's really simple. I use -1 as the "null" number, but add one to the value when storing it in the database, and subtract one when reading it. Easy to do.&lt;br /&gt;&lt;br /&gt;I was in bed when I thought of that. And I was warm and cosy and had little desire to get up and try to implement it at 11:30pm.&lt;br /&gt;&lt;br /&gt;Yes, this is eternally boring stuff and I do apologise. There was a more interesting dilemma though - resolution. Do I go for 800*600, or 1024*768? More space on screen also means a lot more overhead in terms of processing, but it would look cleaner and the detail useful.&lt;br /&gt;&lt;br /&gt;I might just go for 1024*768 as the default, as I do intend to continue the game's development for many years after release - 800*600 may be on the way out by then. I'll see what can be done about including an 800*600 mode too, but with a 2D game that's not quite so easy.&lt;br /&gt;&lt;br /&gt;Going to be knocking up some mockups though in the near future before I get stuck into that interface. That'll be fun.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113776597716705135?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113776597716705135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113776597716705135' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113776597716705135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113776597716705135'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/01/why-do-i-always-solve-minor-problems.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113753338281584540</id><published>2006-01-17T21:20:00.000Z</published><updated>2006-01-17T21:29:42.826Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;Prince of Persia: The Two Thrones is very good indeed. A shame it doesn't quite match up to the brilliant Sands of Time, but it's a fine game in its own right.&lt;br /&gt;&lt;br /&gt;Back to TCFG though. I managed to do a bit of wrangling in work to get some hours changed, allowing me to get home earlier in the day, two days a week. That'll prove useful... in theory. I've got to sort out something with all these distractions - internet, football on telly...&lt;br /&gt;&lt;br /&gt;I guess that's a product of boredom, essentially. I can't progress with the game proper until the database system is finalised, and the data editor completed. Most of the work is done (competitions are the only outstanding item) but I've to tidy up the editor sufficiently or it all falls apart. There's very little satisfaction here, but I guess it's a gradual progress.&lt;br /&gt;&lt;br /&gt;Earlier today I sorted out a few plans. I do have a preliminary target date for my first milestone, which is to have a playable but pretty featureless game running. That means that the game will happily run along as it should, fixtures will be created and played out, and I'll be able to actually partake in a little football myself, but without transfers, contracts, scouting, media, training or pretty much any of the stuff that's desirable for a good game.&lt;br /&gt;&lt;br /&gt;The point? It'll be the first instance of the game actually being playable. Actually being a game, rather than a collection of seemingly unrelated code and data. Football being played. I'll be ensuring the code thinks all the important stuff is there, so adding it later won't be a hassle. After the editor is finished, a lot of the code for this target has been done, so it's a new GUI (rather than a standard Windows one) and clean code that's the order of the day. Oh, and the small matter of some football.&lt;br /&gt;&lt;br /&gt;The date? &lt;span style="font-weight: bold;"&gt;April 30th&lt;/span&gt;. That's for me, not you. If I make it, all the better. But for now, the boring editor stuff remains.&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113753338281584540?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113753338281584540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113753338281584540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113753338281584540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113753338281584540'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/01/prince-of-persia-two-thrones-is-very.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113715871950277084</id><published>2006-01-13T13:13:00.000Z</published><updated>2006-01-13T13:25:19.513Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;A fair amount of work done last night, creating the necessary tables in the database to fill out game details and defunct stuff.&lt;br /&gt;&lt;br /&gt;The main game details stored in the database include the currencies used in the game. I plan to initially feature the most useful (so, British Pounds, Euros and US Dollars) but it's easily expandable to cover the entire world. Although if anyone knows of a currency more worthless (compared to the Pound) than Indonesian Rupiahs I'll be happy to hear it.&lt;br /&gt;&lt;br /&gt;The other details I catered for last night are the spoken languages that are applied to each nationality, and the injuries that players can sustain. Nothing too complex.&lt;br /&gt;&lt;br /&gt;The Defunct details allow for things like old nations that no longer exist - The USSR won a European Championship and so will need mentioning in that competition's history, but the nation doesn't exist today. Similarly, I have a table for Defunct Clubs, and Defunct Players (which is a nice name for them) who  may have won an award at some point in their life. Finally there are Defunct Competitions which allow for old comps like the Cup Winners Cup.&lt;br /&gt;&lt;br /&gt;None of this has any data yet, but the editor is almost finished. Next week I'll be looking at the competition modelling, which is mostly done but completely untested. And then work can begin on throwing together a proper game! Yay!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113715871950277084?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113715871950277084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113715871950277084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113715871950277084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113715871950277084'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/01/fair-amount-of-work-done-last-night.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113707896819587921</id><published>2006-01-12T15:11:00.000Z</published><updated>2006-01-12T15:16:08.200Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;PC it is then. The simple reasoning being I can pick up a nice, functional and fairly cheap PC for a reasonale sum of money... and then get a nice expensive Mac when I'm rich beyond my wildest dreams. Or a student loan comes in. Either way...&lt;br /&gt;&lt;br /&gt;I finished Far Cry Instincts last night. Great game that lost its way in the end. They really should have kept the focus on guerilla warfare, and the feral abilities are just tailor made for hunting prey instead of rushing in guns blazing.&lt;br /&gt;&lt;br /&gt;I also did some GCSE maths. I have my reasons...&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113707896819587921?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113707896819587921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113707896819587921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113707896819587921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113707896819587921'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/01/pc-it-is-then.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113682263700283656</id><published>2006-01-09T15:54:00.000Z</published><updated>2006-01-09T16:03:57.010Z</updated><title type='text'>The Debate Rages On</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I'm in need of a new computer. Not that there's much wrong with my laptop - it does a good job for what I want it to do. Nope, I need a new computer because two people clamouring for one net access point just isn't going to work.&lt;br /&gt;&lt;br /&gt;The question is, Mac or PC? I'm ignoring all the bump regarding tech specs and crashes and usability that usually defines such a question. This one comes down to simpler, purer aspects. Which is more useful?&lt;br /&gt;&lt;br /&gt;A PC is good because there are far more games available. My girlfriend, claimer of computer usage rights, likes to play a fair few strategy and simulation titles. She has a fairly sizable PC collection. I like to work in a room alone, that way I can do a delicious pacing thing, so I'm going to want to use the laptop (with the desktop always remaining in the living room) off to the spare, soon to be games room. So a PC  makes a lot of sense - she can play games or surf the net and watch TV, and I can work in peace and jig. Gotta love the jigging.&lt;br /&gt;&lt;br /&gt;But the Mac... the Mac opens up possibilities. I can port TCFG to the Mac with relative ease thanks to the cross compatibility of BlitzMax, so I'm going to want to actually own one and open up that possibility. There's no sense in releasing a game for a platform without being able to support it technically neither, so I'll need a fair few months of Mac usage behind me. Finally, a Mac essentially pays for itself - if the game does well then Mac sales pay for the machine. The downside is that if she wants to play her games, I'm stuck in the living room to work. And on top of that, there's a few games on the horizon which the laptop doesn't quite have the spec to run.&lt;br /&gt;&lt;br /&gt;Bloody decisions. I know which one I want the most but I do need to work alone, and getting an iBook doesn't fully solve the issue.&lt;br /&gt;&lt;br /&gt;Hmmmm.....&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113682263700283656?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113682263700283656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113682263700283656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113682263700283656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113682263700283656'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/01/debate-rages-on.html' title='The Debate Rages On'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113675065721325173</id><published>2006-01-08T19:58:00.000Z</published><updated>2006-01-08T20:04:17.220Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;Like I said, it's boring stuff. So boring that sometimes you wonder if you ought to post it. Still, this blog is as much for my benefit as it is for anyone else, so here goes.&lt;br /&gt;&lt;br /&gt;Today was about sorting out the fiddly little things here and there in the editor. Stuff like assigning a chairman to a club (and ignoring anyone who's not a chairman), or making sure each of the three teams in a club (for example, first team, reserves and youth) store their stadium correctly.&lt;br /&gt;&lt;br /&gt;Told you it was boring.&lt;br /&gt;&lt;br /&gt;In other news, a mate informed me that Half Life 2 for the Xbox has silly controls. I've been playing FPSs on the consoles for ages, and always with the same configuration - Left Stick for moving and turning, Right Stick for looking and strafing. It's second nature to me, and Halo calls it "Legacy", as it's from a time when pads had no sticks and used a d-pad to move and turn. You'd think all games in this day in age, particularly major ones like Half Life 2, would allow for it.&lt;br /&gt;&lt;br /&gt;But no. They give you strafing on the left stick and turning on the right, which is a more recent development (the idea being that you can aim your gun with only one stick) but counter intuitive for myself. I guess I'm going to have to learn how to play it.&lt;br /&gt;&lt;br /&gt;On the plus side, I finally understand why PC gamers usually despise FPSs on pads.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113675065721325173?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113675065721325173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113675065721325173' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113675065721325173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113675065721325173'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/01/like-i-said-its-boring-stuff.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113667179789041601</id><published>2006-01-07T22:06:00.000Z</published><updated>2006-01-07T22:10:11.790Z</updated><title type='text'></title><content type='html'>&lt;span style="font-family: verdana;"&gt;So... another day ends. Searches are working now, which is brilliant. That same code will be used in the game proper, albeit refined.&lt;br /&gt;&lt;br /&gt;The focus for tomorrow ought to be tying up loose ends in the existing parts of the editor before I allow the creation of defunct items (old teams and people), as well as the game objects like currencies. Exciting stuff.&lt;br /&gt;&lt;br /&gt;It's all very repetitive, this stuff. Not entirely a lot of fun. But that comes in March, so I can't complain.&lt;br /&gt;&lt;br /&gt;And one day soon I'll finish Far Cry Instincts. Only two levels to go... another game cleared off the backlog.&lt;br /&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113667179789041601?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113667179789041601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113667179789041601' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113667179789041601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113667179789041601'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/01/so.html' title=''/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113665020509552443</id><published>2006-01-07T16:04:00.000Z</published><updated>2006-01-07T16:10:05.103Z</updated><title type='text'>Half Time</title><content type='html'>&lt;span style="font-family: verdana;"&gt;Saturdays are pretty great. Not only do I get a potential full day to get plenty of work done, but there's also football on. Although that football can sometimes be distracting.&lt;br /&gt;&lt;br /&gt;Work-wise, I've been fiddling a lot with the game's Data Editor. It now successfully carries out searches for items in the database, which is pretty much invaluable. Then I just squashed a few bugs which weren't exactly easy to find. They weren't even particularly bad bugs, but best not to leave them. By the end of the weekend I need to have a lot of editing functions done, so things are pretty much on course.&lt;br /&gt;&lt;br /&gt;Football wise, things are mixed. It's FA Cup weekend, so I placed a few bets. At half time, eight of the 13 teams I need to win are doing as such (or in Arsenal's case, have done), four are drawing and silly Man City are getting beat. Still time, though. Personally, I support my home club Newry City (who are at 0-0) and AFC Telford United (who are getting beat 1-0). Oh well.&lt;br /&gt;&lt;br /&gt;And Robbie Fowler's just scored for Manchester City, so that's nice.&lt;br /&gt;&lt;br /&gt;Back to work, I guess. I don't always get the luxury of a full day's work, so best to get some done.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113665020509552443?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113665020509552443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113665020509552443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113665020509552443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113665020509552443'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/01/half-time.html' title='Half Time'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20623502.post-113656765688959437</id><published>2006-01-06T17:02:00.000Z</published><updated>2006-01-06T23:54:09.026Z</updated><title type='text'>So anyway... no jam.</title><content type='html'>&lt;span style=";font-family:verdana;font-size:100%;"  &gt;Fried Chips. Yes. No. I don't know. Every company needs a name but that doesn't mean it has to be shit. "Fried Chips" is... cheesy. But I like chips. Cheesy chips, in fact. Coated wiith curry sauce. . Curry Coated Cheesy Chips. C4? No... that's plastic explosive. Bad image.&lt;br /&gt;&lt;br /&gt;Well, I'll get there eventually.&lt;br /&gt;&lt;br /&gt;This blog forms part of a New Years kick in the ear. I've been dilly dallying with things for years now, never really making enough progress on what I'm supposed to be doing. But with a blog - with &lt;span style="font-style: italic;"&gt;real, actual, living and breathing and generally abusive people&lt;/span&gt; knowing exactly what I had done yesterday, and knowing that my lazy arse has revealed nothing today - that's just the scary incentive I need.&lt;br /&gt;&lt;br /&gt;My name's Liam McGuigan, and for quite some time I've been working on &lt;span style="font-style: italic;"&gt;The Complete Football Game&lt;/span&gt;, proving it's not only my company that has a working title. It's a football game that will eventually encompass the entire footballing world. Which is bloody huge, so I hope you understand if I end up live on Animal Hospital holding a rodent hostage in a fit of despair. This blog will be a record of my achievements, hiccups and general laziness, interspersed with randomness (which you just can't get enough of) and whatnot.&lt;br /&gt;&lt;br /&gt;So... er, hello!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20623502-113656765688959437?l=friedchips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://friedchips.blogspot.com/feeds/113656765688959437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20623502&amp;postID=113656765688959437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113656765688959437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20623502/posts/default/113656765688959437'/><link rel='alternate' type='text/html' href='http://friedchips.blogspot.com/2006/01/so-anyway-no-jam.html' title='So anyway... no jam.'/><author><name>Liam</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
