Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 11 12 [13] 14 15 ... 31

Author Topic: Proceedurally Generated RTS  (Read 57115 times)

Akhier the Dragon hearted

  • Bay Watcher
  • I'm a Dragon, Roar
    • View Profile
    • My YouTube Channel
Re: Proceedurally Generated RTS
« Reply #180 on: February 03, 2011, 02:23:54 am »

   If it was that straight forward we would be so lucky.
In general anything can tank or deal damage. As long
as the enemy is not oneshoting you and you have
a healer your could tank all day. As long as nothing is
targeting you, you can deal all the damage you want. In
the end I think that beside some basic stuff like names
we should not let this talk effect the end product.
Also for the first random names we should use DF's
Dwarf language in some way. After all what fun would
it be unless you can send wave after wave of Urist type
fighters to the enemy with names like Soapmaker and
Hammerer.
Logged
Quote
Join us. The crazy is at a perfect temperature today.
So it seems I accidentally put my canteen in my wheelbarrow and didn't notice... and then I got really thirsty... so right before going to sleep I go to take a swig from my canteen and... end up snorting a line of low-grade meth.

squeakyReaper

  • Bay Watcher
  • Legendary Cheese maker
    • View Profile
Re: Proceedurally Generated RTS
« Reply #181 on: February 03, 2011, 02:27:57 am »

Legendary Cheesemaker, piloted by Bembul, could out-kite your novice Liar any day.

And it's all idle chatter, really.  He probably has an idea of what his little games' "future" will be, and if he doesn't now he probably won't let us call dibs on features quite yet.  And yes, technically anything can deal damage, but the variety of ways to do so is nice, doubly nice if its effective.
Logged

Akhier the Dragon hearted

  • Bay Watcher
  • I'm a Dragon, Roar
    • View Profile
    • My YouTube Channel
Re: Proceedurally Generated RTS
« Reply #182 on: February 03, 2011, 02:34:51 am »

   Yes Draco probably knows where he wants it to go
but one of the fun things about putting you ideas on
forums is that you can steal any of the good ideas and
say you had already thought of them.
  Anyway the code is what it is and my knowledge of
the language it is written in is pitiful so unless it magically
turns into some kind of C type language I have to
depend on Draco or try to do it myself. I am already
ahead from this thread anyway because of a link posted
earlier to a neat site on AI that had a good piece on
Genetic Algorithms.
Logged
Quote
Join us. The crazy is at a perfect temperature today.
So it seems I accidentally put my canteen in my wheelbarrow and didn't notice... and then I got really thirsty... so right before going to sleep I go to take a swig from my canteen and... end up snorting a line of low-grade meth.

squeakyReaper

  • Bay Watcher
  • Legendary Cheese maker
    • View Profile
Re: Proceedurally Generated RTS
« Reply #183 on: February 03, 2011, 02:38:38 am »

Order of the Stick's author is a spiteful person.  He used to read the forums and change his comics just so that people's predictions were proven wrong.  He doesn't any more, and vows not to read the forums so people can't just claim "I had that idea all along and he used it".  Hehe.

I know C#, but I hardly know anything about AS3.  Good reason to learn, right here.  Honestly, some of the stuff you guys are saying is...  a bit over my head.  I might just be doing it wrong, but I seem to get similar results using techniques that are a lot...  more simple.  Less efficient, mind you, but all this gene and gaussan randoms and...  all that, kind of go over my head a bit.  That being said, I get the job done, don't count me as a fool.  xD
Logged

Akhier the Dragon hearted

  • Bay Watcher
  • I'm a Dragon, Roar
    • View Profile
    • My YouTube Channel
Re: Proceedurally Generated RTS
« Reply #184 on: February 03, 2011, 02:44:42 am »

   I am as of last week taking a collage class for C#
and in the past I have learned a bit about the many
different C type languages. I have also had a class
for (X)HTML and learned on my own a little bit of
python and a few miscellaneous other.
   Over all it is not a matter of using simple or complex
techniques but a matter of using what you know the
best. Also Google is your friend. I know less then I seem
to because of my high level of GoogleFu.
Logged
Quote
Join us. The crazy is at a perfect temperature today.
So it seems I accidentally put my canteen in my wheelbarrow and didn't notice... and then I got really thirsty... so right before going to sleep I go to take a swig from my canteen and... end up snorting a line of low-grade meth.

SniHjen

  • Bay Watcher
    • View Profile
    • http://www.youtube.com/user/Hacenten
