Hello everybody, I am Pavlos Germidis, the designer of Ceres. In this blog, I will try and share with you the thoughts behind the designs of the game -be it ships, weapons, space stations, machine-monsters or just plain meta-trans-humans like you and me. This post is about weapons and stuff that goes zapp and boom and <sound effect for space-time shear>. The science in Ceres is both familiar and unfamiliar: this is due to the fact that machines have taken over most of the research over the last decades (or centuries?). It is based on this science that we design the weapons for Ceres.

Soooo physics have progressed a lot in the last centuries, and the New Einstein (fancy name given to the new Indian super-Artificial Intelligence in Uttar Pradesh Science University) resolved quite a few cosmological mysteries of old. In Ceres we fight with lasers, guns and missiles but also with graviton beams, plasma exhausts and even quantum forces (or weirder devices I came across in my evening conversations with the Mothership -but let's skip that for the moment ;) ).

Each ship comes with a given number and size of 'slots' for externally mounted weaponry. The same with the internal weapons (see more about that below). This cannot be changed as basically ships were built around their engine plant and weapons -changing the layout of the weaponry means you have to redesign the whole ship ! What you can do is put any weapon anywhere you like -and there's a lot of possibilities in that department.

A weapon needs something to lash itself to, and this is a turret. A weapon is contained in the turret, which itself is part of a weapon mount. You can mix and match any of them, as long as the weapon is of the same size as the turret: every item comes in 3 sizes: small, medium and large/ heavy. Of course, should the need arise, you can stick a medium or a small turret on a heavy weapon mount -say you are short of cash and you still need a weapon.

Darn, that's a lot of long and nasty pointy things there. Freud help me !

Weapons can be lasers, guns, missiles, plasma chambers, graviton guns and the different torpedo accelerators or quantum shifters. Those two last are different in that they cannot be inside a turret, and they have to be housed IN the ship. The torpedo accelerator is a big tube lined with supra-conducting magnets that propels the multi-ton heavy torpedo at tens of kilometers per second. Each torpedo firing is an event for the ship: the vessel almost powers down, shudders, stuff falls off everywhere. There's a lot of variety in weapons in Ceres: currently we have about 10 types of guns, 6 kinds of lasers, 5 types of missiles, 5 models of torpedoes and couple of plasma chambers, and this is just a part of the armory of two of the many factions of the game. Each faction also has different types of turrets -although there is a lot of cross-use and breeding between factions. There should be two dozens of guns and lasers and a dozen of missiles and torpedoes to choose from in the final game, in addition to more exotic weapons.

Save your game!Unity asset store offer a variety of save game products to buy or download for free.One has peaked my interest. http://whydoidoit.com/unityserializer/This free plug in looks like its quite robust enough for my needs. I need to save a lot of data about each ship in the game. Its just not the position, rotation, rigidbody velocity or structure. I need to save dozens of arrays, integers, floating point values. Armour values, structure points, primary targets, range, status of this and that. Each ship is broken down into many objects and all those objects need to be saved.

The unity serializer does look to be simple, but I can say from experience that is rarely the case, at least not when I get my fingers on it.

I've been thinking about having a autosave feature. One that activates at the start of every combat. This game has a bit of a steep learning curve so its good to have a save game before your where blown to pieces. The game will implement a standard savegame feature, at the players discretion.

If the unity Serializer does not work for me, hopefully there are other that will. I'm not very keen on writing a new one from the ground up, Its time consuming and I would rather spend time on the game mechanics.

Game AI.Currently the ships use a rather simple AI when dealing with hostile ships.Each hostile ship reacts on its own.The base AI for Non Player ships is that it detects a hostile ship within range, then it will check how aggressivly it should behave. Go in close, or stay away. Most ships now have a simple random movement positioner that tells it where to position itself close to the enemy or orbit him. The ship would allways target the closest one and attack him relentlessly. Thats not good. A ship attacking the player would currenly then move to a position near the player, orbit the player or stay put, but always try to attack him with his weapons.

The turrets on Non Player ships have their own simple AI. They will always seek to target ships hostile to its base ship. A turret that can't target its current target will seek a new one within its range.So a Non Player ship can in effect target multiple targets at a given time. The player turrets had this ability before. But we thought that with automatic targeting, the player would just be an observer rather than a participant in the combat.

Also some ships with repair system would start repairing their vessels if a certain criteria is met.New Combat game AIWe are now currently updating the Non Player AI.Each combat will have its battlecommander script to control the actions of the hostile ships. This new script will control the actions of the group of ships under its command.It will issue movement orders and attack orders and allow us to create unique attack methods for various factions. Some factions prefer formations, other small groups, some just break up their grouping and attack randomly. No longer will the closest ship be attacked first.The script will prioritize its target list based on how much a threat the hostile ship is to the group. Threat will be based on numerous factors. Such as size of ship, distance, turrets, and how much damaged it has delt over a given period.So if we have 3 player ships. A, B, C. A being close and heavily armed. B far away and Heavily armed. And C lightly armed but close.Ship A will be targeted first because its overall threat level is higher than player ships B and C. After ship A has lost its primary power plant and all her guns have gone silent the script will lower ship A threat level and Target ship B because it now registers higher on its threat list. Ship C still registers lower even though its closer. The turrets on the ships in the AI group might still target ship C if they can't get a fix on Ship C, but the AI ships will move to attack ship B.Its a bit of a hassle to program a AI thats not a game breaker. We don't want it to be too intelligent or too aggressive, but at the same time it must be challenging. I'm not planning on creating an overal complex AI system. I did study AI neural networks in school.. but no.Ship hacking We will be adding ship hacking to the game. An AI will be added to the ships, this AI will see to all the base functions of the ships.

With the addition of the AI, ship hacking will be available. This could for example allow the player to damage hostile ships, limit their radar range, access their radar or even take the ships over. The hostile ships would be able to do the same to the player.Special external modules would be needed to begin hacking hostile ships. Internal modules will be added to increase defence against hacking.

Ship StancesWe will be allowing the player to change his ships combat stances.Changing the stance will change the turrets to and from Point Defence mode.currenly we are working with an idea of aggressive, neutral and defensive.Aggressive will toggle all turrets to Non point defence. Neutral will toggle half to point defence.Defensive will toggle all to point defence. Neutral stance will select the ones based on the size of the turrets. Larger turrets have slower rotational rate and that makes them less effective as point defence systems. We've been toying with the idea of allowing the player to control each turret individually, but thats a whole new menu added to the game. It has enough menus. It might be added as a option.

Missiles can in theory work as a point defence system. Proximity explosion to destroy incomming projectile. This could also work for incomming cannon fire.

New GUIWork has begun on a new GUI. More accessable and a cleaner look.This gui will allow the player to control the thrust of his ships directly with a throttle.The drone section will be updated to accomidate the new attack drones.