Jump to content

  • Log In with Google      Sign In   
  • Create Account

Interested in a FREE copy of HTML5 game maker Construct 2?

We'll be giving away three Personal Edition licences in next Tuesday's GDNet Direct email newsletter!

Sign up from the right-hand sidebar on our homepage and read Tuesday's newsletter for details!


We're also offering banner ads on our site from just $5! 1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


AI in a 4X Game Combat (see prototype video)


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
20 replies to this topic

#1 Orymus3   Crossbones+   -  Reputation: 9959

Like
1Likes
Like

Posted 11 October 2013 - 12:31 PM

Greetings fellow developers!
I'm currently in the process of building a 4X game, and I'd be in need of input in regards to the Combat Playback module.
 
Context
This module is named Combat Playback, because there is no user input during combat sequences. They are generated when a turn is processed on the backend-side, and returned to the player. The Combat Playback simply displays the outcome.
When I refer to Combat Playback in this post, I am referring to both the 'frontend display' and the 'backend logic' of the outcome.
 
Reference
Here's a Video that I've posted on youtube. It shows the progress that's been made towards building the Combat Playback prototype. Most of the rest of the game is already well underway, but the Combat Playback is, but an embryo at this stage.
 


 

Design Questions
There's a number of questions that I'd like to raise here, and please don't feel limited by them to provide feedback (so long as you understand that this is early work, without any form of polish, and with a lot of missing assets).
 
As you can see in the fight, ships will automatically acquire a target. For the moment being, this target is always the 'nearest enemy ship'. This was made both because it's my first stab at this, but also because I don't want the AI to be something players rage about. If the 'wrong AI' kicks in, I feel players will get mad.
 
 
Question # 1 - Should there be more AI types?
Specifically, should I have ships target the 'weakest', or retain their target until it is dead?
 
Question # 2 - How should I choose which AI to bind to which ship?
Assuming there should be more than one AI type, how should I dictate which AI does what?
Here's a few options I've got right now:
 
A - Contextual: the ship tries to evaluate what should be done, and assigns
itself a 'role' in this battle.
Pros: This could lead to 'intelligent' decision-making
Cons: This could easily lead to verrrrryy dumb decision-making, and would require a lot more effort
 
B - Ship-centric: When choosing what ship to build in the game, it also states its 'AI pattern' (aka how the ship behaves)
Pros: Clean, easy, and recognizable by the player.
Cons: Very limitating, and some player choices could be considered 'bad' (not seeing that a ship attacks only the nearest ship and equipping long-range weaponry could lead to sad cornercases).
  
Question # 3 - How should the AI respond to 'being in firing range'
The prototype also assumes specific AIs for movement and attack. The basic AI right now is to move until one weapon is in range of the closest enemy, and fire (idle).
Each ship will be equipped with possibly more than one weapon, each with varying ranges.
I'm wondering how each ship should behave assuming that.
A few 'sketches' of what I thought could work well:

  • As long as a ship is not within range / is not the current target of any other ship, it will stop moving as soon as at least 1 weapon is in firing range. The idea here is that it allows 'artillery-type' ships to take full advantage of their attack range without moving closer and endanger themselves.
  • As soon as a ship is the target of another ship and in being fired at, it seeks to move as close as its 'shortest ranged' weapon. The idea is to have it perform its optimal amount of damage.
  • Once all of its weapons are in firing range, it assumes a 'circular orbit' around the target. The idea is to avoid fire from 'other' enemies that might want to acquire it as well and minimize the chances of 2v1s. It's also a good way to avoid what can be seen in the video: ships stopping to move for no apparent reason, which doesn't look very exciting.

 
That's it for now. I'll add more if anything pops-up smile.png
 
Thanks!


Edited by Orymus3, 19 October 2013 - 08:38 PM.


Sponsor:

#2 mippy   Members   -  Reputation: 1004

Like
1Likes
Like

Posted 12 October 2013 - 03:56 AM

Is the end result of the combat decided using a simulation/calculations during the combat playback, or is the end result already defined before the replay begins?


Edited by mipmap, 12 October 2013 - 04:00 AM.


