Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 3 [4] 5 6 ... 31

Author Topic: Proceedurally Generated RTS  (Read 57026 times)

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #45 on: January 09, 2011, 12:10:38 am »

It's a speed + range unit.  They're pretty tough to best, but eventually the RNG will kick out a faster unit with a smaller range and more damage.  175 HP is the least possible and speed 10 is only "moderately high."  21x1 is also fairly low damage.  High per bullet, yes, but it only gets 1 shot (max is 27).

RoF probably needs a look at.  I doubt its from the general accelerated combat, but RoF seems to be either 2 or 3.
Logged

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: Proceedurally Generated RTS
« Reply #46 on: January 09, 2011, 12:53:43 am »

21x1 and RoF 2 seems to be extremely powerful, the low RoF makes the x1 seem more like x100.
Logged
Eh?
Eh!

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #47 on: January 09, 2011, 10:31:47 am »

21x1 and RoF 2 seems to be extremely powerful, the low RoF makes the x1 seem more like x100.

Yeah, RoF needs a rescale.

Ah yes.  Damage * Shots / 12.  With a top-out of about 27 x1 or 18 x3, diving by 12 meant its RoF would be no higher than 4.  Changed it to be divide by 8.  Just got a 21 x6 RoF 13.

Found a way to cut down the jerkiness of kiting and a way to penalize high speed ships.  Also cut the build point value down some, which will cut range by a small amount (longer ranges will be penalized more than shorter ones).  I included speed in the RoF calculation: (Damage * Shots + Speed) / 8.

Should still see some super kites, but they should be less powerful overall.

New version.
« Last Edit: January 09, 2011, 11:11:45 am by Draco18s »
Logged

Fayrik

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #48 on: January 09, 2011, 11:49:22 am »

I think this needs to start taking input so that all the sides don't have to be randomized.
Could make balancing things a little easier to work out too.
Logged
So THIS is how migrations start.
"Hey, dude, there's this crazy bastard digging in the ground for stuff. Let's go watch."

Nivim

  • Bay Watcher
  • Has the asylum forgotten? Are they still the same?
    • View Profile
Re: Proceedurally Generated RTS
« Reply #49 on: January 09, 2011, 12:11:48 pm »

 Aha, now they circle.
 It looks like a kiting (minimum HP, minimum armour, above average speed, 100-110 range, maximum damage) build still wins every single match with this version. Although, it still seems to me like you should be throwing in abilities before you start doing triangle (or hourglass, or pentagram...) balancing. Simply because once you do you'll have to balance all over again.

Edit: It appears they've declared a ceasefire after all that carnage.
Spoiler (click to show/hide)
« Last Edit: January 09, 2011, 12:36:25 pm by Nivm »
Logged
Imagine a cool peice of sky-blue and milk-white marble about 3cm by 2cm and by 0.5cm, containing a tiny 2mm malacolite crystal. Now imagine the miles of metamorphic rock it's embedded in that no pick or chisel will ever touch. Then, imagine that those miles will melt back into their mantle long before any telescope even refracts an image of their planet. The watchers will be so excited to have that image too.

Errol

  • Bay Watcher
  • Heaven or Hell, Duel 1 -- Let's Rock!
    • View Profile
Re: Proceedurally Generated RTS
« Reply #50 on: January 09, 2011, 02:38:14 pm »

I have to second. The unbeaten champion of my ships has 175 HP, 0 Armor, 0 Armor Penetration, 27 x 2 damage, 5 RoF, 9 Speed and 106 Range.

Also Armor Penetration is pretty useless if there is no armor to penetrate?
Logged
Girls are currently preparing signature, please wait warmly until it is ready.

Armok

  • Bay Watcher
  • God of Blood
    • View Profile
Re: Proceedurally Generated RTS
« Reply #51 on: January 09, 2011, 10:43:50 pm »

I can't help but feel that a point buy system is the entirely wrong way to go and a waste of potential. I'd suggest instead "Evolutionary" type testing solutions based on actual performance, which is basically what it does with that Rock Paper Scissors finder. For example, some standard units that nothing balanced should be able to beat but slightly overpowered things should, and running hidden tournaments against those before letting units into the game.
Logged
So says Armok, God of blood.
Sszsszssoo...
Sszsszssaaayysss...
III...

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #52 on: January 09, 2011, 11:28:33 pm »

Super Kites -> Will attempt to determine a solution in a moment.

Armok, you have a good point, however I am not sure how to go about doing that.  Also I'm not entirely sure what you mean by "standard units that nothing balanced should be able to beat."  Balanced meaning....?

Also, I need a way to speed up the RPS finder, which I think I can do.  Right now it's just randomly spewing numbers out, but if I generate four RNs and sort them before plugging them into a function I can say, "I need a unit that has high speed, high damage" and get one by making sure those two numbers are the higher of the four.

