Author Topic: Logic map for a level I'm working on...  (Read 4127 times)

0 Members and 1 Guest are viewing this topic.

Bonobo

  • Achiever
  • Old Oak
  • ****
  • Thank You
  • -Given: 77
  • -Receive: 8
  • Posts: 629
  • Was born, still alive.
    • German Mac Mailing Lists
  • Eufloria: Yes
Re: Logic map for a level I'm working on...
« Reply #15 on: March 27, 2010, 10:31:33 PM »
Graaaaaaah, I'll never be able to win of your coming levels :o here's hoping that you'll also some goodies for kids and senior gamers then  ::)

<edit>

But to be serious: This looks grandious, and it makes me fear your AIs.

</edit>
Google+
Do you play Go? (aka iGo aka Baduk aka Weiqi)

annikk.exe

  • Achiever
  • Ent
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1,794
Re: Logic map for a level I'm working on...
« Reply #16 on: March 27, 2010, 11:41:51 PM »
My levels will have a range of difficulties... :>

annikk.exe

  • Achiever
  • Ent
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1,794
Re: Logic map for a level I'm working on...
« Reply #17 on: March 28, 2010, 02:09:48 AM »
AI now gathers seedlings on a nearby asteroid and, when it has a swarm of sufficient size, attacks.

Need to fix a pathing bug, and substantial extra testing for bugs needed... and then I need to implement that don't-run-through-player-asteroids thingy...
almost there.

annikk.exe

  • Achiever
  • Ent
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1,794
Re: Logic map for a level I'm working on...
« Reply #18 on: March 28, 2010, 02:47:49 AM »
Pathing bug corrected.  The AI also now sets a new gather point when the old one is no longer relevant.

The AI still sometimes sends seedlings on paths that take them past the player's asteroid, resulting in all the AIs seedlings being killed.
Also, the AI sometimes doesn't send all its seedlings to a particular gather point.

Once these two problems are fixed, it should be pretty deadly :>

Bonobo

  • Achiever
  • Old Oak
  • ****
  • Thank You
  • -Given: 77
  • -Receive: 8
  • Posts: 629
  • Was born, still alive.
    • German Mac Mailing Lists
  • Eufloria: Yes
Re: Logic map for a level I'm working on...
« Reply #19 on: March 28, 2010, 03:13:39 AM »
Annik-Sensei, would it be possible to sort of "attach" some of this artificial intelligence to a human player, so I could perhaps "delegate" tasks like gathering somewhere? Otherwise it seems that the AI could have this advantage of your automatizations which the human player doesn't have. Or do I misunderstand something?
Google+
Do you play Go? (aka iGo aka Baduk aka Weiqi)

annikk.exe

  • Achiever
  • Ent
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1,794
Re: Logic map for a level I'm working on...
« Reply #20 on: March 28, 2010, 04:47:10 AM »
Yes it would be possible to instruct the player's seedlings to do things too.  You would need some way to trigger it, though... and that's not easy.

One thing I did consider was having the player's seedlings always rally to whichever asteroid contains the highest number of player seeds.  That way the player's seedlings would naturally congregate wherever the largest player swarm was.  I'm not sure how fun that would be though...  If you don't spend any time gathering up seedlings, what are you going to spend your time on, exactly ?  Eufloria is designed to involve constant micromanagement of your asteroids, if you want a game with rally points and the ability to select all your troops at once then Warcraft 3/Starcraft/Command & Conquer is going to be more your thing.  Just my 2c there..



The AI doesn't react quite instantly... it takes about half a second or so.  Reaction times go up a little when the level has a lot of asteroids.  The AI gets the advantage of being able to reorganise all its seedlings very quickly, and being able to react very fast.  The human player gets the advantage of being able to see seedlings as they fly between asteroids (something the AI is not capable of), and in theory should be better equipped to make good tactical decisions.

If my AI consistently beats human players when the human and the AI start with the same number of seedlings, that will be a great success.  If the AI only needs 2-3 times as many seedlings at the start in order to defeat the player, that's a moderate success.

annikk.exe

  • Achiever
  • Ent
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1,794
Re: Logic map for a level I'm working on...
« Reply #21 on: March 28, 2010, 06:22:26 PM »
My flatmate is beta testing the AI now.  He starts with 1 dyson tree, 1 defence tree, and 80 seedlings on one asteroid near the center.  The AI starts with 248 seedlings scattered on the 8 periphery asteroids in the spiral galaxy, which numbers 25 asteroids in all.

So far it's pretty even...  only 15 mins into the game though.

annikk.exe

  • Achiever
  • Ent
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1,794
Re: Logic map for a level I'm working on...
« Reply #22 on: March 28, 2010, 06:26:45 PM »
List of stupid things my new AI does:

1.  Allows a player mine to orbit one of his asteroids, happily zapping all seeds that are born there.  Better behaviour would be to set a torch metric of 0 to attract help from elligible nearby asteroids.
fixed.  I sorted this with a very simple method in the end.  The AI now responds thoroughly to mine attacks, which should be infrequent anyhow seeing as the flower chance is only 1.5%.

2.  Seriously vulnerable to having his empire split up.  If the gather point is in the smaller split, the larger split will simply not gather.
Fixed.  Seems to work good now.