#3 Acharis   Crossbones+   -  Reputation: 3877

Like
1Likes
Like

Posted 12 October 2013 - 04:23 AM

I'm a big fan of auto ressolved combat (especially for 4x games). And I say that you are sweating over it way, way too much.

 

First, don't think in terms of AI but in terms of an algorithm. Combat mechanics doesn't really need an AI (OK, it does, but your mindset should work as if it didn't :D).

 

About annoyance due to poor AI (the key point). It's true poor AI is annyoying, BUT (and that's a big but with capital letters), it's annoying only if the AI is an option to replace players manual action (like pathfinding) or if it hinders the decision made by the player. In a situation when there are ships auto firing and auto moving and auto everything it's not annoying even if these are stupid. Because you don't "lose" anything. That's how the game is, the ships (admirals) are stupid and fire at each other in a stupid way. You can't affect it, it does not affect you in any "unfair" way (unlike if you send troops and they decide to go via middle of the swamps ignoring a road nearby, which would foil your plans as a player, since you expected something completely different). There is no connection between combat AI and player's options, therefore the player can't be annoyed.

 

 

How I would do it.

First I would just do random attacks, or something very simple like iterating through all enemies and fire at one with the highest chance to hit.

Next I would do moving at the "optimum firing range" (trivial to determine based on weapons available).

Next I would probably divide ships into 2 categories, standard and long range and make them behave differently (but only if the optimum firing range mechanic was not enough), mainly the long range ones should try to keep the distance.

 

Also, a controversial view, I would say that it's even BETTER if the AI is not perfect for auto combat. Like, would you want half of the ships blow up at the very beginning of the combat due to concentrated fire (since that's the optimal decision)? It's more "cinematic" if they exchange blows over time and let them blow "later".

 

Overall, the video you shown seems completely sufficient to me, I would keep it as it is.


Europe1300.eu - Historical Realistic Medieval Sim (RELEASED!)


#4 Orymus3   Crossbones+   -  Reputation: 9959

Like
1Likes
Like

Posted 12 October 2013 - 12:22 PM

Is the end result of the combat decided using a simulation/calculations during the combat playback, or is the end result already defined before the replay begins?

 

The end-result is calculated backend-side as the turn is processed. Therefore, when the fight 'begins playback', the outcome is already determines. You could skip the playback if you want, but I'm hoping to use it as a means for players to learn more about what went wrong/right.

 


About annoyance due to poor AI (the key point). It's true poor AI is annyoying, BUT (and that's a big but with capital letters), it's annoying only if the AI is an option to replace players manual action (like pathfinding) or if it hinders the decision made by the player. In a situation when there are ships auto firing and auto moving and auto everything it's not annoying even if these are stupid. Because you don't "lose" anything. That's how the game is, the ships (admirals) are stupid and fire at each other in a stupid way. You can't affect it, it does not affect you in any "unfair" way (unlike if you send troops and they decide to go via middle of the swamps ignoring a road nearby, which would foil your plans as a player, since you expected something completely different). There is no connection between combat AI and player's options, therefore the player can't be annoyed.

 

So, in essence, the current implementation would be satisfactory pending these:

 


First I would just do random attacks, or something very simple like iterating through all enemies and fire at one with the highest chance to hit.

So instead of firing at the closest, try to fire at the weakest enemy that's currently in range? That'd work too.

 


Next I would do moving at the "optimum firing range" (trivial to determine based on weapons available).

What is the optimum range?

Let's assume I have a missile launcher with range 1000, a laser with range 500 and a cannon with range 300. Would I move all the way to ==300 distance from enemy?

 


Next I would probably divide ships into 2 categories, standard and long range and make them behave differently (but only if the optimum firing range mechanic was not enough), mainly the long range ones should try to keep the distance.

How exactly?

 


Also, a controversial view, I would say that it's even BETTER if the AI is not perfect for auto combat. Like, would you want half of the ships blow up at the very beginning of the combat due to concentrated fire (since that's the optimal decision)? It's more "cinematic" if they exchange blows over time and let them blow "later".