Re: Proceedurally Generated RTS
« Reply #185 on: February 03, 2011, 03:28:38 am »

me being a jack of all trades (master of nothing)...

Perhaps the point buy systems should be backwards.

so, make the unit, figure out the cost, and then find how many can be fielded.
eg, ship-type one might be a failure, with a point cost of 100, while ship-type 2 might cost 500,
then just have them battle at a 5 to 1

OR:
How about a rising cost, so the first 10 range cost 1, and the +10 cost 2, +12 is 3 etc...?
Logged
That [Magma] is a bit deep down there, don't you think?
You really aren't thinking like a dwarf.

If you think it is down too far, you move it up until it reaches an acceptable elevation.

Akhier the Dragon hearted

  • Bay Watcher
  • I'm a Dragon, Roar
    • View Profile
    • My YouTube Channel
Re: Proceedurally Generated RTS
« Reply #186 on: February 03, 2011, 03:34:36 am »

   Good idea but at the moment Draco is trying for a
stable triangle where equal teams results in a stable
win/loss equation of a>b, b>c, and c>a. If the teams
are != then it would kind of defeat the purpose right
now. Draco needs to get the basic game engine to
work properly before we can get into anything to
fancy. I think it uses point buy still but it may not.
Logged
Quote
Join us. The crazy is at a perfect temperature today.
So it seems I accidentally put my canteen in my wheelbarrow and didn't notice... and then I got really thirsty... so right before going to sleep I go to take a swig from my canteen and... end up snorting a line of low-grade meth.

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #187 on: February 03, 2011, 11:52:58 am »

To finally be awake to chime in...

Quote
1 beat 2 and 3, 2 beat 3, in the first two generations.

That's the problem I'm trying to solve.

Quote
Also a silly speculation, feel free to dismiss.  Should the goal of this be "generate a new set of units each time", or "generate units instead of having them pre-made"?

The latter.  Figure the player plays a whole campaign with the same set of units (or the same initial set, if "research" is allowed).  But they could start a new campaign that would then create new units again.

Quote
I do remember him mentioning earlier that he may try to apply archetypes to his units; that is, the high armored ones being named something Tank-related and the high damage ones being bombers.  As long as we get something within each archetype, or most archetypes fulfilled, I'm happy.

Archetypes are/will be named based on their stats.  It's not like the program "generates a tank" and performs a different set of generation rules than it would for "generating a fighter."  What happens is that a unit is generated and then based on the result assigned a name (not that I've been doing that yet).

Quote
The game could figure out which is the most efficient at just straight up dealing damage over time, ignoring other factors, and make that the DPS related unit.  It's a jumble between damage, bullet multiplier, ROF and possibly even reloading if you can shoot fast enough.

Thing is, a low DPS unit that can out-maneuver the other unit can win, even though its DPS is lower.  So its not all about the DPS.

Quote
As long as the enemy is not oneshoting you and you have a healer your could tank all day.

No healing units exist yet. :P
But yes, your statement is true.
Of course, I as a support unit in League of Legends (Heimerdinger) HP tanked a melee unit (Warwick) successfully three times.  The only time he killed me, my turret killed him a second later.  It helped that I was three levels higher than he was, but 1.5 seconds of stun and an additional 1.5 seconds of not being able to attack* meant that I was half-way to having my abilities recharge to do it again.

*The concussion grenade on his head stuns for 1.5 seconds and blinds for 3.  Blind means "auto attack misses."  Warwick being a melee unit, all his skills are based around making his auto attack better.

Quote
so, make the unit, figure out the cost, and then find how many can be fielded.
eg, ship-type one might be a failure, with a point cost of 100, while ship-type 2 might cost 500,
then just have them battle at a 5 to 1

I did poke at that once, swapping between a "16 point buy" and a "32 point buy" (where there were twice as many as the former) and while it worked in that sometimes one side won and sometimes the other side won, it didn't have a good end result (the triangle would always contain two of one and one of the other, obviously).  I only did it to see that there was not inherit power of the units being twice as strong, provided they were half in number.

Quote
OR:
How about a rising cost, so the first 10 range cost 1, and the +10 cost 2, +12 is 3 etc...?

That kind of math is really tricky to work out in an algorithm, as its a recursive action.  The other issue is that it disincentives specialization too much and with units tending towards an average center, the triangle units wouldn't appear very unique.

It works for things like D&D because players are trying to hyperspecialize.  My algorithm isn't.

Quote
I think it uses point buy still but it may not.

