For those not quite in touch with QS history: Quantum Star SE has been a long existing PHP game project which has been trundling along without much in the way of releases for three years. The short and sweet history!

Well, all that’s about to change. :-) Over the past two weeks myself, Hades (Lee) and Ikoda (Ivan) have been having an extended email discussion about the project; its goals, purpose in being, and future as a viable project. The discussion wasn’t all that involved, but it served its purpose in letting us assess each other’s thoughts. The upshot of all this is that a new plan has been hatched.

I took the first step about two weeks back by putting together a base application framework. The dominant component is the Zend Framework. Six months ago I would have considered that highly unlikely but the framework has consistently pushed light and fast code which works, is easily extended, and has limited dependencies. Built around the Zend Framework I am using Template Lite as a templating solution (Zend_View does not cut it), the Partholan Data Access library and ADOdb-Lite, and a selection of Partholan utility classes which cover the ZF’s blind spots. This may seem horribly mix’n'match but it works a treat and it’s not in the least unwieldy.

So, step 1: Put an application framework in place…check.

Where it get’s interesting is where we’re considering taking the project. PHP Games lend themselves to a lot of problems. The biggest by far is in designing a workable user interface. Taking an example, the immensely popular open source PHP game "Legend of the Green Dragon" allows players engage in combat against NPC creatures. Killing a creature can involve up to 20+ page requests. If one uses the multiple attack options, that can reduce the page requests to 4+ (forest travel, find creature, kill creature, and naked victory dance over foe’s corpse). Ritualistic naked dancers are quite happy to make all these requests – but can they be avoided?

Given all the hint dropping I can hopefully use the term AJAX without too many buzzword-jaded observers taking offense. AJAX in PHP games makes sense. It’s that simple. Why endure 20+ page loads when the only item being updated is a measly 4 lines of text? Why use a complex and error prone form to design a new star ship when you just drag and drop components like you would in Ascendancy? Why endure loading 100+ ships and fleets onto a page (not a pretty thing!), when you could work some AJAX magic and create a lazy-loading paginated panel? I could list more, a lot more.

Of course, there’s bound to be head butting over useability. AJAX is a filthy profanity for useability advocates. Bearing in mind this is a game, and not an essential mission critical application, we’re going to forgo many of these. If a browser turns up with javascript disabled, then it can go hop. It may be unkind, and even slightly discriminatory to console users and security obsessed folk the world over, but there it is. A far more worthy concern are the visually impaired (stuff the cranky obsessives – they probably have no vision difficulties). Catering to the visually impaired will be a major research topic for myself. I have a string preference for keeping my projects accessible to such folk.

Step 2: revise the game’s interface plan…check

The last step is for the near future. We’ll be removing the name Quantum Star and seeing if we can find a replacement. Quantum Star might have started as a game name, but it’s largely an informal base of established project junkies, developers, and enthusiastic fans. All of which we appreciate of course. But over time QS as a game idea has eroded. Its time to take the new base, the new approach, the fresh ideas, and put them under a new name. Something cool, with an available .com address and no trademark collisions ;-).

I’m tapped out of words for now. Anyone curious about the above, drop a comment.

Related posts:

  1. Quantum Star SE 3.1.0
  2. Quantum Star SE in development again!
  3. Quantum Star SE 3.0.0-0.3 Updated
  4. Quantum Star SE Evolved 0.18 – released for testing
  5. Quantum Star SE – Milestone 1 (the playable version)