I tend to agree. This is one of the reasons I wanted ships to assume 'orbits'. The key idea here is that it would force ships to reconsider the AI: as ships continue moving, the target selection AI keeps re-evaluating and switching targets. Say, I'm a tanker, taking on another tanker head-on, but some skirmisher that is orbiting another ship just comes in range, I would probably divert my attention for a sec just to get an easy kill and reduce the overall firepower of my opponent.

 


Overall, the video you shown seems completely sufficient to me, I would keep it as it is.

So, you're ok with ships 'standing idle' facing one another? To me that feels very... dull to watch?

 

Thanks for the input.



#5 mippy   Members   -  Reputation: 1004

Like
2Likes
Like

Posted 12 October 2013 - 02:27 PM

If the battle should be a "inspector" for the player to see what went right/wrong, the animations together with the explosions should reflect the calculations you are using to determine victory directly. I think you should also add "floating" labels with numbers and such, life meters and other things - so that the players can inspect the stats. That would add the view-value to the "scene". Making the ships move around and other tricks will just be confusing since it would give the player cues that movement matters without being under player control. 


Edited by mipmap, 12 October 2013 - 02:29 PM.


#6 AngleWyrm   Members   -  Reputation: 554

Like
2Likes
Like

Posted 12 October 2013 - 03:29 PM

One way to improve this fleet vs fleet combat could be by having an AI "player" at a higher level than the individual ships; a fleet commander that directs the targetting.

 

The way to win is to destroy the enemy's ability to wage war as quickly as possible. So the AI player allocates ships to targets in a manner that eliminates the most enemy firepower in the shortest amount of time.

 

AI "Personality" would be how much risk of failure the commander is willing to gamble, when estimating firepower to destroy enemy assets. For example, AI fleet commander George might be willing to be wrong one time in five. But AI commander Ricktor insists on being wrong only one time in twenty. So Ricktor's estimate of necessary firepower to do the job is going to be much higher than George. Ricktor will frequently allocate lots of overkill, wasting some damage potential. But George will allocate lots of underkill, and fail to kill ships as quickly as possible.

 

An alternative to the Fleet Commander solution is to use a system of contracts. First unit sees a target to kill, estimates the firepower necessary, and puts up a 'contract' to kill the target. Next unit checks the contracts list, and makes a bid, offering his firepower and time-to-target. Same thing with all units.

On the next pass, the first unit sorts the bidders according to ability, and selects the top guys who can make it happen. He then messages them that they have been selected for the job (making it a binding contract), and marks the contract closed.

