Future.

Back when I was a kid, I used to read a magazine called Insight - it was basically a guide to everything futuristic, all the latest developments, and with an optimistic eye towards what was to come. Basically, everything pointed towards an atomic-powered utopia, cities with gleaming spires where there was no crime, no poverty, a benevolent world government, everyone travelled using jetpacks or in rocket-powered trains that ran inside vacuum tubes, where spaceflight was as common as getting on a bus, where science was the new God, where people ate pills instead of meals, wore form-fitting jumpsuits (or, if you were a girl, a miniskirt with a huge oval silver belt buckle), had anthropomorphic domestic robots to do the chores, relaxed on plastic sofas and spent their free time exercising and watching their wall-sized televisions. This was the 1970s vision of the 21st century.

Boy, how wrong they were.

Sure, they got some of it right. They predicted the mobile phone and the internet, some medical advances and the wall-sized tellys. Oh, and the domestic robots, although the Roomba is hardly anthropomorphic. But now, nearly ten years into the 21st century, and we’re not really any closer to most of what was predicted. In some ways, we’re closer to some of the dystopian futures predicted by doom-mongering sci-fi authors. Orwell’s 1984 and Huxley’s Brave New World have never seemed so real and so pertinent.

I can live without the jumpsuits and pills, but where’s this bright new atomic age? Where’s the jetpacks? Where’s the lack of crime? Where did we lose our way?

Nobody’s saying that the 1970s vision of a 21st-century utopia should have been correct, but it was envsioned with a sense of hope and progress on a huge scale, with technological revolution instead of evolution. It was exciting - I couldn’t wait to live in that world. We seem to have lost that vision, that sense of embracing the bigger picture. The quest for endless, clean nuclear energy has stalled, the drive to conquer space seems to have hit a wall, and, most fundamentally, it seems the drive for people to better themselves has diminished.

Maybe it could have happened. Maybe not. But it’s something to strive for, and it seems less and less people are doing the striving these days. We’ve all lost that hope.

Text tagged as:

Realism.

In the eternal (and occasionally futile) quest to reinvigorate my interest in video games, I do regularly keep my ear to the ground regarding new developments. And, as I read the press releases for the next big new game, they always boast about “ultra-realistic graphics”. That’s all well and good - watching someone play FIFA these days, you could easily think that you were watching a real football game - but there’s a part of me that thinks that games companies are rather missing the point.

It seems that the quest to improve the graphics processing capabilities of computers and consoles seems to be driven by this drive for greater realism. That’s all well and good, and it has resulted in some amazing hardware and some incredibly realistic games. But there’s so much more you can do with a tool as versatile as a computer. For instance, FIFA looks amazing, but you can still quite easily go and watch a real football match, or (deity forbid) go out, buy a football, and play the game yourself. Sure, I would love to drive around the Top Gear test track in a Nissan GT-R, and the forthcoming Gran Turismo 4 will offer me a virtually photo-realistic chance to try that, but it’s still rooted in real life.

A computer is capable of creating environments and experiences that are simply impossible in the real world, without the constraints of physics, and only limited by the imaginations of those who create them. These are experiences that cannot be had by any other means, which are unique to the medium. Worlds where causality doesn’t apply, where even time can be meaningless. A totally new paradigm. These are the types of experiences that would draw me back to gaming. And I don’t mean games with fantasy or futurist elements - the bulk of these experiences are available in real life, with a little imagination and capacity for make-believe. The experiences of which I speak can’t.

This used to be a much more common thing, back when computers were utterly incapable of creating realistic graphics. The programmers and designers of the time had to work with what they had, and, in the absence of realism, imagination took over. A game that stands out in my mind that was very much of this ilk was Iridis Alpha for the C64, created by one of the few games programmers who can actually see past the whole quest for realism - Jeff Minter. The game was essentially a side-scrolling shooter, but that incorporated various “invented” laws of physics as essential components in the gameplay. Your ship was capable of shifting between two dimensions (each shown as a separate horizontally scrolling slice onscreen), and part of the gameplay was that you had to shift dimensions regularly, as you were incapable of existing in one for very long (a mutated law of “entropy”). Also, the visuals were in no way even attempting to be realistic (although that’s not to be expected, given the capabilities of the C64) and the whole experience was somewhat on the “trippy” side and required some tangental thought to play. Happily, Jeff is still busy creating his own psychedelic takes on classic genres, and the industry needs (and has always needed) more people like him.

