Procedural variety in NPC fleet tactics

Post

Re: Procedural variety in NPC fleet tactics

#16
Gazz wrote:
ThymineC wrote:Oh, is that how it's going to be done? I was assuming something where you just have two fleets approach each other and all it does is crunch all the numbers together and produces an outcome from it. For instance, Endless Space had a system where you could play out a battle in real-time, or just click a button and "auto-resolve" it.
I don't know.
Are you proposing an even larger timestep of "the entire battle"? It's all a matter of resolution. *shrug*
Time-step implies you'd still be using the same logic as you'd have for regular battles. I'm suggesting having a completely different system where you just have algorithms that try to model the outcomes of battles without any kind of simulation involved. You feed in all the relevant factors about the battle and it computes a result. You'd want to try to make it so that it produces similar outcomes to what would happen if the battle were simulated in real-time, which can be tricky, but probably not as tricky/impossible as if you were simulating using the same logic but over greater time-steps.
Post

Re: Procedural variety in NPC fleet tactics

#17
ThymineC wrote:TYou'd want to try to make it so that it produces similar outcomes to what would happen if the battle were simulated in real-time, which can be tricky, but probably not as tricky/impossible as if you were simulating using the same logic but over greater time-steps.
You'd spend a lot of time to generate an algorithm that kinda gets a fight correct most of the time. Then, you change the fight up a bit, move the units around, add a few more here and there, alter some stats, and the algorithm will completely fail.

You could continually refine this to account for these things, but you'll eventually reach a point where your algorithm takes longer to perform than simply running the battle, and still produces awful results.

There are simply far too many variables to account for.
Post

Re: Procedural variety in NPC fleet tactics

#18
CutterJohn wrote:
ThymineC wrote:TYou'd want to try to make it so that it produces similar outcomes to what would happen if the battle were simulated in real-time, which can be tricky, but probably not as tricky/impossible as if you were simulating using the same logic but over greater time-steps.
You'd spend a lot of time to generate an algorithm that kinda gets a fight correct most of the time. Then, you change the fight up a bit, move the units around, add a few more here and there, alter some stats, and the algorithm will completely fail.

You could continually refine this to account for these things, but you'll eventually reach a point where your algorithm takes longer to perform than simply running the battle, and still produces awful results.

There are simply far too many variables to account for.
You'd use genetic algorithms to refine it for you. And the algorithms don't necessarily need to become more complex (in terms of computer resources) to better model the outcomes of battles. It could just be a matter of tweaking constants and variables.
Post

Re: Procedural variety in NPC fleet tactics

#19
I think the "cultural preference" for fleet doctrine is a pretty good idea. You can still run some level of "survival of the fittest" fleet doctrine testing algorithm for a particular faction given its access to particular resources and see how they adapt their values. In fact, that sounds like a pretty great seed and set of constraints for such an algorithm.

As for approximating battles using an algorithm that can capture tactical advantages and decision-making correctly: I'll believe it when I see it. As I've said before, I'm not a programmer. I don't think it absolutely can't be done, but it sounds like a very hard problem - much harder than hard-coding useful fleet types.
Spacecredentials: looks at stars sometimes, cheated at X-Wing vs TIE Fighter, killed a titan once.
Post

Re: Procedural variety in NPC fleet tactics

#20
Sorry for double-posting. I edited my OP with a proposed algorithm for producing fleet doctrine variety. It really doesn't look like an easy problem to me, but maybe Josh is an algorithm wizard.
Spacecredentials: looks at stars sometimes, cheated at X-Wing vs TIE Fighter, killed a titan once.
Post

Re: Procedural variety in NPC fleet tactics

#21
Can we back up slightly: do we really want to think in terms of "tactical simulation?"

What I mean is, at the tactical level we know the exact ships involved in a fight... so why simulate the result? Maybe a better term for tactical conflict resolution would be "automation" -- that is, the automation of the real actions that those particular ships would likely take. Fire an actual shot, apply actual damage. Josh has already mentioned that the graphics of events can be decoupled from the actions and consequences, so performance of automated fights could be reasonable.

We could call that simulation, but I think of that word applying more at the operational and strategic levels where you're abstracting the aggregate behavior of multiple multi-function ship groups. Simulating a fight at the operational level would compare the number, hull size, weapons, defenses, support wings, and technical sophistication of the ships in opposing battle groups, and then just roll the dice to see who lives, who runs, and who dies. Battle simulation would be similar at the strategic level except that there you're rolling the dice on entire multi-group fleets.

Simulation at those levels makes sense to me. At the tactical level of a single ship or a small group of similar ships, though, why not let the AI of those ship captains play out as it would if they fought the player's ship(s)?

I think the idea of doctrinal tactics (and operations and strategy) still makes sense as fun in LT. Doctrine based on cultural preferences can still guide choices for the design of ships as well as how those ships are typically used. I'm just wondering if simulation of those choices is necessary for truly tactical conflicts, or if the code might as well play out what those ships would actually do and leave the simulation to the larger levels of organization.
Post

Re: Procedural variety in NPC fleet tactics