On each pass, units check first if they are in a contract, then if the contract needs to be re-evaluated (like if a team member can't make it), and then either work on executing their contract, bidding on another contract, or making a new one.


Edited by AngleWyrm, 12 October 2013 - 04:01 PM.

--"I'm not at home right now, but" = lights on, but no ones home

#7 Acharis   Crossbones+   -  Reputation: 3877

Like
1Likes
Like

Posted 12 October 2013 - 03:35 PM

Yeah, overall I find it all satisfactory. Regardless how exatly you implement it. What really matters is the representation, if I am able to determine what's wrong with my fleet setup when watching the battle. The rest is irrelevant (to me as a player).

 

Have you played Endless Space?

 

Optimum range - won't you have preset classes of ships with certain main guns? I assumed it would be compatible with your other topics? In such case the optimal range would be trivial (predefined).

But if you want to do it the hard way (allowing the player to put any weapon on any ship class) I would just compare all range scenarios vs all range scenarios of the currently targetted enemy (the range at which you get the best firepower compared to enemy is the optimal one)..


Europe1300.eu - Historical Realistic Medieval Sim (RELEASED!)


#8 Orymus3   Crossbones+   -  Reputation: 9959

Like
0Likes
Like

Posted 12 October 2013 - 07:22 PM

If the battle should be a "inspector" for the player to see what went right/wrong, the animations together with the explosions should reflect the calculations you are using to determine victory directly. I think you should also add "floating" labels with numbers and such, life meters and other things - so that the players can inspect the stats. That would add the view-value to the "scene". Making the ships move around and other tricks will just be confusing since it would give the player cues that movement matters without being under player control. 

 

We were indeed planning on adding these feedbacks ('hp' bar on top of each ship, etc.).

By reflecting the calculations, do you mean I should put damage numbers on top of every hit (a bit ala jRPGs?)

 

Regarding movement, I can 'make it matter' to the backend computation of a fight. I have some stats at the ready that I can use to leverage that:

Currently the ship's direction updates to the direction it needs to take, but I could make it rotate slowly. Thus, more manoeuvrable ships would have an easier time getting into position. Though the player has 'no control' over that, they'd quickly understand the value of manoeuvrability, and that very expensive and heavy warships that have a hard time manoeuvering can't win you every fight. Thus, the playback wouldn't be showing unnecessary data.

Yet, I believe I see your point: orbiting just for the sake of it is a goodie I don't need. The clear direction of this combat playback was to avoid the 'wow-factor' and focus on strategy. Putting more 'wow' stuff would feel like making battle chess for no apparent reason.

 


One way to improve this fleet vs fleet combat could be by having an AI "player" at a higher level than the individual ships; a fleet commander that directs the targetting.



The way to win is to destroy the enemy's ability to wage war as quickly as possible. So the AI player allocates ships to targets in a manner that eliminates the most enemy firepower in the shortest amount of time.



AI "Personality" would be how much risk of failure the commander is willing to gamble, when estimating firepower to destroy enemy assets. For example, AI fleet commander George might be willing to be wrong one time in five. But AI commander Ricktor insists on being wrong only one time in twenty. So Ricktor's estimate of necessary firepower to do the job is going to be much higher than George. Ricktor will frequently allocate lots of overkill, wasting some damage potential. But George will allocate lots of underkill, and fail to kill ships as quickly as possible.

 

That sounded like a great idea, but I feel its a bit out of scope. It wouldn't 'fit' well in my game if I allowed the player to choose their AI general, and it would be even less appealing if it was automatically determined, say, based on the species they are playing, especially if it turns out that one general is simply inferior than another in some situations and the player has realized that. Great idea nonetheless, in a different implementation.

 


An alternative to the Fleet Commander solution is to use a system of contracts. First unit sees a target to kill, estimates the firepower necessary, and puts up a 'contract' to kill the target. Next unit checks the contracts list, and makes a bid, offering his firepower and time-to-target. Same thing with all units.

On the next pass, the first unit sorts the bidders according to ability, and selects the top guys who can make it happen. He then messages them that they have been selected for the job (making it a binding contract), and marks the contract closed.

On each pass, units check first if they are in a contract, then if the contract needs to be re-evaluated (like if a team member can't make it), and then either work on executing their contract, bidding on another contract, or making a new one.

 

Interesting, but I'm assuming that all ships are subject to come in range of an enemy. What would be more important: fulfilling a contract, or creating a new one?

What if the issuing ship has moved in range of a distant ship, and that the ship that needs to take on that contract is at the other end of the battlefield, and needs to 'move through' a bunch of enemies to get there. Would it still fulfill its contract while briefly moving through enemies? It feels like an inefficient way to wage war?

 


Have you played Endless Space?

On my Steam Wishlist for a while. I've got a number of concerns with what I've seen, so I'm not very eager to play it, though, for research purposes, I imagine I won't really have a choice :)

 


Optimum range - won't you have preset classes of ships with certain main guns? I assumed it would be compatible with your other topics? In such case the optimal range would be trivial (predefined).

But if you want to do it the hard way (allowing the player to put any weapon on any ship class) I would just compare all range scenarios vs all range scenarios of the currently targetted enemy (the range at which you get the best firepower compared to enemy is the optimal one)..

Simple, yet effective. I wasn't sure I wanted ships to factor their target's capabilities. This is giving a lot of information that you may not have in these scenarios. It feels like when Warf/Data scans an enemy ship from an unknown species, with material from unknown origin, but is able to say with certainty that their 'armament is of equal strength to the enterprise'.  But I'll give it some thought, as this won't be exposed to the player.

 

Thanks all!



#9 Acharis   Crossbones+   -  Reputation: 3877

Like
0Likes
Like

Posted 13 October 2013 - 03:03 AM


Acharis, on 12 Oct 2013 - 11:35 PM, said:


Have you played Endless Space?

On my Steam Wishlist for a while. I've got a number of concerns with what I've seen, so I'm not very eager to play it, though, for research purposes, I imagine I won't really have a choice smile.png
Nah, just watch a youtube video about battle. There are not that many uniques stuff in that game (other than battle, planetary resources in Civ5 style, invasion mechanic).

 

* there is a fleet weight limit of 12-15 (the only real purpose is to make the combat sequence look good with fewer ship, I guess :D)

* the battle is made of 3 phases (long, medium, short range)

* each phase you can "play" a tactical card (I usually played the same one, that part could as well not exist to me :))

