Future Drone AI Discussion

Any topics about cruiser command
User avatar
WhyteDragon
Yarrr
Posts: 493
Joined: Thu Apr 04, 2013 1:33 am
Wiki edits: 126

Future Drone AI Discussion

Post by WhyteDragon »

This topic came to mind when looking at the No Captain Mode discussion, but I thought I'd like to throw in my two cents about what the wraith AI should look like -- or rather, the psuedocode I suppose. Figured in my head it would look something like this. (Hope it makes sense and/or is useful.)

Interior Ship Check
  • Are there 3 decoy flares total between the drone's inventory and spread out upon the BC?
    • If so pick up decoy flares until 3 are in inventory before proceeding.
    • If not, create decoy flares until 3 are available and repeat this check.
  • Is there an available wraith?
    • If not, linger until there is one available
  • A wraith is available - is it fully loaded with decoy flares?
    • If not, move decoy flares from inventory onto the wraith until it is full.
  • Launch the wraith. Proceed to exterior ship checks.
Exterior Ship Checks
  • If another check is running, do nothing.
  • Periodically run a health check.
  • Whenever an enemy unit comes into vision, run a combat check.
  • Whenever a battlecruiser ping occurs, run a hunt check.
  • Whenever a miner is being attacked, run a battle check.
  • Is there an object in space within a proximity of X?
    • If so, perform an object density test. Create a new pathing away from the center of mass.
  • If energy is below 20%, create a new pathing to the battlecruiser.
  • Otherwise, if above 50% power and within a proximity of X units to the battlecruiser, take a sample of all allied miners on the map beyond a range of X units from the battlecruiser.
    • If there are any beyond this range, create a new pathing to a randomly that unit.
Health Check
  • Is life below 70%?
    • If not, do nothing.
    • If so, create a new pathing to the battlecruiser.
      • If the battlecruiser is within docking distance, dock. Then perform an interior ship check.
Hunt Check
  • Has it been at least 30 seconds since a wraith has performed a miner ping?
    • If so, wait one second and then perform a miner.
    • Are there any miners with no non-miner pings within a distance of X units from them?
      • If so, create a new pathing to that point.
Battle Check
  • Is there a ship being attacked within a distance of X units?
    • If so, create a new pathing to that ship.
    • If that unit dies, are there any other allied ships in a proximity of X units?
      • If so, create a new pathing to that ship.
      • Otherwise, cancel the current pathing.
Combat Check
  • Are there incoming projectiles?
    • If so, perform an object density test. Side thrust to the side which yields the lower density.
  • Is health below 30%?
    • Take a sample of all enemy offensive combat ships in the area. Check if their total health is greater than the wraith's.
      • If so, create a new pathing back to the battlecruiser.
  • Otherwise, take a sample of enemy units within firing range. Are there any?
    • If not, consider the check complete.
    • If so, are they across the map wrap?
      • If so, create a new pathing across the map wrap.
      • If not, face the closest ship and fire as frequently as possible.
        • Is the ship beyond a distance of X?
          • If so, raise engines.
            • Is the wraith's EMP available?
              • If so, fire.
        • Is the ship within a distance of X?
          • If so, lower throttle to a % relative to the distance between the wraith and the target.
    • Wait x seconds and re-perform this check.
New Pathing
  • Is there a hostile target in vision range?
    • Is health above 30%?
      • If so, cancel the current pathing and run a combat check.
    • Is the wraith's EMP available?
      • If so, fire.
  • Otherwise, is the designated unit or position within a proximity of X units?
    • If so, cut throttle and consider the pathing complete.
    • If not, up maximize throttle and perform an object density test.
      • If the center of mass is within a 20 degree cone of the wraith's heading, run parallel to the center of mass for 1 second, and then check the pathing again.
    • Otherwise, continue flight in the intended direction.
Object Density Test
  • Take a sample of all objects in space within a distance of X of an input ship.
  • Return the angle from the ship to the center of mass of these objects.


... this is far from perfectly described, but more than anything I suppose this meant to primarily be an idea, or a framework for discussion; just so the exact details can be picked over.
Last edited by WhyteDragon on Wed Feb 04, 2015 7:02 pm, edited 1 time in total.
User avatar
slapshot
CCA
Posts: 361
Joined: Thu Sep 05, 2013 10:13 am
Wiki edits: 0

Re: Future Drone AI Discussion

Post by slapshot »

I am not seeing when the wraith would ever slow down (or does it run into chompers at full speed)?

also, I suspect it would have an issue with asteroids as-is

lastly, consider having the wraith head to kerm if/when it spawns

I think some other AI's might be easier to do first (like say.. minelayer - it can just place mines randomly), or a defensive corvette that follows the miner furthest away from the BC as opposed to trying to actively find enemies
Image
User avatar
WhyteDragon
Yarrr
Posts: 493
Joined: Thu Apr 04, 2013 1:33 am
Wiki edits: 126

