Ship-Categories
Forum » Fragmented Galaxy / Stratagy » Ship-Categories
Started by: PhenocaPhenoca
On: 1250003172|%e %b %Y, %H:%M %Z|agohover
Number of posts: 2
rss icon RSS: New posts
Ship-Categories
PhenocaPhenoca 1250003172|%e %b %Y, %H:%M %Z|agohover

Not to be confused with classes (e.g. transport, destroyer, frigate, dreadnought).

Categories are basically for the movement & targetting AI. A category is like a way to categorize different sets of priorities for the AI. When customizing your AI, you can choose both a category and a tactic for your ship. The action must fall into the ship-category, so I have made a list of a possible method of categorizing all tactics into five categories:

"DPS" and "Tanking" categories are acknowledged by everyone. Yet instead of the other categories being 'long-range' and 'short-range', I would like to use 'CC', 'Kiting', and 'Support'.

Generic (all ships do this regardless of their category)
- hit highest firepower enemies (weighted at a specific range of enemy weaponry (see Targeting Modifier) such as hitting the enemy ship that has highest power at point blank range)
- hit for the highest damage (your ship will aim at targets that are within range)
- maintain formation
- do special actions/tactics listed below (may affect formation)

DPS (Damage-Per-Second)
- chase or fire-upon highest firepower enemies
- chase or fire-upon highest firepower with weakest hull
- chase or fire-upon highest firepower with weakest shields
- chase lowest firepower with strongest hull
- fire-upon strongest shields
- chase or fire-upon enemy ships of a specific category (e.g. category: Support, or ignore category: Tanking)
- chase or fire-upon ships with specific components (e.g. troop-transport)
- fire-upon fastest enemy with weakest hull
- chase fastest enemy is almost destroyed (has taken the most damage)
- fire-upon retreating ships that are escaping from battle (Aside: in other cases, by "retreat" I mean "distance yourself from your target", but in this case I mean "attempt to escape the battle". What are the conditions for retreating with your entire fleet? If two high-velocity fleets meet, then the battle could end quickly, because it is unrealistic to have the ships stop.)
- orbit any of the above
- strafe any of the above
- fly to intercept any of the above
- this is a list of what comes to mind; this list should be made more concise if it is used by players to plan ship-tactics, or many of the actions should be until players can unlock them (by gaining experience in battle)