* each phase you could retreat (that was important)

 

And that's it...


Europe1300.eu - Historical Realistic Medieval Sim (RELEASED!)


#10 Orymus3   Crossbones+   -  Reputation: 9959

Like
0Likes
Like

Posted 13 October 2013 - 05:57 AM

Because of the way my game is engineered I can't have phases. However I have a timer. Any ship that survives the timer gets to act on their turn as normal (escape). Then fight resumes on the next turn if its still relevant.
That part has yet to be implemented however...

So in a way my system is similar... a bit. But I dont like introducing gamey mechanics (cards).

#11 AngleWyrm   Members   -  Reputation: 554

Like
0Likes
Like

Posted 13 October 2013 - 05:26 PM


An alternative to the Fleet Commander solution is to use a system of contracts. First unit sees a target to kill, estimates the firepower necessary, and puts up a 'contract' to kill the target. Next unit checks the contracts list, and makes a bid, offering his firepower and time-to-target. Same thing with all units.

On the next pass, the first unit sorts the bidders according to ability, and selects the top guys who can make it happen. He then messages them that they have been selected for the job (making it a binding contract), and marks the contract closed.

On each pass, units check first if they are in a contract, then if the contract needs to be re-evaluated (like if a team member can't make it), and then either work on executing their contract, bidding on another contract, or making a new one.

Interesting, but I'm assuming that all ships are subject to come in range of an enemy. What would be more important: fulfilling a contract, or creating a new one?

What if the issuing ship has moved in range of a distant ship, and that the ship that needs to take on that contract is at the other end of the battlefield, and needs to 'move through' a bunch of enemies to get there. Would it still fulfill its contract while briefly moving through enemies? It feels like an inefficient way to wage war?

Damage delivery includes time to target as part of the bid; for example, a given ship proposes that it can deliver 150 dps to a given target, beginning 6 seconds from now. Choosing which contract to fulfill is an optimization problem. For more details on the implementation of this method, see the book Multi-Agent Systems:A Modern Approach.

 

 


AI "Personality" would be how much risk of failure the commander is willing to gamble, when estimating firepower to destroy enemy assets. For example, AI fleet commander George might be willing to be wrong one time in five. But AI commander Ricktor insists on being wrong only one time in twenty. So Ricktor's estimate of necessary firepower to do the job is going to be much higher than George. Ricktor will frequently allocate lots of overkill, wasting some damage potential. But George will allocate lots of underkill, and fail to kill ships as quickly as possible.

That sounded like a great idea, but I feel its a bit out of scope. It wouldn't 'fit' well in my game if I allowed the player to choose their AI general, and it would be even less appealing if it was automatically determined, say, based on the species they are playing, especially if it turns out that one general is simply inferior than another in some situations and the player has realized that. Great idea nonetheless, in a different implementation.

If your game doesn't use random numbers -- no ToHit or random damage range -- then yes, that's probably true. For that system it is possible to simply know a ship with 100 hp requires 100 damage applied to destroy it. Massive Assault was a strategy game like that.

 

But if the game involves some chance of failure to hit, or some variance in the amount of damage dealt by weapons, then estimating the firepower necessary to eliminate a target requires a decision on how "sure" you wish to be about killing a ship. It's no longer possible to simply say 100 dmg is enough to kill a 100 hp ship. Sometimes that will fail, because of the chance of missing or low damage output. It then becomes a question of how much overkill should be assigned to be "sure" of a kill. Maybe you decide to add 10% extra firepower just to be sure. And that's the "personality" aspect I was mentioning, the definition of "sure," also called confidence.


Edited by AngleWyrm, 14 October 2013 - 10:03 AM.

--"I'm not at home right now, but" = lights on, but no ones home

#12 Acharis   Crossbones+   -  Reputation: 3877

Like
1Likes
Like

Posted 14 October 2013 - 06:09 AM

Because of the way my game is engineered I can't have phases. However I have a timer. Any ship that survives the timer gets to act on their turn as normal (escape). Then fight resumes on the next turn if its still relevant.
That part has yet to be implemented however...

So in a way my system is similar... a bit. But I dont like introducing gamey mechanics (cards).

I didn't mean "look at Space Empires because it's so great and you should steal ideas from them", more like "look, they made this sucky combat system and it still works, so don't worry so much".

 

Personally, I find your video more attractive than their combat system. In yours there is a hope I can make heads and tails at what shoot and what and why it blew when it blew. I know, majority would not agree and prefer the high cinematic sequence of SE, no doubt. But as a player I see more tastiness in your video :)

 