Re: Future Drone AI Discussion

Post by WhyteDragon »

slapshot wrote:I am not seeing when the wraith would ever slow down (or does it run into chompers at full speed)?

also, I suspect it would have an issue with asteroids as-is

lastly, consider having the wraith head to kerm if/when it spawns
Added a small note in the combat segment.
Miners have issues with asteroids too sometimes.
While I appreciate the last note, we'd probably have as much luck with that as making regular miners prioritize kerm spawn.
slapshot wrote:I think some other AI's might be easier to do first (like say.. minelayer - it can just place mines randomly), or a defensive corvette that follows the miner furthest away from the BC as opposed to trying to actively find enemies
Easier, yes.

But not nearly as badly needed, no.
User avatar
slapshot
CCA
Posts: 361
Joined: Thu Sep 05, 2013 10:13 am
Wiki edits: 0

Re: Future Drone AI Discussion

Post by slapshot »

WhyteDragon wrote:Miners have issues with asteroids too sometimes.
true, although they usually stop to mine asteroids before running into them - as far as wraiths, I don't see when they would ever stop/avoid an asteroid

and I agree with you that the wraith would be more welcome, but I would welcome small, easy steps as well and then optimize them
Image
User avatar
bbot
CCI
Posts: 81
Joined: Mon Mar 24, 2014 11:04 am

Re: Future Drone AI Discussion

Post by bbot »

First, I would like to say I am against 'over automating' the game. For why, lets do a mind experiment.

Lets say you were going to program a "Bingo" game. So, the card gets automatically generated for the player, and then the numbers get called out. Then the player clicks the numbers that get called out on the bingo card. But why stop there? Covering the numbers can be automated. So now the numbers get covered automatically, and there is nothing for the player to actually do. You may as well make a game where you press go and it says "You lose" 99 out of 100 times, and you win one of the times or something. The point being, what makes the game fun is the human interaction. I personally think that the arcade feel of cruiser command is important, that at least all combat roles are run by human. I know that the weapons on the cruiser aren't, but to me, that is an acceptable exception.

But what if!

Have any of you played the 1997 game "Battlezone" before? It was one of my favorite RTS games ever. I have a video of gameplay I found on youtube where I time linked the relevant part of the gameplay here:

http://www.youtube.com/watch?v=91ELASkmuxI&t=4m28s

Basically, the game is a first person RTS, where you can order other units to do simple commands. They can:

- Follow you
- Go to location
- Protect a unit
- Attack a unit
- Return to base

Follow you, go to location, and protect unit all go to the specified location, until it sees an enemy ship in visual range, then it points itself at the enemy and shoots, and follows it as necessary to maintain firing range. The AI is pretty stupid and relies on your orders to give it tactical 'smartness'. Once all enemy ships in range are destroyed, it resumes its escort order.

If (for some reason) combat ship AI was implemented, I would prefer it not be fully autonomous, but instead be given orders in much the same way by the other players. It could be ordered around like a unit in a standard RTS, where you can click on it, and right click where you want it to go, or given a protect miners or protect battlecruiser order.

Although, once again, I suggest that combat ship AI in general is a odd idea.
User avatar
Siretu
Creator
Posts: 1019
Joined: Sat Jun 16, 2012 5:00 pm
Wiki edits: 115
Location: In the SC2 Editor
Contact:

Re: Future Drone AI Discussion

Post by Siretu »

bbot, I am definitely in the other camp. I really like the idea of more AI.

I think your mind experiment is inherently flawed. You took a game (bingo) which already has no real human interaction to it and just changed the visual aspects of it.

The main point here is that having a working AI means you can play it with less people, which is a good thing when the community is small. It also gives new players the possibility to practice against computer players first.

Now the thing that makes Cruiser Command a bit different from other games is that currently the AI system is dynamic. The AI does not only replace a missing player, but can also be purchased and used to automate tasks. I don't think that's a bad thing, and if it was, it would be weird to only allow it for some tasks.
Never ignore coincidence. Unless, of course, you’re busy. In which case, always ignore coincidence.
User avatar
Sharp
CCI
Posts: 36
Joined: Mon Jan 26, 2015 6:27 am
Wiki edits: 0
Location: Republic of Korea

Re: Future Drone AI Discussion

Post by Sharp »

I like this idea 'wraith AI'. Drone for fight would give us more fun, but I think it need to be limited. Players lose their judgment slightly when they fight with small ships, but drones don't lose it. And the algorithm of the wraith AI is definitely superior to newbies, so I'm afraid that some day newbies are not better than drones in all aspects(warith, miner, BC weapon, captain, etc.), and I think it is critcal to their interest and fun.


So, I suggest two ways about wraith AI. These could be help for other small ships AI also.

1. Not all drones but drones added in lobby before we start a game can use wraith, also drones gotten by kicking people can use it.