But no. People want to play virtual football, cast spells on virtual trolls and shoot virtual aliens, so games with this degree of vision probably wouldn’t sell.

Doesn’t stop me wanting to see more of it though. Maybe, coming back to my previous post about the revelation that is small-team development on the iPhone, we might be able to see more of this sort of thing in the future.

Games as art? Perhaps. That’s when you know that a craft has outgrown its medium and can stand on its own.

Text tagged as: games originality
Photo tagged as:

Toilet.

I’ve just had a moment of clarity about the UK.

Much as I miss it there, the lifestyle I had, the musical opportunities, the friends… I have come to the realisation that almost everywhere I lived over there since I moved out of my mum’s house was a toilet. I may moan about the US (and, believe me, I restrain myself when I’m online) but the places I’ve lived over here have been far nicer, cleaner and safer.

I mean, flats with mould growing under the sink, with junkies’ needles in the back garden, with paint coming off the ceilings, with chav arseholes living upstairs, with burglars around every corner… it was not good. In fact, sometimes, it was downright scary.

I shall retain my rose-tinted spectacles regarding friends, music and lifestyle, but not regarding the place itself.

In other news, diet starts today. I’m going low-GI - want to lose 3 stone by the end of the year. Also, IUI is happening tomorrow, so daddy-hood may be impending. If we’re successful, that will open up a whole new set of decisions and questions…

Text tagged as:

Control.

I actually sat down and used my Xbox 360 for its intended purpose the other night - playing games. Most of the time it sits there relaying videos from my computer to the big TV in the living room and streaming movies from Netflix, and nothing else.

Now, I do enjoy video games. When I was younger, I was a bona fide addict. It took 3 years working at a games company to break this addiction, and it’s remained broken ever since. This stint at a games company also coincided with the demise of the home computer games market, and the rise of consoles, which, in turn, coincided with the rise of the control pad, replacing the good ol’ trusty joystick. And not the type of yoke-style joystick that flight sim afficionados think of - I’m thinking of the classic, arcade-style stick that I grew up with. Specifically, the likes of the classic Competition Pro joystick.

And it’s the death of the joystick as a mainstream game control device that I must blame as one of my reasons for losing much of my interest in gaming. The little D-pads and analogue sticks on game control pads are imprecise, fiddly and utterly unsuitable for many types of games (in my experience). You just can’t play Street Fighter or Gradius with a control pad. They weren’t made for it. Granted, it’d be hard to pay Halo 3 with a proper joystick, but I’d love to try it. There’s something about having something to grab old of (oo-er), with clicky microswitches and positive feedback that makes the gaming experience better, for me.

I’m ordering one of those USB CompPros - it’ll make MAME and other emulator-based gaming so much better and more authentic. In the meantime, I guess I’ll muddle through Halo and Bioshock with the dull old control pad.

Text tagged as: joystick games observations

United.

The Holy Grail of web development is a language and development environment that unites client-side and server-side programming into one. There has been progress on this front - ASP.NET (using Visual Studio) is probably the best-known, allowing HTML page elements to be directly accessed from the server-side as server controls. It’s a shame the language has so many development overheads, and is, to be blunt, rather bloated, and, of course, being a Microsoft product, requires proprietary server technology. And we like open-source solutions here at Ego Id (as well as solutions that run on a Mac).

So, what do us open-source and Mac advocates have to play with? Well, there’s the new kid on the block, Ruby On Rails. It’s an impressive framework that makes prototyping website features incredibly quick, but, again, we run into that lack of support on the server side. There aren’t many hosts that support RoR yet (our own hosting certainly doesn’t), and there’s still a question of scalability. That leaves us with some of the new PHP-based frameworks, such as CakePHP, Symfony and so on. In some ways, they’re great, combining client-side AJAX functionality and server-side code nicely. But the code you need is still quite messy, non-intuitive and smacks of trying to squeeze extra functionality into something that wasn’t designed for it. Not to mention, if you try to use features from more than one framework, you run into compatability issues. It’s almost easier to hand-code everything.

The truth is, right now, there is no single solution that takes care of both the client and server sides. So we have to settle for a system that simplifies the interface between the two as much as possible. So, I’m forced to conclude that the Holy Grail for this sort of thing is staring us in the face, and, apparently, all us so-called “proper” web designers and developers are supposed to hate it.

