PHP, Zend Framework and Other Crazy Stuff
Quantum Star SE
QS Evolved Screenshots!
Feb 27th
After putting in a lot of hours on Quantum Star SE Evolved this weekend I have moved onwards from my earlier 0.18 test release. That was aimed at exercising the Partholan backend to find any last obvious bugs. This weekend I finally got into the meat and bones of the game. I started with a diversion into the Installer which had a few issues in 0.18 (most annoying was the lack of a proper theme for it!). I’ve updated and added back the Install theme however and the results are quite satisfying. I’ve added a few screenshots to this post to show it off.
The opening Installer page.
The Installer is an attempt to simplify the often horrible level of detail some PHP applications will require. Most of the in-depth options are hidden and can be changed from their defaults later from the Administration Control Panel. In most cases they won’t need adjusting. A lot of the messy items from Solar Empire and QS2 have been removed. QSE automatically figures out the URL and full system path with little trouble. Database choices are down to a minimum with any specialised requirements managed fluidly by the backend. There’s been an effort to simplify the number of directories requiring permission changes (just Data and TplCache).
Now on the game side I’ve upped the ante and created a simplified CSS based theme called BlueSpace. It’s layout is flexible and completely CSS driven. Tables are being used only to support our form layouts and even that can potentially be replaced with a CSS style when I spend the time needed.
The temporary Admin CP page using the BlueSpace theme.
The theme is pure CSS. I spent time wondering how to manage theming and making it as flexible as possible, but in the end the usual lack of theme making on open source games decided the issue. Themes are now nothing more than customised headers, footers and CSS – that in itself adds most of the flexibility needed. The templates themselves are fixed XHTML though obviously you can alter these on a private server – I’ll note this means text is not changeable if you decided to upgrade directly from the standard QSE development releases without text diffs. This by effect decided how to manage translations. My translations approach is going to be to pre-generate translated versions of the base “tpl-en” English templates into separate Template directories; tpl-fr, tpl-cz tpl-fr-CA, etc. In effect I want to remove the need to translate on-the-fly at runtime anything except Game Module content. So lets just translate and store the templates as semi-independent entities, allowing perhaps some minimal CSS adjusting for things like text direction. The approach makes possible a more manageable translation effort matching full English sentences to translations – not the flawed key phrase matching that is very hard to get right.
Anyway to round out this post, the game is moving ahead steadily now that Partholan is feature frozen. I’m currently playing about with the Administration Control Panel to add the most necessary functions such as the Game Creator, Game Manager, and the updated Universe Generator. I have to admit feeling some growing pride with QSE. It’s hard to get that from working on a technical blunder like the original QS2. Evolved is waaaay better
. I’m having fun working on it at least…
Another BlueSpace view – the Create Game form view.
Can’t wait to get a starting Star System view finished so I can start adding in all the funky fun stuff like Fleet navigation and Homeworlds. Looks like yet another more complete release by week’s end! ![]()
Quantu Star SE: Generations
Jan 30th
QSG is a branch of the v2.2 code developed by Ikoda. I don’t blog all that much about it since I’m not personally involved – I work solely on the Evolved branch.
So far the project has been leaping ahead in bounds. Yesterday saw the release of QSG 0.55 by private mail (beta testers only). In the meantime the activity has moved up a notch with Hades opening a QSG game server. Another is now also open.
Looks like playable QS versions are back in fashion…
The new QSG version eases the old QS2 load a little by using ADOdb-Lite. Hopefully that makes some impact on the server load issues. A few other changes have eased up on database load also. This is pretty traditional QS gameplay – but without most of the irritating bugs. Try ‘em out.
Bugs, Bugs, Bugs…
Jan 20th
Well outside the licensing entries I am still working on Quantum Star SE, in between reading the latest Robert Jordan novel from the Wheel of Time series that is.
Recently I decided to do a minor web update to the main site – at the moment we’re largely working on automatic through the forums. One change put through yesterday was to install the Mantis bug tracker for Quantum Star SE – http://bugs.quantum-star.com.
Now Sourceforge runs its own facilities, however I wanted a little extra control over some of these. Henceforth all QS bugs should by declaration of the Lead Developer (that’s me
) will be reported first to the tracker, and then to the forum where it warrants further discussion.
The first bug to be reported is of course that continued use of PHP_SELF to construct a root URI for the game. Its a known security issue, and has been for a while – we’re not really worried about it until we start making alpha releases more publicly, i.e. through Sourceforge.
On a side note, I’ve noted Moocat to the list of blogs (see left). PanamaJack’s rss feed seems to headed upriver for Winter. Some type of internal XSLT error. I’ll drop him an email to get it fixed if he doesn’t read this first.
The Affero stays for QS
Jan 20th
I know I’ve spent a few entries moaning about licensing – but this is not a preview to a sudden licensing change. As far as I am concerned (thus far – and until the GPL is finalised) the Affero General Public License is suitable for the Quantum Star SE project.
To explain – the AGPL explicitly states that if a program is distributed under the License offering a mechanism to download the source code, than that mechanism must also be replicated in any modified versions. For QS, that mechanism will be a simple link to the Sourceforge download space. Any modified version used would therefore have to maintain a link – but to a similar archive of the the modified source code.
Now QS has no such link at present – we haven’t distributed any source code including game features just yet. But it will be – and so we require no license change except to GPL3 once the draft process is completed and an equivalent protective measure is included.
Quantum Star SE Evolved
Nov 24th
Never hurts to repeat myself on the blog. To force some differentiation between the two QS branches, Quantum Star SE Main branch is now known as “Quantum Star SE Evolved”. Hopefully this will send out a message that QS2 is older, and therefore not actively developed. There’s a common misconception for players especially that the new versions are a continuation of QS2 – they’re not. QS2 was an extremely buggy, server intensive, insecure pile of code. QS Evolved is designed and written from scratch, and avoids those problems – at least it better
.
There are still some sideline areas I need to address to QS before releasing the future stable versions. Problems fall into three camps; PHP Source, Licensing and Intellectual Property, and Transparency. My groupings might not be intuitive, but for what its worth Transparency applies to the internal running of the project, its policies and practices, and its financing (in a fit of optimism I declared QS a non-profit project). I’ve looked at a few areas, and had a go at implementing some solutions.
For example, the current available code carries both a human readable, and XML P3P Privacy Policy (not integrated into the HTML yet). It’s a nice idea, and the policy validates even on quite strict restrictions under IE6 (strict due its bugginess no doubt). As a result of that initial review, I removed the collection of demographics (one of those QS2 hack ons), sex, age and the requirement that was there for real names. I think this might even get us past the COPPA requirements – possible, but needs to be confirmed.
COPPA is a US Law governing access by under 13′s to registration on websites – basically if the website collects certain information, or targets certain age groups, it is required (internationally – don’t ask why) to collect written permission from the child’s parents or guardians. It’s a good-feeling policy – not well implemented (the child can simply lie obviously). It is still in force (unlike the much confused COPA).
Anyways, before I went on a rambling spree I was where again? Ah, policies, transparency, etc.
My current bright idea is to look into formalising the management of the project. The problem with a democracy of one, is that its suspiciously like a dictatorship. One man development holds a certain risk of losing sight of what your community wants, rather than what you think they need. I’m looking into the possibility of an initially informal arrnagement where two or three long time groupies and developers would have a little more power in how QS is run. If it works well, and smoothly, I might consider transferring a little more weight. That of course means we would need rules, and some long term goal in those rules (so there’s no sudden policy shifts down the line). I’m not up to paying solicitors, so an imperfect custom agreement is in the making