The direction I advise is take the combat from MoO2 and make it auto combat, add rewind/pause feature of some sort (or do it some other way, so I can see clearly what's happening), also you could reduce the number of ships total in a battle (like 15 is max for me, alt least for capital ships, you can make a swarm of small chaff, no problem). And overall, let me watch the battle at MY PACE, and give me tools to analyse it over and over again why the combat turned out the way it turned.


Europe1300.eu - Historical Realistic Medieval Sim (RELEASED!)


#13 TechnoGoth   Crossbones+   -  Reputation: 2787

Like
0Likes
Like

Posted 15 October 2013 - 08:41 AM

I think I fleet commander would be a good idea.  As it looks now each ship is acting independently attacking the the nearest target and ganging up only by chance.  From the video it looks like one ship is clearly superior to the rest in terms of damage dealing and yet it is barely targeted by the other side allowing it decimate the lefts fleet.  Which would frustrate players since if they were in command they would probably try and take it down first before mopping up the rest.

 

With a fleet commander approach you coordinate the fleet as a whole moving them to deal with the threats as appropriate. They way I would work it is to have a series of slots in that make up the commander AI where you place simple ai tactics that alter how it handles the outcome of battle.

 

For instance you might have a choice of three weapon tactics:

  • Fire Main Guns -  Ships will try and remain within range of using their main guns on a target advancing and retreating as necessary. 
  • Optimal Firing Range - Ships will  stay close enough the enemy to use the bulk of their weapons.
  • Bring all guns to bear - Ships will get as close as possible to the enemy ensuring maximum fire power and accuracy.

 

Firing policy tactics might be as follows:

  • Target Nearest
  • Target Weakest
  • Target Strongest
  • Group Attack

 

I would also have user defined classes that you can put a ship in for grouping purposes so I might have a number of small fast short range ships that group as harasser and then I can add a tactic that would be harassers target artillery ships.  That will cause them to target ships with powerful long range weapons first before going after any other ship.

 

In this way you still have the auto resolve calculations but you give the player the ability to feel more in control of the outcome.   Later on you could always add more depth like firing arcs and movement.  Or come up with elaborate ways for the ships to work together and play with hidden information.  



#14 Orymus3   Crossbones+   -  Reputation: 9959

Like
0Likes
Like

Posted 15 October 2013 - 01:07 PM

The AI ideas are interesting, but the main problem with "scope of work" here is that I don't have any design space to prepare for these fights.

The logic of the game assumes that combats will be generated automatically as a turn is processed. Since ships might not be aware they'll jump in a fight on the next turn (ambushed by cloaking ships for example) I can't force players to have an AI readied at all times. It also complexifies gameplay tremendously, and I'm not sure the added toll really brings more fun to the table.

 

However, I do agree that the default AI is fairly weak.

I've already fixed some of it (mainly helm and rotation) and will keep working on an algorithm that is better to acquire targets.

I came to the conclusion I needed to reassess the AI after running a few simulations and noticing an unwanted behavior:

 

If a ship acquires a target, its possible it will shift to a different target before eliminating it if that other ship comes CLOSER.

An easy check I could make before assigning a new target is to check if the current target is null (that would literally be one line of code because I've already defined the parameters to determine whether the target is currently null).

However, spreaded attacks don't feel very logical.

 

Then again, having both sides focus on destroying a single ship on the other side at once would feel bad too and I'm not sure where the balance really is.


Edited by Orymus3, 15 October 2013 - 07:39 PM.


#15 Orymus3   Crossbones+   -  Reputation: 9959

Like
0Likes
Like

Posted 19 October 2013 - 08:35 PM

So, I haven't really delved 'deep' into the AI just yet, but I really wanted to get the movement pattern defined beforehand.

I went ahead and created 3 different approaches:

 

(Put in HD to actually see the ships...)

 

 

 

1 - Stop-n-Go

*Ships are allowed to stop moving when in firing range.

 

Pros

+ Allows ships to control their 'ideal range' and stick to it (ship speed and rotation is used mostly to close on enemy artillery or attempt to move away from big ships).

+ Intuitive and simple. Ships tend to stay in their 'half' of the battlefield.

 

Cons

- Feels a bit odd. Perhaps Acceleration/Deceleration could smooth the way it looks.

 

 

 

2 - Continuous Chase

*Ships are not allowed to stop. Thus, they 'orbit around' their enemies in an attempt to reacquire firing range

 

Pros

+ The Fly-bys look a lot more like space combat from other games and mimic air strikes much more efficiently.

+ Ship Speed and Turn Speed are extremely relevant to combat outcomes

 

Cons

- Ship with small rotation arcs tend to go out of the battlefield unnecessarily (could be balanced).

- Without collision detection and path-finding that goes along with it, it could look like a cluster of ships on top of one another and lead to confusion

 

 

 

3 - Helm-Centric Shooting

*Essentially an option that can be added to either of the above

*Ships only get to fire if their helm points at their target

 

Pros

+ Ship rotation is crucial to acquire targets and becomes an interesting variable (no artificial cooldown to reacquire a new target).

 

Cons

- A bit restrictive, and certainly won't work well with Continuous chase unless the arc is more permissive

 

 

 

Feel free to add/comment on it as feedback will undeniably help here.


Edited by Orymus3, 19 October 2013 - 08:38 PM.


#16 Acharis   Crossbones+   -  Reputation: 3877

Like
2Likes
Like

Posted 20 October 2013 - 03:01 AM

I think you should decide if you are making it cinamatic great looking or not. If you are worried about "Feels a bit odd. Perhaps Acceleration/Deceleration could smooth the way it looks." then you should first worry about the graphics (make it full 3D with sparks and everything). With current pixelated ships, well, it will feel odd no matter what you do in terms of mechanic...

 

I say, if you are to stick to low res 2D, also do it "odd" in terms of movement. People who can withstand that kind of graphics will be able(don't care) to withstand units stopping abruptly as well. Those people will be hardcore strategies fans and they will simply care about other things... Let's face it, I don't care about any issue you posted in this topic, I care about what my strategic options are, what technologies are available, why I built that kind of fleet and not other one, how damaged ships are dealt with after battle, how supply system works, if I can assign officers/admirals to ships/fleets, etc. From my point of view you are worrying about the wrong thing.

 

In short, I vote for 1) :)


Europe1300.eu - Historical Realistic Medieval Sim (RELEASED!)


#17 Orymus3   Crossbones+   -  Reputation: 9959

Like
0Likes
Like

Posted 20 October 2013 - 10:11 AM

I was expecting no less from you Acharis ;)

 