It’s Flash.

Flash, on its own, offers the web developer pretty much the ultimate in customisation straight off the bat in terms of user interface design, and AJAX-style out-of-band functionality has been available since Actionscript first reared its head, and you were able to do a “tellTarget” to any Flash element. And, of course, provided you’ve got the Flash player installed, there’s no issues with browser compatability. With the introduction of Flex, Adobe have a full user interface development environment that ensures you can make the most of this customisability. What’s more, all the SEO arguments against Flash have now been silenced, since Google can now index SWF files, and server-size integration is easily achieved, since only the data layer really needs to be on the server-side. Flash sends a variable to a PHP page, the PHP page returns XML, which Flash interprets natively. That’s it.

Sure, Flash is closed-source, but the player is now so ubiquitous that it’s almost irrelevant. All we need now is for Apple to allow Adobe to release the Flash player for the iPhone. Oh, and while they’re at it, a version of AIR would go down well too - imagine how easy iPhone apps would be to develop if the iPhone supported AIR!

Text tagged as:

Colour.

Over the years, I’ve had to deal with cultural differences in many ways. Firstly, and most obviously, as a British citizen in the US, there are plenty of cultureshocks to be had - on the surface, there’s a lot of similarity between our two countries and cultures, but there are also many, many differences that I have to navigate on a daily basis (note my spelling of “colour” in the title there, for instance!).

In terms of work, I’ve also had to deal with different cultures - I worked for a company a few years back who specialised in developing sites for the Chinese market. Now, what we accept as good design sense here in the West isn’t necessarily the case if you go east - colours have different meanings, people expect different things in terms of layout, and so on. For example, the use of the colour red in Western design usually denotes assertiveness or possibly even aggressiveness. In Chinese culture, red is a very friendly colour, much as we would interpret pink, although less gender-specific. Also, in terms of design, the trend here in the West is towards the minimal - conveying only essential information. Over there, they like it when every inch of the screen is full of content - something that might be considered far too busy for our tastes, but the connotations are different there - it shows you have a lot to offer. Go to an international news stand and pick up any Chinese-language paper - you’ll see every inch of every page is packed with information, and the same is true of their website preferences.

There is also definitely a culture surrounding programming. In many ways, it’s like a microcosm of “real life” culture, but with some significant differences, differing depending on where you go and what you do. The boundaries aren’t necessarily national either, they’re more based on the type of work environment you have, and the technologies you work with.

On one side you have the archetypal “geek” culture, usually espoused by individual programmers and small companies, and, on the other end of things, you have the “corporate IT” culture, usually found in large organisations. The innovations usually happen at the “geek” level and filter up to the “corporate” level, where they’re expanded and adjusted for purpose. For instance, the notion of “agile” development was an innovation from the small compay side of things, primarily those working on iterations of open-source software projects in order to streamline the development process. This approach was sequestered by the corporations, and now many large companies use agile development practices. In my experience, it rarely works the other way around - there’s not many corporate concepts that have filtered back down to the “geek” level. Other differences I have noticed is that smaller companies are more innovation-driven, while larger companies are more market-driven. You only have to look at Twitter to see the impact an innovation-driven team can have, and MySpace to see what a burgeoning corporate culture has done to a formerly innovative company.

As with “meatspace” cultures, some people in one culture often look down on people in another, there’s many differences in philosophy and application, and so on. This aspect sometimes makes it difficult for programmers of different cultures to work together - in many ways, it’s like two different worlds. I’ve personally worked in both environments, and they are like chalk and cheese.

But, also like many aspects of “real-life” culture, there are many similarities, things that unite us instead of dividing us. As programmers, we all speak the same language - the language of code. Programming and mathematics are probably the only two universal languages - you’ll find people in Calcutta, Beijing, Sydney, New York, Paris, Cape Town, Lima, Barcelona, London and Dar Es Salaam all communicating in the same terms, understanding, creating and implementing the same concepts and sharing something beyond their cultures. This degree of transcendence is a great thing that, in my opinion, can help us all to transcend our real-life cultural differences as well. And, as a microcosm of real-world cultures, it also gives us a reference point for understanding them better.

Better living through programming? Maybe not (well, not yet), but it’s a start.

Text tagged as: programming culture

It’s nice to see that a game I worked on 12 years ago is still appreciated today! http://bit.ly/pVf12

