Author Topic: Level Update HARD-er  (Read 6074 times)

cinemabaroque

  • Seedling
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 26
Level Update HARD-er
« on: November 09, 2009, 10:45:43 AM »
Edit: Newest version of this level is over here http://www.dyson-game.com/smf/index.php?topic=554.0 it seems hardest so far to me! Thanks again for everyone who gave me some feedback.  I will hopefully have another level out this week so keep your eyes peeled for that.

Hey there, been playtesting a bit over the last week and made some changes and thought I'd throw this out there for the more serious RTS players.  The situation is simple still, a straight up slugfest between you and an invading enemy.  Problem: AI is still incredibly passive.  I'm working on ways to force the AI to move seedlings towards the front but I haven't gotten anything to work yet so thats on the to-do list.

Another major change is the core-energy of the asteroids is much higher than usual, even small asteroids have a core energy of 400 or so which means it takes a little bit of time for an asteroid to change hands even if one side has a huge advantage.  Take advantage of this if you get over-run to regroup a few asteroids back.  You'll need to spread out quickly and get a good supply of seedlings streaming towards the front if you want to have a chance.

Your only advantage is your flowers (which the AI just doesn't use most of the time, or plants them wherever they grow instead of packing them on the best asteroids) so use them well.  Massing Laser Mines in groups of three or more at chokepoints is probably a good idea too.
« Last Edit: November 16, 2009, 09:52:55 AM by cinemabaroque »

pastuh

  • Seed
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 3
Re: Level Update HARD-er
« Reply #1 on: November 09, 2009, 09:48:00 PM »
Thnx i will test :)
Edit: This map was good, but still very easy.
I think need in player (human) side create asteroids with low quantity trees.
And in computer (AI) side, more trees.

I liked when i cant reach big asteroid (becouse low radius), and i must go around. But computer can reach (becouse he have big radius) and he attacks all the time if i dont have defence :)
So ... mb u try create asteroids position and size with specific tree number?

p.s. my eng sux  :-X
« Last Edit: November 09, 2009, 11:42:14 PM by pastuh »

cinemabaroque

  • Seedling
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 26
Re: Level Update HARD-er
« Reply #2 on: November 10, 2009, 03:22:06 AM »
I have thought about making a map where the player has the raw deal with the asteroids.  The way it is now the centre asteroids are randomly generated, giving the level some re-playability.  I wish I had a way to set the AI to defend a specific asteroid.  When I was playtesting the AI would often leave its main asteroid undefended to go chasing after my nearly worthless undefended asteroids.  Oh well, hopefully we get a patch in a month or two that makes the AI a little smarter.

Really, the main problem is how passive the enemy AI is.  Even when it outnumbers you 3 : 1 it will sit there for ten minutes doing nothing.  I've looked at just forcing it to send waves of seedlings out towards your own asteroids but I haven't found a way to make that work simply yet, but its the main conceit behind my next map so I'll figure something out.

I'll be refining this more but its really good to get feedback, on my next weekend I'll try posting an insane version and see if anyone can beat it.

Thanks for the suggestions too, I'm working on a couple of other maps and I like the idea of limiting the number of trees on the player side. 

HKK

  • Guest
Re: Level Update HARD-er
« Reply #3 on: November 10, 2009, 04:36:56 AM »
You can actually influence the AI quite a lot using the global variables and the object fields for AIs.
Really, the main problem is how passive the enemy AI is.  Even when it outnumbers you 3 : 1 it will sit there for ten minutes doing nothing.  I've looked at just forcing it to send waves of seedlings out towards your own asteroids but I haven't found a way to make that work simply yet, but its the main conceit behind my next map so I'll figure something out.
Values like these will help you -- for more on that see the Lua reference
Cowardicefloat (0-1)chances of retreating a battle we are losing.
BattleSavvyfloat (0-1)chances of picking a battle for a valuable asteroid - don't put this at 1 or the AI will only look at one asteroid at a time!
RecognisableThreatProportionfloat (0-1)enemy army size relative to ours before it's considered a threat.
ReinforcementGreedfloat (0-1)proportion of existing forces elsewhere to send in aid of battle.
AidEnthusiasmfloat (0-1)how much to overshoot the battle rating when sending aid, to allow for inbound enemy forces, estimate errors, travel time, wanting to win, etc.

~HKK

cinemabaroque

  • Seedling
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 26
Re: Level Update HARD-er
« Reply #4 on: November 10, 2009, 05:36:16 PM »
I modified all of those variables without much difference in the overall behavior.  I've been toying with them and if I do nothing the new AI code conquers my home world around 600 seconds faster than the original  AI.  Although ten sample runs is hardly statistically significant.

You can open the text file of the Lua level to see what I did, its before the main game loop and there is a comment mentioning the experimental AI code.

In particular the ReinforcementGreed variable seems to be important for getting the AI to attack in force.

Thank you for the support.  If you've been messing around with the AI variables I'd like to get more feedback as the AI needs some teeth.
« Last Edit: November 10, 2009, 05:39:44 PM by cinemabaroque »

Dr.Johnny

  • Guest
Re: Level Update HARD-er
« Reply #5 on: November 11, 2009, 10:15:22 AM »
I have a similar 'problem' with the AI as well, when I try to create an object oriented map, there is no way to get the AI to focus as I wish. I have looked over the commands, many many times and have found that they will only do as I want if it is strategic point as one of the commands is. However after they obtain it, its simply another point on the map.
I have tried to use operators in helping the AI make more informed decisions, but there is no real focal point to build on.
So if more AI oriented commands are released it would help tremendously.

cinemabaroque

  • Seedling
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 26
Re: Level Update HARD-er
« Reply #6 on: November 11, 2009, 02:04:45 PM »
I've been looking at just using the SendSeedlingsToTarget asteroid function to force it to be more aggressive but I haven't gotten down a good system of identifying which asteroid is important at any given moment. 

There is a little bit of my first test run with this idea commented out in the level, the idea being to use the OnAsteroidTaken function to identify the last 2 systems to change hands which were assigned to two variables.  If the number of seedlings on their home asteroid got over 200 I'd have it send 50 seedlings to each of those two systems as reinforcements.  Didn't really get it to work and I'm now thinking of having a large array of the status of all the asteroids (giving my AI the ability to cheat more than the existing AI does) and using a couple of variables to identify the ones that are most likely to be important and have it send seedlings to those targets.  Still a long way from actually getting coded but its an idea at least.

I'm glad other people are working on this too, good luck with it.

I would like to second the vote for more access to the AI and a refined and more aggressive AI.  Maybe in the first major patch we can get some basic functionality like Defend-This or Attack-That and Expand-Aggressively because you outnumber your foe.  Love the game architecture but a little extra work here and there would make it a classic.