That being said, here's #1 with added feedbacks as per what mippy mentioned.

 

 

Added a Life Gauge and damage indicators.

This is all placeholder art, but the functionality appear to be ok so far.

I'm a bit disappointed by how the numbers stack together, but nothing that can't be modified through balancing.

 

Do you feel the information is clear enough?


Edited by Orymus3, 20 October 2013 - 10:12 AM.


#18 Acharis   Crossbones+   -  Reputation: 3877

Like
1Likes
Like

Posted 20 October 2013 - 10:59 AM

I was expecting no less from you Acharis ;)

It's funny how you start to know who will say what on forums, even before you read their post :D

 

 

Do you feel the information is clear enough?

No, it's the same as before. It showed me that ships deal some damage and it reduces their HP and after a while thewy blow up. Nothing I don't know already :)

 

I need to know:

- if my shots were penetrating the armour

- if my ion cannon was doing more damage or if it was the anti matter missile that's better vs that enemy

- when the shield went down (at what point of the battle) so I know if there is enough of these or if I should invest in shields more

 

Personally, I think it's way too early to do this battle animation thing, first you need the core combat system...

 

 

Generally, go and play MoO2 (you can use auto battle to get similar feel). Notice what richness of information is presented to you. And I mean valuable information, not just some fluff.


