Wednesday, May 31, 2006

Damn you, Ecuador!!

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.

No, it's all different, and I've gone into it before. I've looked around the world and thought 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 right now. 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?


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.

On the surface, the Ecuadoran league looks like any other league in South America. It's played in two distinct halves, the Apertura and Clausura, 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 Serie A Apertura differ from the ones in the Clausura as a result. A bit of a niggle.

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.

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 Segunda Categoría, 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.


Just when I thought I was finished tweaking those damn league systems.

Monday, May 29, 2006

That'll be quick

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.

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.

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.

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.

Tuesday, May 23, 2006

A time saver. Huzzaj!

Yes, Huzzaj. I spell it how I want!

After undertaking a little research, I took the plunge with a pre-built GUI engine in the shape of IGlass.
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.

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.

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.

Saturday, May 20, 2006

Emotions in Football

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".

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.

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.

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.

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 & 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.

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.

Tuesday, May 16, 2006

Token Update

It's been over a week, so it makes sense. What have I been up to?

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).

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.

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).

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.

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.

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.

I look shit in turtlenecks.

Monday, May 08, 2006

An Overview

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.

Come to think of it, why don't managers wear sheepskin any more? Losing a part of history, we are.

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".

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.

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.

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?

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.

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.

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.

Or alternatively, as it has panned out, I won't.

But I can pee all by myself, so it kinda works out well in the end.

Thursday, May 04, 2006

What is it, anyway?

What a great question.


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.


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.

That's pretty fucking stupid.

So, starting next week I'm going to start writing up the whole thing. The theory, the philosophy, the driving force. Everything.

It's about time, too.

Have a teaser.... TCFG is a "football" game. Ooooh.

Now - cheesecake.