new PHP/Ajax project

So, KFM is on the verge of its 1.0 release. This is the longest I have ever stuck with one of my own pet projects. After 1.0, I want to take a break from it to start on another project.

I’ve been avoiding starting anything else, in case it sucked me away from KFM before I was ready to leave it for a while.

So, I’ve been thinking of a few projects to start. JavaScript has come a long way from the early Netscape days when it was considered to be a gimmick. These days, it is a serious online language, yet there are some application types which it may be difficult to write in it.

One example, graphics applications, will probably always be desktop applications.

Another example, music authoring software, might be possible to write online, including notation editing, etc, but the playback will probably always suck.

Gaming. Now, I think this is a field that has not been explored enough in JavaScript. While there are some JavaScript games, they tend to be simplistic, such as the addictive WEBoggle.

The problem is that graphics have traditionally been a weak point for JavaScript, which makes more complex games difficult to do.

These days, though, most browsers have some sort of graphical ability. Firefox, Konqueror and Safari have the WHATWG-recommended <canvas> element, which is specifically for graphics, while IE is lagging behind as usual. IE has the VML object, and a hack has existed since 2005 which allows VML and Canvas to be generalised.

What this means, is that it should be possible these days to build simple graphical games such as side-scrollers, real-time strategy, and other 2D games.

3D games are still a bit far off, even though there is work ongoing in this field. example, example. So far, this work is still unusable for a serious application, but it shows promise, and I’m sure the browser developers will be taking notice.

So – my new project? I want to build a massively multiplayer real-time strategy game, in the same vein as Command&Conquer, but with a Dungeon Keeper feel, and in a persistent world.

Each user will control a “kingdom”, where they can wage war on neighbours, etc, and create simple macros, so that when they are not logged in, or busy elsewhere, there will be some reactions that can happen automatically when an event such as an incoming invasion is detected.

By persistent, I mean that when a user logs out, their kingdom will still exist and be attackable by surrounding armies.

There will also be an added “plot point” where there is a single point in the game universe which provides “power” (life force, etc, haven’t decided what to call it) to the users that are closest to it. This will encourage users to actively try to gain this spot for themselves, and as there can be only one person in one place, it will make that point in the game universe a focal point for the action.

An added bonus for this is that you can then gauge a user’s ability by his proximate location relative to that point (I’ll call it a “focal point”). The nearer the user is to the focal point, the more dangerous the surrounding armies are, and therefore, the smarter the user must be.

I think this will be an interesting project, and it will be very interesting trying to make it work in just JavaScript.