It kind of does, but more in the sense that "all the stats add to 12" kind of point buy.  Range is the last stat defined and is based on how many points went unspent, so really it's a stat that's based off all other stats (the higher everything else, the lower the range).  Range is also semi-quadratic so that large ranges are distinguishable from each other (78 range and 76 range aren't distinct enough to matter (3%), where as 18 range and 20 range probably are: 10% difference).
Logged

Akhier the Dragon hearted

  • Bay Watcher
  • I'm a Dragon, Roar
    • View Profile
    • My YouTube Channel
Re: Proceedurally Generated RTS
« Reply #188 on: February 03, 2011, 12:19:28 pm »

It kind of does, but more in the sense that "all the stats add to 12" kind of point buy.  Range is the last stat defined and is based on how many points went unspent, so really it's a stat that's based off all other stats (the higher everything else, the lower the range).  Range is also semi-quadratic so that large ranges are distinguishable from each other (78 range and 76 range aren't distinct enough to matter (3%), where as 18 range and 20 range probably are: 10% difference).
   That's an interesting idea. I like it though I would have
made speed the last one. After all the more junk you put
on a ship the slower it would go. But range and speed are
in the same category of stats so it probably does not make
that much of a differences, especially since everything is
currently trying to get at each other. Right now even if a
unit has no speed it could win if it has enough range and
attack power.
Logged
Quote
Join us. The crazy is at a perfect temperature today.
So it seems I accidentally put my canteen in my wheelbarrow and didn't notice... and then I got really thirsty... so right before going to sleep I go to take a swig from my canteen and... end up snorting a line of low-grade meth.

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #189 on: February 03, 2011, 12:44:23 pm »

I'd have to check on speed, but I do know that it's a function of HP, Armor, and Damage.

I think it's close to 17 - (pointsOnHP + pointsOnArmor + pointsOnDamage)
Logged

Akhier the Dragon hearted

  • Bay Watcher
  • I'm a Dragon, Roar
    • View Profile
    • My YouTube Channel
Re: Proceedurally Generated RTS
« Reply #190 on: February 03, 2011, 12:46:52 pm »

   That actually makes more sense! It seems you have
the stats that are currently done implemented well. Now
we just need to track down what is causing the problem
in the code for fighting and fix it then you can do some
more interesting things.
Logged
Quote
Join us. The crazy is at a perfect temperature today.
So it seems I accidentally put my canteen in my wheelbarrow and didn't notice... and then I got really thirsty... so right before going to sleep I go to take a swig from my canteen and... end up snorting a line of low-grade meth.

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #191 on: February 03, 2011, 01:17:10 pm »

Quite.

Additional stats are going to be fairly rare, I think.  I might still do ammo types, but not with bonuses against hull types, but so that a possible "special" would be "immune to shell ammo" or "immune to missiles."  Hull types will be inferred from armor level (i.e. no armor is "ultra-light", 1-5 is "light", etc.) just so that ship structure is inherent to how armored it is (makes sense, right?).  Possibly specials for bonuses against hull types, like "2x damage to ultra-heavy armor."

Specials would have to be tested though.  It'd could be real easy to end up with something that would always be over powered.
Logged

eerr

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #192 on: February 03, 2011, 01:24:24 pm »

If that small unit is literally dancing around the heavier unit, the heavy should have a round for taking out lighter-armoured foes.

lighter-armoured than average.
Logged

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #193 on: February 03, 2011, 01:25:59 pm »

If that small unit is literally dancing around the heavier unit, the heavy should have a round for taking out lighter-armoured foes.

lighter-armoured than average.

In a real-world scenario, sure.  Its why tanks have machine guns.  But it makes it really hard to balance units when one of them is designed to counter two others.
Logged

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #194 on: February 03, 2011, 03:17:45 pm »

So I dropped in a bit of code to check the "distance" any generated unit is from the goal unit, tried to find a minimum distance that would cause some "rerolls" but allow a good range for accepable-ness (which I have as 0.4 right now)--max possible is 2,* but most units tend to be under 1 (I've seen a few that were over 1, but generally not by much--1.25 and under).

Hasn't seemed to help any.  I still get units that beat their supposed counter.

Did find that targets were being chosen at random from the list of units in range, which would account for the randomness in the fight outcomes and changed that to be 0 ("first unit in the list")...except that didn't change their behavior at all.  I.E. its still "random" in outcome.

*While there are 5 numbers that go in, I'm only using 4.  The fourth and fifth are interchangeable (multiplied together), so I averaged them into one value.
Logged
Pages: 1 ... 11 12 [13] 14 15 ... 31