3.  Uselessly continues to send seeds to a gather point when the player has a massive army nearby, resulting in a stupid cold war situation.  A better behaviour would be to detect this situation and hold a new gather point election, so that the AI moves his swarm to a different - hopefully less-well-defended location.
fixed. changes gather points often now, looking for weak spots.

4.  Sends seedlings on paths that take them past a player asteroid, resulting in their deaths.  Better behaviour would be to detect the presence of a player asteroid within the right range and direction (angle), and to use this information to prevent these types of routes from being added to the list of available paths.

5.  Lone, seperated "Orphan" asteroids become inactive.  The AI requires at least 2 asteroids within send distance of one another in order to create a functioning metric network.  Need to add some code to force orphans to do something with their seedlings.
fixed.  Orphans will now judge their situation and either send their seedlings to bolt towards a friendly asteroid by bouncing off a convenient player asteroid, or attack the nearest player asteroid and try to capture it to create a new metric network.  The AI can now be knocked all the way back to 1 asteroid, and if then left to recover can still come back to take over the entire galaxy.

6.  The AI stupidly uses all his seedlings to build trees, even if the player has a large number of seedlings on a neighbouring asteroid ready to take the AI's asteroid as soon as he's done building 4 trees.  Up until last night this was the only way to beat the test map that I am aware of.
fixed.  The AI now detects this situation and stops building trees until he has more seedings, so he can keep some for defence.  The player must move their swarm away from the AI's asteroid for at least 90 seconds before he will stop being ultra-conservative and start building normally again - by which time the player's tactic is going downhill as this has given the rest of the AI's asteroids time to build up lots of trees.  Only threatened asteroids will display this behaviour - others will continue to build as normal unless they too are threatened by a nearby player swarm.

7.  Tries to take out an asteroid with 0 seedlings and 4 defense trees, using only 50 seedlings.
fixed.  AI now takes the number and type of trees on the target planet into account when deciding how long to wait and build up a bigger swarm before attacking.
« Last Edit: March 31, 2010, 10:40:15 PM by annikk.exe »

njursten

  • Seedling
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 31
Re: Logic map for a level I'm working on...
« Reply #23 on: March 28, 2010, 10:03:49 PM »
No. 1 is probably hard to fix. You'd want to set up a temporary gather point at a neighbouring asteroid to overwhelm the mine in one go.

annikk.exe

  • Achiever
  • Ent
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1,794
Re: Logic map for a level I'm working on...
« Reply #24 on: March 28, 2010, 10:29:31 PM »
Actually with the way the torch metric works, its such an absolute flood of seedlings that comes to the stricken asteroid's aid that i dont think a seperate pre-mine-attack gather point would be necessary.  I've not tried fixing that yet though...  I guess I'll see what it's like once I have, and then decide :>


This AI is fairly scary now..

annikk.exe

  • Achiever
  • Ent
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1,794
Re: Logic map for a level I'm working on...
« Reply #25 on: March 30, 2010, 12:04:55 AM »
I am having second thoughts about my solution for mines now.  Maybe gathering up on an adjacent asteroid would be a good idea....  I think I could probably hitch that onto the torch metric, and tell seedlings to go as far as the metric 1 asteroids but no further...until they are of suffient number to safely wipe out a mine.  I can check that when the asteroid with the mine on it is selected, by checking the pathsavailable array and counting the seedlings ready to fly in and take out the mine.  If the mined asteroid sees, say, > 80 seedlings orbiting its neighbours asteroids, it can give the signal to each of them to gogo and they will all come at once.

This thread is kind of turning into a development blog...  but at the moment I'm just sort of writing good solutions down whenver I think of them.  The beta test map I'm currently working with gives the AI with almost 4 times as many seedlings at the start as the player.  I really want to get that figure down and still make it hard..

lecutus88

  • Shoot
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 15
Re: Logic map for a level I'm working on...
« Reply #26 on: April 01, 2010, 12:19:43 PM »
Hi!

Without wanting to come over all impatient, do you have any idea when your next level will be released into the wild?  (Deliberate choice of words here!   :-)     )

Thanks in advance!


Neil

annikk.exe

  • Achiever
  • Ent
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1,794
Re: Logic map for a level I'm working on...
« Reply #27 on: April 01, 2010, 04:39:38 PM »
Looking like Saturday at the moment :>

Rudolf

  • Administrator
  • Old Oak
  • *****
  • Thank You
  • -Given: 4
  • -Receive: 13
  • Posts: 635
  • Euflorian Ambassador
    • Omni Systems Limited
  • Eufloria: Yes
Re: Logic map for a level I'm working on...
« Reply #28 on: April 03, 2010, 01:50:27 PM »
This thread is kind of turning into a development blog... 

That is a good thing I think. Basically you are doing an "advanced AI mod", which is a process that is interesting in its own right, beyond the endproduct. (which is highly anticipated :-)  )

Blog away dude!
-----------------------------------------------------
Rudolf Kremers - Grand Poobah

http://www.omni-labs.com
http://www.rudolfkremers.com
http://rudolfkremers.tumblr.com/

annikk.exe

  • Achiever
  • Ent
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1,794
Re: Logic map for a level I'm working on...
« Reply #29 on: April 03, 2010, 02:57:34 PM »
Going public this evening :>