#22
If the game can automate a few hundred battles for history generation without destroying framerates and still allowing time for all the rest of the region generation to happen, I don't see why not. I guess I think of battles as being very processor-intensive, especially when you've got large fights with lots of things happening, but I could be totally wrong about that.

The closer you get to what the player will actually see, the more intelligent the results will be.
Spacecredentials: looks at stars sometimes, cheated at X-Wing vs TIE Fighter, killed a titan once.
Post

Re: Procedural variety in NPC fleet tactics

#23
Flatfingers wrote:What I mean is, at the tactical level we know the exact ships involved in a fight... so why simulate the result? Maybe a better term for tactical conflict resolution would be "automation" -- that is, the automation of the real actions that those particular ships would likely take. Fire an actual shot, apply actual damage. Josh has already mentioned that the graphics of events can be decoupled from the actions and consequences, so performance of automated fights could be reasonable.
Yeah, you could run the entire battle in background without rendering it, but that wouldn't be as fast or cheap as a turn based abstraction, so you'd have to cut way back on the number of such battles that take place.

Its performance vs fidelity, as always.
Post

Re: Procedural variety in NPC fleet tactics

#24
CutterJohn wrote:Yeah, you could run the entire battle in background without rendering it, but that wouldn't be as fast or cheap as a turn based abstraction, so you'd have to cut way back on the number of such battles that take place.
I'm hesitant to guess on that as it's in the area of performance, where Josh has been known to be highly effective.

One possibility might be to execute player ship engagements at the higher level of fidelity, keeping track of actual stores and damage, but to simulate all fights that are purely between NPCs except the ones that happen to be near the player (for appropriate definitions of "near"). That would properly weight combat results from the player's perspective as high-fidelity while keeping other contests simulated for performance.

This could still get hairy for the players who push the game's edges by obtaining as many ships as possible. Beyond some reasonable number (maybe calculated dynamically based on the performance of the player's computer), even the results of contests involving the player's ships would need to be simulated. Of course, at that point I assume no sane player would be trying to micromanage the exact number of Mk. III Hellweasel torpedoes loaded aboard every single one of the ships of their vast armada, so the loss of fidelity in that case should be acceptable.
CutterJohn wrote:Its performance vs fidelity, as always.
Truth.
Post

Re: Procedural variety in NPC fleet tactics

#25
Flatfingers wrote:One possibility might be to execute player ship engagements at the higher level of fidelity, keeping track of actual stores and damage, but to simulate all fights that are purely between NPCs except the ones that happen to be near the player (for appropriate definitions of "near"). That would properly weight combat results from the player's perspective as high-fidelity while keeping other contests simulated for performance.

This could still get hairy for the players who push the game's edges by obtaining as many ships as possible. Beyond some reasonable number (maybe calculated dynamically based on the performance of the player's computer), even the results of contests involving the player's ships would need to be simulated. Of course, at that point I assume no sane player would be trying to micromanage the exact number of Mk. III Hellweasel torpedoes loaded aboard every single one of the ships of their vast armada, so the loss of fidelity in that case should be acceptable.
I have no particular opinion how out of sight/historical combat should be simulated, my only point was that it is highly unlikely that the simulation would be detailed/accurate enough to enable ThymineC's vision of historical battles 'evolving' an NPCs fleet doctrine. It would work, don't get me wrong, but it would evolve a fleet doctrine that works in the lower resolution abstraction, not realtime combat, which are going to be different no matter how much effort you put into them to align their outcomes.

The only way it would actually work is to simulate all the battles in the same realtime combat engine the player engages in.
Post

Re: Procedural variety in NPC fleet tactics

#26
Well I know what I'm naming all my fighter squadrons now.... "Hellweasels."
Spacecredentials: looks at stars sometimes, cheated at X-Wing vs TIE Fighter, killed a titan once.
Post

Re: Procedural variety in NPC fleet tactics

#27
So I'm gonna double post again. I am a terrible person I know. It's just that sitting in a clinic room is really boring.

Question for everyone: what kind of strategic goals might exist for npcs to organize fleets around? Here's what I can think of:
• Starbase conquest
Planetary conquest
Raiding miners
Escorting miners
Camping trade and supply lanes
Securing space / patrolling for hostiles
Recon of hostile space, defense, fleets
Shutting down hostile recon
Destroying large hostile fleets to diminish threat
Extort or ransom npcs and businesses (thanks thymine)
Take over businesses or other npcs assets (thanks thymine)
Each of these will require different tactics to perform optimally in a given environment. Hopefully we see npcs develop interesting tactics on their own!
Last edited by fatmop on Fri Jan 24, 2014 11:39 am, edited 1 time in total.
Spacecredentials: looks at stars sometimes, cheated at X-Wing vs TIE Fighter, killed a titan once.
Post

Re: Procedural variety in NPC fleet tactics

#28
fatmop wrote:So I'm gonna double post again. I am a terrible person I know. It's just that sitting in a clinic room is really boring.