Also, I've determined a way to decide each of the three's "class."  1) Determine "Fighter": fastest unit.  2) Determine "Bomber": highest damage.* 3) "Frigate" is leftover.

I haven't looked at too many results yet to determine if this will always generate names for all three, but from what I have generated, it should work.

*In the event that the fighter IS the bomber, you end up with a "Fighter Bomber" and a subroutine is called in and determines which of the remaining two units has more armor, declaring it the "Tank" with the last one being the "Frigate."

"Kiters" now have a different damage range spread, with a lower upper-bound.  By employing clever and slick 1-line if statements* I was able to reduce the max value returned by the rand call if a unit had min or near-min hit points and/or armor.

*Not the only way to do it, but cooler.
« Last Edit: January 10, 2011, 12:30:41 am by Draco18s »
Logged

Bricks

  • Bay Watcher
  • Because you never need one brick.
    • View Profile
Re: Proceedurally Generated RTS
« Reply #53 on: January 10, 2011, 10:25:47 am »

This is fun to watch, although its getting harder and harder to watch!  "Kiting" is usually not as much an issue in RTS's because units will only fire when stationary, so the kiting unit must exceed that target's speed by both its speed and RoF.
Logged
EMPATHY - being able to feel other peoples' stuff.

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #54 on: January 10, 2011, 10:34:02 am »

Noted.  Won't be working on this again until later this evening.  I've over-penalized kiting so I haven't seen any "super kites" in the last revision.  I don't mind high speed, long range units that can kite, but right now I'm not getting any.  Only moderate examples (medium range, medium speed) due to their damage.

In any case, this was more of a test of "can it be done" than making a playable game.
Logged

Shades

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #55 on: January 10, 2011, 10:37:56 am »

Following
Logged
Its like playing god with sentient legos. - They Got Leader
[Dwarf Fortress] plays like a dizzyingly complex hybrid of Dungeon Keeper and The Sims, if all your little people were manic-depressive alcoholics. - tv tropes
You don't use science to show that you're right, you use science to become right. - xkcd

Haspen

  • Bay Watcher
  • Cthuwu
    • View Profile
Re: Proceedurally Generated RTS
« Reply #56 on: January 10, 2011, 10:52:13 am »

Logged
SigFlags!
Quote from: Draignean@Spamkingdom+
Truly, we have the most uniquely talented spy network in all existence.
Quote from: mightymushroom@Spamkingdom#
Please tell me the Royal Physician didn't go to the same college as the Spymaster.

Azkanan

  • Bay Watcher
    • View Profile
Logged
A pool of Dwarven Ale.
WHO IS RESPONSIBLE FOR THIS ?

The Doctor

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #58 on: January 10, 2011, 12:31:28 pm »

Unit counter? To see how many are left?
Logged

Armok

  • Bay Watcher
  • God of Blood
    • View Profile
Re: Proceedurally Generated RTS
« Reply #59 on: January 10, 2011, 12:45:45 pm »

Armok, you have a good point, however I am not sure how to go about doing that.  Also I'm not entirely sure what you mean by "standard units that nothing balanced should be able to beat."  Balanced meaning....?
You're doing it already! The RPS finder is such  test, although it's not the purest version of it imaginable. Try this: if you remove all the restrictions on points and so on, so that the stats are completely independent and can go arbitrarily high, and then put it to run the RPS finder, there's still a fair chance it'll find one, even if it's smaller. Now if you run the finder again from scratch every time that happens sooner or later you'll always find one... but this time you did it without artificial restrictions, which means you can get more diverse and interesting outcomes!

Now this is rather slow, but it shouldn't be to hard to find plenty of corners to cut when the player wont see the simulation, and then run a single properly detailed simulation to make sure it isn't to crazily overpowered.

Here's an example of a procedure for finding the price of an unit, for a specific role:
1) int N, N=1
2) Generate 100 "generic fighter", that has hardcoded stats
3) generate (100/N rounded down) of the unit you're testing
4) have them fright
5) if the unit wins, increment N, clear the field and goto step 2
6) else (aka the generic fighters win), terminate the test, and say the units cost 10*2^N resources

Note that while units that cost the same can be quite a bit different in power, there is a fundamental limit to how overpowered they can get; the opponent can always actually build 100 of those generic fighters for the same amount of resources and take them down.

Once you grasp the concepts involved (all of this is actually base largely of evolutionary biology and economics rather than only classical game design) coming up with testing procedures like this shouldn't be to hard.
Logged
So says Armok, God of blood.
Sszsszssoo...
Sszsszssaaayysss...
III...
Pages: 1 2 3 [4] 5 6 ... 31