PHP, Zend Framework and Other Crazy Stuff
Archive for September 13, 2005
Quantum Star SE 3.1.0
Sep 13th
I can just see the funny looks at the minor increment – actually 3.1.0 is not due for release any time soon. This is a short thought summary on its goals – namely to extend Gameplay.
QS and its parent, SE, are fairly simple strategic games. Recent years have thrown development off course, or in many regards simply stopped any form of forward evolution. This was a shame in many ways – since the original debut of Solar Empire, PHP games have continued to gain in complexity, popularity, and the fun-factor. Unfortunately SE’s early development issues (i.e. the Light/Dark faction in-fighting) and often it’s lack of any revolutionary development, has left SE way behind of the pack.
Now the last two years has seen a lot of improvement. There a few good developers working on the original SE project and Solar Empire 2. Djcapelis has a none too often mentioned project referred to in his blog as WAR. Even Quantum Star SE is finally hitting its stride with the newly committed (to CVS) v3-0.10. But this is all just a first baby step. QS 3.0.0 is being targeted at duplicating QS2 – not advancing any major gameplay changes. We do have such changes planned – but my lack of development time in the last year has left QS3 with 8 weeks development to date. Still, I’ve done a lot in those 8 weeks as the CVS commit shows.
So what is 3.1.0 all about?
The next version update (after we release 3.0.0) will move towards far more complex and involving gameplay. Although QS will remain set in an SE like scenario – it will have significant gameplay changes. The basis for these changes are what I call Game Assumptions (I’m sure there’s a more technical term – but this works). SE has really simple (and often illogical) Game Assumptions. For example, the implementation of Planets in Solar Empire makes an inherent assumption that a Planet can prevent a Player from viewing a Star System. If that’s not illogical, I don’t know what is…![]()
So we’re talking assumptions. Here’s an example of one planned change. In SE we assume that travel must be done only between Warp Points. Of which there is one Warp Point per system. Now this inevitably raises numerous issues. Worse it immediately places a constraint on our source code – which leads to an exponential increase in processing requirements in some functions. A revised assumption might do away with the idea (or at least the sole travel method) of Warp Points – and instead assume travel through any portion of space, in any direction, is equally valid. Following this we start get getting some pretty complex ideas – if a player can travel literally anywhere in a 3D volume of space (yes, 3D), how are opposing players going to find the buggers? After all a 100×100 pixel map would have an area of (gasp!) 10,000 pixels (one pixel per coordinate). Worse, with 3D, that same map would have a volume of 1,000,000,000 pixel points. Talk about big…
.
That’s what QS 3.1.0 is all about. We take any SE assumption, turn it on its head, find a new potential direction to evolve, and try it out. Why not have 1 Billion points? Without warp links getting in the way you get a lot of freedom. It opens a more elaborate, yet code simple, game arena.
It for things like this that QS3 was designed. To assure some people – such a move does not necessitate the removal of the old system
. With QS3, both can co-exist as discrete code (typically a set of related CommandObjects – and a few minor database tweaks) because QS3 works separates all layers of the application to such an extent, that features are virtually interchangeable. For example lets say I create a new Planet Model. I could combine the 3D-Universe Model, and the Planet Model into one game, the 2D-Universe Model and SE Planets in another. There’s nothing stopping such a approach in QS3.
So the moral of the story is: QS 3.0.0 will duplicate QS2 – but don’t place bets on the follow up versions…![]()