This suggestion means we limit the number of wraith AI, so we can't give all wraith to drones. Therefore there would be vacant wraith for human who can be skilled player or newbie.

2. Add new upgarde about AI on upgrade console(or AI console?). The upgrade gives ability that drones can maneuver wraith. before this upgrade, they can't maneuver wraith. It can be only upgraded after tier 3 upgrade.

This means we can't use wraith AI in the early game, so players have to maneuver wraith by hand. But we can use wraith AI in the late game, so that players focus on their BC. It would make newbies experience many things, not just maneuver miner or wraith the whole time.


I think your idea is nice. I'm just considering about newbies and unskilled players.




I imagine that one day drones have permission to vote to kick, and they realize that they are superior to humans(especially to newbs), so when they have enough numbers to win the vote, they kick the human players to replace them. What a scary story. It's just a joke. Maybe I've watched too much matrix and terminator. :D
User avatar
slapshot
CCA
Posts: 361
Joined: Thu Sep 05, 2013 10:13 am
Wiki edits: 0

Re: Future Drone AI Discussion

Post by slapshot »

Sharp wrote:And the algorithm of the wraith AI is definitely superior to newbies, so I'm afraid that some day newbies are not better than drones in all aspects
the Chess AI's have been better than newbies for quite some time.. actually even to the point of being better than top players - it hasn't killed the game's popularity

not sure I like the idea of discriminating between the AI's, nor upgrading them to be "smarter" - first, the system doesn't really support discriminating between AI's, as far as which AI can do what right now, and I would rather not head down that road (it adds unnecessary complexity, to an already complex game), and the same issue applies to making them be upgradable - rather they can be defeated by out-upgrading the wraiths (it works even vs good players), or just by playing better (it's not hard to be better than the current miner AI's, once the basic mechanics are understood, why would the wraith AI's be in a different league?)
Image
User avatar
WhyteDragon
Yarrr
Posts: 493
Joined: Thu Apr 04, 2013 1:33 am
Wiki edits: 126

Re: Future Drone AI Discussion

Post by WhyteDragon »

bbot wrote:The point being, what makes the game fun is the human interaction.
Arguably, what makes the game horrifying is also the human interactions depending upon the human.

I don't feel like having an alternative option would ever be a bad idea. Having AIs take a more active part in the game means that there will often times be be a lot more activity across the map in general; for small ships, I feel like this is an even larger point as there is currently miner AIs, but not necessarily an 'offensive' small ship AI to counteract it.

And besides, you're saying it as if we'd be completely removing all forms of human interaction; how is that the case?

And moreover, your example focuses on eliminating player input in favor of efficiency. This is not the same as creating 'psudoplayers,' which in the context of your example would be like creating five AIs that play bingo with you, and your objective is to beat them.

Yes, AIs could be used to potentially 'steal jobs' from players (and often will be in the case that a Newb is just screwing around); but if that's the case, I don't see why you can't just create more jobs for your players to do. There's plenty of ships, plenty of roles on the battlecruiser... I'm sure if the player's willing, you'll be able to find something for them.
User avatar
Sharp
CCI
Posts: 36
Joined: Mon Jan 26, 2015 6:27 am
Wiki edits: 0
Location: Republic of Korea

Re: Future Drone AI Discussion

Post by Sharp »

slapshot wrote:
Sharp wrote:And the algorithm of the wraith AI is definitely superior to newbies, so I'm afraid that some day newbies are not better than drones in all aspects
the Chess AI's have been better than newbies for quite some time.. actually even to the point of being better than top players - it hasn't killed the game's popularity

not sure I like the idea of discriminating between the AI's, nor upgrading them to be "smarter" - first, the system doesn't really support discriminating between AI's, as far as which AI can do what right now, and I would rather not head down that road (it adds unnecessary complexity, to an already complex game), and the same issue applies to making them be upgradable - rather they can be defeated by out-upgrading the wraiths (it works even vs good players), or just by playing better (it's not hard to be better than the current miner AI's, once the basic mechanics are understood, why would the wraith AI's be in a different league?)
Well, I can answer the issue about complexity of my second suggestion. Actually, AI already has ability to use wraiths, so we don't need to make them smarter directly in game, up to this point it's the same as original wraith AI idea, but there is a little difference that we don't have a option about wraith AI on AI console before we upgrade it.
wraith_AI_upgrade.png
wraith_AI_upgrade.png (361.91 KiB) Viewed 817 times
Yeah, this upgrade just add a new button, that's all. It isn't upgrading their head, the AI itself can maneuver wraiths from the beginning.
I guess it is possible and simple, and I hope that the first suggestion is also possible with this trick.


Also I think playing better is the best solution. However I'm talking about before they have a better ability than AI because they are newbies and unskilled players(if they have that ability, then they are skilled players). They should endure until be better, for now it's easy to be better so it might not be important issue, but how about in future? I think it would be harder than now at least.
Post Reply