Text tagged as:

Gadget.

The iPhone is pretty much the ultimate gadget. But it’s not just a gadget, it’s a game changer.

The release of the iPhone initiated a paradigm shift in internet connectivity. All of a sudden, there’s this device that is universally useful - it’s a phone, a full-featured internet browser, a GPS, a games console, a book reader, an email and text client, a camera… the list goes on. And, in the short time that the iPhone has been available, it now accounts for over 50% of all mobile internet access. With the forthcoming 3.0 system software, it’s all set to get even more impressive - cut & paste (yay!), turn-by-turn GPS satnav, peripheral access and many more new features.

But, the real revelation of the whole iPhone experience is the App Store. The quality and variety of apps are now driving sales of the iPhone itself, even to those who wouldn’t usually consider getting such a thing. As a means of distribution, it’s yet another paradigm shift. It’s streamlined, cheap, straightforward, not to mention a cash cow for those who can successfully sell their app, and has brought back small-team and solo development in a big way. This makes me very happy.

Before I got into the whole web design and development spiel, I worked for a video games company. I always wanted to be involved in the video games industry, ever since I programmed my first game in BASIC in 1983. The hot technologies at the time were the original Playstation, the N64 and the PC (in the nascent 3D PC gaming days, when the original 3Dfx card was king). Even then, with such comparatively humble technical requirements compared to the games that are produced now, the teams working on the games were already 20-30 people, not including project management, QA, etc. From my friends who are still in that industry, I’m told teams of over 50 people aren’t unusual these days, with some big games having teams of over 100 and development cycles measured in years. I can believe it.

This is a far cry from the early days of computer games (and, indeed, all software) development, when it was often just one or two people in a bedroom or basement, and, often, the software was better for it - leaner, more focussed, usually more original, unconstrained by market and brand influence, and developed by people who obviously have a passion for what they do. Some of these early coders became bona fide cult superstars - people like Sid Meier, Andrew Braybrook, Archer Maclean, Jeff Minter, David Braben, Lord British, Matthew Smith and many others were revered by 8- and 16-bit fanboys the world over, and with good reason - these people developed their games single-handedly, including all programming, graphics, sound, gameplay and level design. I realise those days are more or less gone, but, even so, Rolando, one of the biggest-selling iPhone games to date, was largely developed by just one person, with two other people providing input on graphics and sound.

This brings out the enthusiasm in me, as well as those long-repressed bedroom-boy coder instincts. The fact that Rolando made a fortune also helps - with low development overheads, an easy distribution model and only three people to divide the loot between, for those who can get in on iPhone development, the rewards can be huge. Certainly more than my first game on the Sinclair ZX Spectrum that I wrote in 1985 - I made the princely sum of £200 (about $300). A fortune for a 13-year-old (it paid for the BMX bike I wanted at the time), but not much in the greater scheme of things!

Guess what… I’ve got the iPhone development book. I think this is something that any self-respecting agency should get in on - the potential is HUGE. Good work is possible on this platform with small, adaptable teams, and it’s only going to get bigger. Thanks, Apple.

Text tagged as: iphone programming

Multilingual.

Well, I think the time has come for me to learn a new programming language. We’re having a bit of a slow month at work, so I have my boss’ blessing to use some of this time to learn some new skills.

So, I’ve narrowed the list of things I want to learn down to four things:

  • Ruby On Rails
  • JSP
  • iPhone development
  • Adobe Flex

I’m leaning towards RoR, as it seems reasonably straightforward to get into. I haven’t got a clue where to begin with JSP - Java development is a huge, sprawling and utterly unfathomable thing to me. Do I need to learn full-on Java to do JSP? What are Struts and all these other buzzwords? I’ve taken a look at the iPhone development book too, and, on one hand, it seems relatively straightforward, but it’s also “proper” programming, having to pay attention to memory, stacks and stuff like that, and I haven’t done stuff like that since my Amiga days! Plus, Objective-C, Apple’s preferred programming language for the iPhone, is weird - lots of strange syntax that I don’t entirely understand. Now, Flex I have a bit of a headstart with, since I’m reasonably well-up on Actionscript. It’s a bit of a different paradigm for Flash development though, and that might take a while to get used to.

Any and all suggestions are welcome…

Text tagged as:

Page2of3 ‹ previous page next page ›