Europe1300.eu - Historical Realistic Medieval Sim (RELEASED!)


#19 Orymus3   Crossbones+   -  Reputation: 9959

Like
0Likes
Like

Posted 20 October 2013 - 01:51 PM


- if my shots were penetrating the armour

I plan on using color-coded numbers (blue means you're still hitting shields, whereas red means you're digging into the hull). Would that be clear enough? Based this on Gratuitous Space Battles...

 

 

 


- if my ion cannon was doing more damage or if it was the anti matter missile that's better vs that enemy

The number on display shows how much damage you're dealing (did you put the video in HD?). So you can see which weapon deals the most damage. Or is it because its still confusing because its hard to know which projectile resulted in which hit?

 

 

 


- when the shield went down (at what point of the battle) so I know if there is enough of these or if I should invest in shields more

I'll have an overlay shield and an anim for it 'taking a hit' so that, the first hit you take without shields, the shield image is removed with a small fx (visual feedback). That's actually just a small tweak in my current implementation as its just 'visual' stuff based on variables that already exist.

 

 

 


Personally, I think it's way too early to do this battle animation thing, first you need the core combat system...

I have most of these already implemented. They just 'don't show' yet.

 

 

 


Generally, go and play MoO2 (you can use auto battle to get similar feel). Notice what richness of information is presented to you. And I mean valuable information, not just some fluff.

MoO2 uses a tactics-based approach to combat, which is essentially turn-based. The combat playback I'm building is 'real-time' (without player input). The information, as a result, can't be sequenced as efficiently, but it runs a bit faster and battles take less time.

I've looked it up, because I hadn't played in years, but I'm not sure which 'valuable information' you're referring to specifically.

Can you give me clearer idea of what's missing here?

 

 

Also, animated GIF with more ships:

BattleFDB.gif


Edited by Orymus3, 20 October 2013 - 01:53 PM.


#20 Acharis   Crossbones+   -  Reputation: 3877

Like
0Likes
Like

Posted 25 October 2013 - 11:14 AM

I plan on using color-coded numbers (blue means you're still hitting shields, whereas red means you're digging into the hull). Would that be clear enough? Based this on Gratuitous Space Battles...

Sounds like a good idea. Althrough some visual "shield" would be better.

 

MoO2 uses a tactics-based approach to combat, which is essentially turn-based. The combat playback I'm building is 'real-time' (without player input). The information, as a result, can't be sequenced as efficiently, but it runs a bit faster and battles take less time.

I've looked it up, because I hadn't played in years, but I'm not sure which 'valuable information' you're referring to specifically.

Can you give me clearer idea of what's missing here?

Yes and no :) Indeed, MOO2 had turn based tactical battle, BUT I used it mostly like an automatic battle :)

 

The rich information was like this: I was disabling all weapons except heavy lasers then fire at enemy, then disable all weapons except ion cannons and fired, then compared which one did more damage :) Also I was able to count in which turn my ships lost their shields, how many structure points were lest after battle, etc.

 

But I suspect most players haven't used it that way :D


Europe1300.eu - Historical Realistic Medieval Sim (RELEASED!)





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS