Jump to content

qBot (yet another AI)


Recommended Posts

eventually it would surely be nice to have several different (not in difficulty but in manner of acting) AI's.

so they would act like "personalities". imagine a game-mode in which you choose "random AIs" and you will play against several AI-Opponents (or Allies)... only during more and more gametime you will ascertain against or with which you will play.

to me this a neat kind of evolution concerning RTS-AIs

Link to comment
Share on other sites

eventually it would surely be nice to have several different (not in difficulty but in manner of acting) AI's.

so they would act like "personalities". imagine a game-mode in which you choose "random AIs" and you will play against several AI-Opponents (or Allies)... only during more and more gametime you will ascertain against or with which you will play.

to me this a neat kind of evolution concerning RTS-AIs

I'd agree. Turtle, Raid, Cavalry, Infantry, Expand, Defend, Navy, Land, Ranged, Melee - all of these and more can influence the way an AI acts during a match. I also think we should soon begin to create Easy and Medium difficulty varieties - we've had quite a few comments about the AI (qBot) already being too difficult for beginners.

But for all of this we need time - or more volunteers :D

Link to comment
Share on other sites

I'd agree. Turtle, Raid, Cavalry, Infantry, Expand, Defend, Navy, Land, Ranged, Melee - all of these and more can influence the way an AI acts during a match. I also think we should soon begin to create Easy and Medium difficulty varieties - we've had quite a few comments about the AI (qBot) already being too difficult for beginners.

But for all of this we need time - or more volunteers :D

i think jubot is quite beatable (it has to be mentioned; that it was and is the most stable of the AIs, though)

Link to comment
Share on other sites

  • 2 weeks later...

I was playing on the Lake map with qBot as Carts. For some reason, about 15 minutes into the game, qBot sent all his women to my farms to try and farm from them. You may want to check how it prioritizes food.

Also, can you just implement a cap to how many female villagers qBot will train? It always seems to have around 50 but hardly any actual troops.

Edited by tribalbeat
Link to comment
Share on other sites

I was playing on the Lake map with qBot as Carts. For some reason, about 15 minutes into the game, qBot sent all his women to my farms to try and farm from them. You may want to check how it prioritizes food.

Also, can you just implement a cap to how many female villagers qBot will train? It always seems to have around 50 but hardly any actual troops.

same here! really strange. was on a small map "forest"

Link to comment
Share on other sites

I have something to report: I've been playing the Death Canyon maps, and qBot stops attempting to attack when they have no way of walking around the walls.

I didn't notice this right away, because I usually leave a gap open in my walls to take advantage of the AI. But I soon realized that if I completely wall off my base, they just stop acting aggressively, and will only move into action if I delete one of my walls (even if only for a few seconds before I build a new one). Once their attack has run its course, a new attack won't come until I make a new gap in the walls again.

Link to comment
Share on other sites

i don't find the qbot challanging unless they play as celts i like how when they attack they attack you from unexpected directions its kinda hard to defend you town without walls

does the qbot do different stratagies with different civs or are the celts the most devoleped civ or is it my problem not destroying them early enough?

Link to comment
Share on other sites

The pathfinding will probably do strange stuff if the enemy base in unreachable. The qBot pathfinder should give up and default to telling the game to walk its units directly towards the target, but I haven't tested this thoroughly so it could be a bug in my qbot pathfinder code or that the games pathfinder just doesn't cope any better. The real solution is to get some proper siege logic, I'm not sure about the timescale of that happening.

The farms issue is annoying, I had hoped that I had solved that but I shall put some stronger checks it so that it never tries to gather from other players farms.

qBot doesn't use different strategies for different civs, its default strategy might be better suited to celts though. I don't know the civs well enough to tell you.

Link to comment
Share on other sites

I'd agree. Turtle, Raid, Cavalry, Infantry, Expand, Defend, Navy, Land, Ranged, Melee - all of these and more can influence the way an AI acts during a match. I also think we should soon begin to create Easy and Medium difficulty varieties - we've had quite a few comments about the AI (qBot) already being too difficult for beginners.

But for all of this we need time - or more volunteers :D

Yes, QBot is VERY difficult for _BEGINNERS_:

Example: I BEGIN the game with a qbot ai and the game IMMEDIATLY stalls/freezes.

It is thus VERY hard to BEGIN!

Link to comment
Share on other sites

where is the todo list for qbot....

sorry was too busy with personal life

Hey again, nice to have you back. You picked a fairly bad time however, basically I am, in the middle of transitioning to the new API. Currently I have fixed all of the errors that popped up due to changes to the API and an working on making everything use the new API functions consistently. This should make the code cleaner and nicer to work with while keeping performance similar. Also I will be pretty inactive until about Friday because I have friends coming to visit.

The extra functions interfacing with UnitAI aren't written yet but these should be simple and quick to add. The terrain related functions will probably take a bit longer.

Yes, QBot is VERY difficult for _BEGINNERS_:

Example: I BEGIN the game with a qbot ai and the game IMMEDIATLY stalls/freezes.

It is thus VERY hard to BEGIN!

This is due to the bot doing some basic terrain analysis at the start of the game.

Link to comment
Share on other sites

This is due to the bot doing some basic terrain analysis at the start of the game.

About that... How "possible" would it be to allow the AI to initialize before the start of the game (ie during the creating map" part)? That woul allow for some slow calculations such as terrain analysis to be noticeable.

Link to comment
Share on other sites

Hey again, nice to have you back. You picked a fairly bad time however, basically I am, in the middle of transitioning to the new API. Currently I have fixed all of the errors that popped up due to changes to the API and an working on making everything use the new API functions consistently. This should make the code cleaner and nicer to work with while keeping performance similar. Also I will be pretty inactive until about Friday because I have friends coming to visit.

The extra functions interfacing with UnitAI aren't written yet but these should be simple and quick to add. The terrain related functions will probably take a bit longer.

I too would be not much free the next week.

I might be probably be put some time into qBot in 2nd or 3rd week of April

By then I hope the new api goes in. So I can work on the new api on qbot

Link to comment
Share on other sites

  • 2 weeks later...

Where is the TODO

I am away for the next week, the conversion to the new api still isn't complete yet, it is mainly the military area that still needs some changes.

Some ideas for things which could be implemented:

#1258 needs looking into. My recent changes have probably broken the test case though so it might be better to pick out an older revision and use that. May be quite tricky to debug since it is very rare.

Limit the number of workers gathering from each resource, so that we don't get idle units because they can't all fit round a mine.

Make gatherers gather from resources based on their gather rates. So females should gather from farms and citizensoldiers should focus on mining and wood, etc. It should read the values from the templates for flexibility. One idea is to keep the code as it is now and then put in some code to swap a pair of units when this would give more efficient gathering.

Related to the previous idea is to get units to deposit resources they are carrying. This saves wasting resources when a unit changes tasks.

After that is it possible to add terrain detection functions in the core

Do you mean terrain analysis stuff like http://www.wildfiregames.com/forum/index.php?showtopic=15764&pid=235859&st=0entry235859 ?

Link to comment
Share on other sites

for #1258 do I need to paste the commands into the chat window

The terrain analysis stuff....

a) for detecting water based terrain (to place docks)

B) terrain based passability and obstruction map (Have a separate land based and Water based or the maps should be made so that to incorporate both Land/Water data)

this help's in implementing a naval variant of qBot

Edited by infyquest
Link to comment
Share on other sites

Okay, playing a few games with improved JuBot against qbot.

Main things I noticed, in no particular order, this may be useful or may not be;

- Economically qbot is very, very powerful. It can keep throw

- Minus side, it throws most of its units away far too easily. It attacks with armies that are slightly too small to damage a well defended base, larger but less frequent attacks would work better.

- Responses to attacks are poor from qbot and it has too a high a percentage of women in the workforce; it's easy to kill a LOT of workers with quite a small raiding force.

- In my last game, the two bots hit stalemate; qbot collected all the map's resources and then threw them away attacking JuBot's much better defenses, but JuBot was similarly unable to get past the fact that qbot had spammed about ten Persian fortresses around its base. They literally got to the stage where qbot had no troops at all and JuBot was never going to get enough resources to finish building another attacking force (which would've been mown down by arrows anyway).

Link to comment
Share on other sites

Getting the attacks to work properly and humanly is ridiculously hard to do, I must say. I've given this a lot of thoughts on Marilyn, and it basically requires tons of things to only begin to work as expected. However, one could likely hack something together.

Link to comment
Share on other sites

Testing Marilyn against SVN qBot a bit today... I found qBot not so efficient at collecting resources (well, compared to what I recall it being). It may be a problem of some sort, perhaps map dependent, but it built units at a very slow rate, and only manager to raid me on Oasis 10 after 8 minutes... I think it did better somewhere along Alpha 8.

Edited by wraitii
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...