Question for everyone: what kind of strategic goals might exist for npcs to organize fleets around? Here's what I can think of:
• Starbase conquest
Planetary conquest
Raiding miners
Escorting miners
Camping trade and supply lanes
Securing space / patrolling for hostiles
Recon of hostile space, defense, fleets
Shutting down hostile recon
Destroying large hostile fleets to diminish threat
Each of these will require different tactics to perform optimally in a given environment. Hopefully we see npcs develop interesting tactics on their own!
I'm doing work at university right now so can't say much, but I'm thinking that in the field of business management, fleets could redefine the meaning of "hostile takeover".
Post

Re: Procedural variety in NPC fleet tactics

#29
Updated my list. Taking more suggestions on what you'd like to see npcs decide to do in terms of using fleets!
Spacecredentials: looks at stars sometimes, cheated at X-Wing vs TIE Fighter, killed a titan once.
Post

Re: Procedural variety in NPC fleet tactics

#30
fatmop wrote:Question for everyone: what kind of strategic goals might exist for npcs to organize fleets around?
I like the question... but I would say that most (though not all) of the suggestions made so far fall into the Operational or Tactical area of activity. That doesn't make any of them "bad" or not worth doing; it's just that the question was specifically about strategic goals.

As a quick explanation, here's one way to describe the different levels of organized action:
• Tactics: short-term, small-unit actions in which the local environment can affect the outcome (engagements)
• Operations: medium-term engagements coordinated to achieve a regional objective (battles)
• Strategy: operations logistically supported to achieve long-term dominance across a broad front (campaigns)
• Grand Strategy: very-long-term multi-modal actions intended to achieve complete superiority (wars)
(I've written in more detail about these levels here, here, and here.)

As quick examples of these in a military context: tactics is about using the local environment to win an immediate fight; operations is about controlling a region by picking the right fights in the right places; strategy is about setting plans to obtain, protect, and exploit resources to support combined-arms operations over a large portion of the contested territory; and grand strategy is the use of multiple forms of coercive power (military force and diplomatic persuasion) to insure the survival and expansion of an entire culture.

To put it another way: Han Solo used clever environmental tactics (pretending to be garbage, entering an asteroid field) to avoid immediate capture by an Imperial fleet; Lando Calrissian used operations to manage mining activity on Bespin (before having to use those operations to get out of a bad deal); Yoda used strategy to direct the clone troops on multiple fronts spanning many star systems against General Grievous's droid army (until Order 66 was invoked); and Senator Palpatine skillfully used grand strategy to join together military, political and diplomatic strategies (as well as the Dark Side of the Force) to make it inevitable that he become Chancellor and, ultimately, Emperor.

And to put it yet one more way: tactics in LT is about acting personally and immediately within one star system; operations is about acting over the near term as an organization (through a fleet of a few NPCs) within one sector; and strategy is about acting over the long term as a civilization (through many NPCs and a deep chain of command) across multiple sectors. (Grand strategy is what you decide do as the player to control anything and everything in the game world! )

So, with all those broad definitions of the different levels in mind, here's how I would revise and extend the gameplay actions we might be able to enjoy in LT:
• TACTICAL (ship)
• Individual ship destruction contracts (your personal ship shooting other ships)
• Individual ship raid actions to support a faction's operational goals
• Starbase conquest
• Escort actions
• Recon of hostile space, defense, fleets
• Shut down hostile recon
• Extort or ransom NPCs and businesses
• Immediate direction of one small fleet to dominate a star system
• Start a production line
• Perform a basic planetary survey
• Negotiate a delivery of cargo or a speculative trade
• Research a new base technology
• OPERATIONAL (fleet)
• Camp trade and supply lanes
• Secure space / patrolling for hostiles
• Planetary conquest (for the first planet)
• Direct one large or several small fleets to dominate a sector
• Perceive patterns of action by local competitors
• Take over businesses or other NPC assets
• Manage several different kinds of production lines across several star systems
• Survey physical and social aspects of planets in multiple systems in a sector
• Define a plan for researching particular base techs and modifier techs
• Create a trading sequence to maximize speculative profit across multiple systems
• Negotiate temporary agreements on behalf of large organizations
• STRATEGIC (civilization)
• Planetary conquest (for multiple planets)
• Careful direction of multiple large fleets across several multi-sector fronts
• Perceive large-scale patterns of force over space and time by other civilizations
• Manage a megacorporation with multiple production modes spanning several sectors
• Combine research and production organizations to optimize fleet power
• Build a detailed map showing resource change patterns across multiple sectors
• Negotiate long-term diplomatic agreements with other civilizations
If some of these ideas are used, then in practice it's unlikely that there will be hard-and-fast divisions between these levels of play. You won't be doing only tactical stuff one day and then boom, the next day it's all operational gameplay -- there'll be a mix as you increase in power and understanding, and you should be free to choose whether you enjoy the gameplay at the higher level of complexity or if you'd rather focus on improving how you're doing at your current level of organization.

I hope this suggested structure is helpful for thinking about the different gameplay possibilities as a player's strength and understanding increase. Any other ideas for what players might enjoy doing that fits Josh's vision for a Freelancer-like game with RPG elements, sorted by the level of organization required?

Online Now

Users browsing this forum: No registered users and 4 guests