Quantum Star SE

QS Evolved: The Ship Model

I’ve gotten a few questions (again) about needing to add more ships to QS Evolved over what is available from Solar Empire and QS2. I’ve blogged about this before so here’s the short version.

QS Evolved uses a hierarchical system. At the top are Fleets. Fleets are a collection of Ships. Here’s the kicker, Ships are a collection of Ship Components which infer attributes and value upon the Ship. I know it’s not instantly intuitive but ships are not a fixed entity. There are fixed Ships you can buy – however these are standard offerings only – even they can be modified over time. The big clue is Ship Production. If you want a ship you have two options. Buy it or make it. If you make it you can within reason design your ship from the Hull up, add components to it, and manufacture it. In the end what the ship is capable of is your choice – you designed it!

The other thing about ships is they’ll carry a few new limitations. Some weapons may require a finite supply of ammunition. Some may depend on your ship having sufficient power to fire them. Similar restrictions impact engines and shields. The idea behind all this is to remove the stupidly obvious scenario in QS2/SE that a game with unlimited resources will tend to identical fleet strengths – i.e. a stalemate, and usually one that emerges within days – not weeks. It also adds more strategic flavour to the game – if the ship components are up to you, then you can make a lot of choices to favour your tactics. You could outfit a ship with nothing but big powerful engines – let a Warship try catching you then ;-).

The attribute model of ships also enables ships to continually improve their performance – again within reason, and bounded by the capabilities of available components. Rather than having a ton of ships with limited abilities, you’ll have a smaller (25-50 range max) more easily managed set of ships which you could spend weeks constantly improving in small and large ways.

Absolutely key to everything is a simple assumption:

“Ships are a valuable asset. Losing a ship imposes a cost in time and cash.”

In Solar Empire and QS2 ships are NOT a valuable asset. You can lose 150 ships, and rebuild your fleet from scratch in a few days if the game settings are liberal (which they nearly always are). This is a big let down – ships are not worth upgrading unless they have a real value, enough that losing even a handful is a painful experience. The more value driven they are – the more incentive to upgrade, improve and increase their inherent value more. The more these occurs the more time and cash it takes to replace lost ships.

Like I said before, I am not cloning Solar Empire. This is a new Ship Model where losing a ship is a big deal – not an inconvenience solved by visiting a shipyard at Earth. A well upgraded ship with top-notch components could have cost you 5 days of mined resources. Even if you dragged all your other ships up to a superminer configuration it could still take 3 days of mining to even come close to replacing it – and that’s without the time needed to build it, and maybe collect any rare resources required for the construction of its rarer components.

So keep this in mind. When QSE is playable you will be able to manage up to 50 ships. Personally I’d prefer less – but lets say 50. To get truly powerful ships you’ll need to build them on planets. Doing this takes time, and a lot of cash. Losing a ship will be a big deal – it could take days to replace if of a high level. Ships are therefore a valuable asset – sacrificing them is still a strategic option, but a costly one if done for something stupid ;-). Ship management will require actual thought – those of a strategic mind would do well to plan carefully.

QS Evolved Screenshots!

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.

Installer ScreenshotThe 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.

BlueSpace ScreenshotThe 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…

Create Game ScreenshotAnother 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! :-)