Tanking (absorbing damage)
- take damage for friendly ships (see line-of-sight)
- aggro enemy ships (i.e. convince enemy's AI fire-upon this ship)
- weak hull but strong shields configuration (weak hull aggros enemy)
- intercept enemy weapons with own hull (pseudo-code: disables enemy weapons yet takes damage from this; add animations into client)
- retreat to (specific ship) when hull integrity falls below X%
- attempt to ram (this would require good animation and pathfinding)

CC (Crowd-Control)
- intercept nearby weapons (see line-of-sight)
- AoE (Area-of-Effect) damage (vs. clustered enemy formations)
- AoE (Area-of-Effect) proximity-disruptor (temporarily disables engines and/or shields)
- disrupt enemy formation (magnetism?)
- disrupt enemy movement (tow-cables?)
- attach two enemy ships (with tow-cables?)
- slow enemy ships
- increase inertia of enemy ship
- destroy or lay minefield

Kiting/Pulling (using distance to your advantage)
- lure enemies away from (select a friendly ship)
- dodge projectiles
- deflect beam-weapons
- disable engines of non-shielded ships
- interfere with components (e.g. get in line-of-sight or repair ships, or counterract category: Crowd-Control actions (cutting tow cables, destroying magnetic/electronic/vibrational disruptors, close artificial gravity-wells, etc.)
- slow down movement of enemy category: Tanking
- retreat when shields take damage
- follow repair-ship when hull takes damage
- follow (select a friendly ship) when X% of friendly fleet is destroyed
- retreat when distance to target is less than X
- misinformation: temporarily disable a friendly shield
- misinformation: temporarily decrease firepower of friendly category: DPS (shouldn't do this when it is in range)
- misinformation: temporarily disable a friendly engine (recall: "fire upon fastest")
- misinformation: disguise category of a friendly ship (as another category)
- follow closest (select an enemy category) when X% of friendly fleet is destroyed
- fly with a non-functional (and half-price) component, such as an expensive component (that the enemy will target)

Support (anything that does not fit into the above categories)
- carry troops/civilians
- carry artifacts
- repair damaged components
- repair friendly hulls
- repair friendly shields
- cool-down overheated ships (if this is implemented)
- supply ammunition (if this is implemented)
- disable enemy misinformation (heh heh heh - "Sir, the ship we are chasing has its engines disabled; should we call-off the attack?" RE: "No, keep firing. It has just disabled its engines so that we'd forget it was retreating to its repair ships."
- recognize enemy kiting actions
- recognize repetition (if a friendly ship never catches-up to the ship that it is chasing) and give different orders
- salvage wreckages (if this is implemented)
- temporarily increase acceleration of friendly ships (magnetic attraction)
- retrieve escape-pods (probably good for morale, and if Captain-Exp. is implemented)
- increase planetary morale-boost from battle (news-reporters and famous people)

Tow-cable: The stuff Luke Skywalker's and Wedge Antilles use in Battle for Hoth!

Line-of-sight: I do not know how this will work, so instead of having a "line-of-sight" for weaponry, the tanks heal friendly ships while sacrificing their own hull, and crowd-control will statistically-lower the damage taken from one direction. This means that while CC ships appear to intercept weaponry, they are actually statistically augmenting the shields of friendly ships, whenever a projectile hits a side of the friendly-ship that is facing the CC-ship.

By the way - can we have a ship design that looks like a real-life space-station, with engines stuck-on? It would look so funny to see one of those fake centrifugal-gravity stations (like with the rotating ring?) with turrets firing out the sides :P

By the way - can turrets shoot through their own ship..? I have never considered… Line-of-sight :(
We need to find-out how turrets aim. One option is placing all turrets on the top of the ship, and then spinning the ship whenever its weaponry-components switch targets. Do turrets target different ships, or do they all fire at the same target? Does each ship have only one kind of weaponry-component? Having one weapon per ship would simplify the AI, but if there were multiple weapons per ship, then the only way I see the "Line-of-sight" working, is if every ship could move its turrets like a rubix-cube… And then we could call the game "Borg Wars" :P

Aside: Non-shielded ships carrying fossil-fuels or explosives/ammunition should be… In risk of receiving Critical Hits.

Assumption: The AI determines all in-battle orders, and the above actions are only "programmed" by the player, by having player-set priorities for each ship. The online player can have an advantage by ordering a retreat, and then optimizing his formation before re-engaging the enemy fleet.

So, all of the above is to make the interface look as cool as we want (the ship-animations can have complex maneouvres) while the actual battle is all statistical. Have you ever heard of those games were you click "Fight", and the computer says, "You take 2 Damage. You deal 2 Damage. You take 2 Damage. You deal 2 Damage. You Win."? Well - the Fragmented Galaxy server is basically doing this, so the processing is simplified, and the formation templates are simplified (category: DPS being simplest), but the actual ships in the game will be flying circles around each other with the weapon-animations being add-ons (the server treats travel-time for missiles the same way as it treats lasers - which means we have to work a lot on the missile-animations, but any display 'bugs' will not affect the outcome of the battle).

That is everything. Thank you for viewing my ideas on ship-combat. The above ideas are what have been scaring me from development, as well as being among my top interests in FG. I am a fan of stellar sci-fi combat, and FG is a means of realizing cool stellar combat. I would like to see some of the above ideas accepted, even if my concepts of inter-fleet combat need rethinking.

Thanks for encouraging me to get back into the development, Craig :) I felt I had to get all of the formations-ideas up-front if I was going to understand that Ship-Formations doc :P
To accept new ideas, I have to clear a space in my head for it. My head now has some empty space, which was needed :)

last edited on 1250006323|%e %b %Y, %H:%M %Z|agohover by Phenoca + show more
unfold Ship-Categories by PhenocaPhenoca, 1250003172|%e %b %Y, %H:%M %Z|agohover
Re: Ship-Categories
Craig MacomberCraig Macomber 1250016895|%e %b %Y, %H:%M %Z|agohover

I personally dislike the tanking concept. Classically is is used combined with the idea of aggro. It is a deception tactic, where you try to fake out the enemy so they attack your tank, which is the stupidest thing they can do. Honestly, I don't want to make my AI that dumb. Good AI (and smart people in RPGs) ignores the tank and kill the DPS and support first. Yes, aggro can be used as a mechanic, but I want to avoid it. To get them to attack one of your ships, you actually have to convince their AI that that particular ship is the best target, which will only be true if it really is a good target (the AI is smart) and thus it is only attacked if it is a bad tank. Thus, I don't think we should have a tank in the traditional sense. I think you realized this distinction, however AI can hardly make a ship a tank. Short range area effect ability like DPS, shield disruption, and targeting disruption might be able to get a ship into a tank role. I think you understand this, I just want to make sure it is clear to everyone. Getting a ship to tank is pretty much impossible, but you can try!

Your concept of how such roles/tactics would relate to priorities is very solid, however you have mixed in some things that are not really priorities, more of abilities. They are some very interesting abilities though! I think it deserves to get split into two lists, abilities, and priorities for how to use various abilities. There can be multiple ways to use abilities, and priories are not tied to specific abilities, but some work well together: (Ex, ability: area effect shield reduction, priority: change into swarms to priority targets with high shields).

As far as your specific tactics, I think they will be better defined once you strip out the abilities and have just priorities. I think including those tactics as defaults would be good, though we should clearly allow people to edit them and make their own.

I should also note something; I think that ships can figure out their own priorities pretty well, so there should be some control, a weighting, for various AI configurations (tactics) for how much the ship uses the tactic values vs. the ones computed from its own abilities. Another approach, which is simpler to use is to allow the user set values as weights (above or below 1 to encourage or discourage) and simply multiply them by the ships computed values. I think this is the best approach as it allows ships to still respond to changing situations and be as strongly influenced by the configurations as the player wants. Thus generic simply puts all the priority weights at 1.

Well, thanks for the post. It really helped me get a good hold on how the AI will work, and how the player will control it. Now I want to apply this in one more way for you. One priority (or weight from the players view) would be "break formation - aggressive". A ship will be continuously computing a value for this (and other associated priorities that it can cooperate with), and be comparing it to the stay in formation priority. If the break formation value (after being multiplied by the player set weight) exceeds stay in formation, the ship will decide to break formation.

Now lets apply it to a (sub) formation. Suppose you have a small attack formation (maybe a few fighters, and a fast CC ship). You can give this formation the same AI, and it may decide to break from its larger containing formation, and attack. To aid in the proper application of such strategies, there is yet another way to apply AI. Each formation is made of nodes that hold ship or sun formations, and you can apply wights to the nodes. Thus, you can encourage specific parts of a formation (say the front lines) to break formation and attack by setting greater than 1 "break formation - aggressive" weights on those nodes. Furthermore, you can put low weights for breaking formation on the ships in the sub formation so that the sub formation will stick together if it breaks from the larger formation.

Potentially, you can put a sub formation within a sub formation within a sub formation ad infinitum, and it works the same at each level, which is the same as the ship level, and the same as the node level. All of it comes down to applying a bunch of priority weights. I hope that makes sense. Sometimes recursive constructs are hard to present in an easy to understand way.

unfold Re: Ship-Categories by Craig MacomberCraig Macomber, 1250016895|%e %b %Y, %H:%M %Z|agohover
New post
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License