Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 8 9 [10] 11 12 ... 31

Author Topic: Proceedurally Generated RTS  (Read 57106 times)

Mephansteras

  • Bay Watcher
  • Forger of Civilizations
    • View Profile
Re: Proceedurally Generated RTS
« Reply #135 on: January 25, 2011, 04:53:15 pm »

Ah, yes, idiots. Especially non-programming idiots trying to tell you how to do your job. Bah.

Just take a deep breath and remember that they're inferior creatures. ;)
Logged
Civilization Forge Mod v2.80: Adding in new races, equipment, animals, plants, metals, etc. Now with Alchemy and Libraries! Variety to spice up DF! (For DF 0.34.10)
Come play Mafia with us!
"Let us maintain our chill composure." - Toady One

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #136 on: January 25, 2011, 04:56:13 pm »

Ah, yes, idiots. Especially non-programming idiots trying to tell you how to do your job. Bah.

Just take a deep breath and remember that they're inferior creatures. ;)

Yeah.  I insulted him a few times and then went to bed for the night.
Logged

Fayrik

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #137 on: January 25, 2011, 11:19:13 pm »

Aw man.

All I can say is that I'm glad you've picked this up again. I've been watching this project with interest.

I got back to work on this today though and discovered an error that been plaguing me.
Hurray!
I've had that situation so many times, and every time, my entire programming knowledge advanced so much.

I really am excited to see the next version...
My mind is already drifting as to try and imagine a setting for such an awesome RTS.
...Perhaps something with Aliens? Then your genetic algorithms will litterally be genetic.
Logged
So THIS is how migrations start.
"Hey, dude, there's this crazy bastard digging in the ground for stuff. Let's go watch."

Mephansteras

  • Bay Watcher
  • Forger of Civilizations
    • View Profile
Re: Proceedurally Generated RTS
« Reply #138 on: January 26, 2011, 12:48:05 am »

Scrapyard 'bloodsport' with evolving robots?
Logged
Civilization Forge Mod v2.80: Adding in new races, equipment, animals, plants, metals, etc. Now with Alchemy and Libraries! Variety to spice up DF! (For DF 0.34.10)
Come play Mafia with us!
"Let us maintain our chill composure." - Toady One

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #139 on: January 26, 2011, 01:13:05 am »

My mind is already drifting as to try and imagine a setting for such an awesome RTS.
...Perhaps something with Aliens? Then your genetic algorithms will litterally be genetic.

I'm not using the "genetic" stuff right now.  The one version that seemed to work so well has turned out to be some kind of weird fluke.  On the genetics side, the swap and mutate wasn't actually causing a significant enough change in the resulting unit, so after a certain number of generations, all 12 units tended towards the same mediocre result, rather than getting stronger.

So I think, if I revisit that, that I'm going to use some pseudo-genetics, and pit things against each other in groups, rather than individually, as well as keeping the original unit (in the event that it is a stronger candidate than the mutated offspring).

So it'd work like this:

Four groups of 4 units per side.  "Left" side contains all identical units, "Right" side contains four test cases.
Of the best case in the match-up, its component RNGs are altered slightly to make three new test cases (the original unit comprising the fourth).
1) All RNGs moved away from the RNG average by 10%
2) All RNGs moved towards the RNG average by 10%
3) Highest two and lowest two RNGs swapped (so 12345 becomes 21354)

This should result in three units, based on the original:
1) Specializing towards high stats
2) Generalizing towards the middle
3) Primary factors swapped*

In any case, both the aliens and the robots ideas are plausible.  But I'm not going to impose a theme until I have mechanics. ;)  Don't want any pre-conceived notions driving the development of the underlying mechanical system.

In any case, the Player UI for creating new units will likely have a slider bar system.  E.g. something like:
Armor <----|--------> Speed
Damage <----------|--> Rate of fire

*This is to check to see if a high "A" plus a less-high "B" stats perform better when exchanged; eg. Less-high "A" and higher "B".  Likewise with the low stats.
Note: RNGs don't necessarily correspond 1:1 with a stat, which is why the low ends need to be swapped in addition to the high ends.  A low armor score influences a high speed score, for instance, so in order to fiddle with the high speed, the low armor stat needs to be altered (and hitpoints effect speed, as does a damage, etc. etc.)
« Last Edit: January 26, 2011, 01:14:56 am by Draco18s »
Logged

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #140 on: January 26, 2011, 03:31:15 pm »

Hells yeah.  Take that.  Triangle located in under 40 tests* totaling under 60 seconds.**

*Value higher than the results of less than 5 runs. :P
**Depends on simulation speed and some random factors.†  Running in a browser, rather than through flash, it appears to run at 1/4 to 1/5 the speed; which is acceptable (unfortunate, but acceptable).
†Such as a fight taking abnormally long due to opposing unit stat values (eg. two units with high armor and low damage will take longer to resolve than two units with high damage and low armor).

Edit:
Turns out there are some super units possible that really throw a wrench in the works.  Gah.  Finding these and avoiding them is difficult as all hell.
« Last Edit: January 26, 2011, 04:47:05 pm by Draco18s »
Logged

Nivim

  • Bay Watcher
  • Has the asylum forgotten? Are they still the same?
    • View Profile
Re: Proceedurally Generated RTS
« Reply #141 on: January 27, 2011, 07:04:17 am »

[...] Don't want any pre-conceived notions driving the development of the underlying mechanical system.
[...]
Armor <----|--------> Speed
Damage <----------|--> Rate of fire
[...]
This is probably the least important thing I can post; I note that speed here is the only attribute name that doesn't have preconceived notions. You're still thinking of them as solid objects; like robots or life forms. You might do better by removing the names entirely when you're designing and coding, then only adding them once the ideas have stabilized.

 If your triangle has irregularities, do you think you could draw that geometric figure even in description? Are you trying to define the distance from the center of the triangle as an absolute strength of a unit, or its strength relative to other units?

(I've lost track of how the program decides now. The side without stats displayed has confused me.)
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.

Fayrik

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #142 on: January 27, 2011, 10:39:35 am »

(I've lost track of how the program decides now. The side without stats displayed has confused me.)
Same here, it's hard to keep track of the statistics when you don't know what half of them are.
Logged
So THIS is how migrations start.
"Hey, dude, there's this crazy bastard digging in the ground for stuff. Let's go watch."

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #143 on: January 27, 2011, 10:43:43 am »

[...] Don't want any pre-conceived notions driving the development of the underlying mechanical system.
[...]
Armor <----|--------> Speed
Damage <----------|--> Rate of fire
[...]
This is probably the least important thing I can post; I note that speed here is the only attribute name that doesn't have preconceived notions. You're still thinking of them as solid objects; like robots or life forms. You might do better by removing the names entirely when you're designing and coding, then only adding them once the ideas have stabilized.

True, those things do have preconceived notions themselves, but are representative of what they are there for.

Quote
If your triangle has irregularities, do you think you could draw that geometric figure even in description? Are you trying to define the distance from the center of the triangle as an absolute strength of a unit, or its strength relative to other units?

I think I understand you here, and I think the answer is "relative strength."

Quote
(I've lost track of how the program decides now. The side without stats displayed has confused me.)

Its just like when there were both stats displayed, except that the right side consists of 4 different units.  Its kind of a mess, I know.  I think I will color them, but their stats aren't going to be listed, as there are too many of them as well as being quite fleeting.

There's four groups of 4v4 going on.  The initial 5 ships are all random.  The first group on the right that wins then gets mutated in 3 ways and fights again.  Winner of that fight is saved and becomes the unit on the left and four new random units are created.
Logged

Fayrik

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

Its just like when there were both stats displayed, except that the right side consists of 4 different units.  Its kind of a mess, I know.  I think I will color them, but their stats aren't going to be listed, as there are too many of them as well as being quite fleeting.

There's four groups of 4v4 going on.  The initial 5 ships are all random.  The first group on the right that wins then gets mutated in 3 ways and fights again.  Winner of that fight is saved and becomes the unit on the left and four new random units are created.
Surely you could just have the four listed in the same space that the original one was listed? Is it possible to use four rectangles to show relative range instead of circles?
That way, at least, we'll actually know who's packing what punch. And who's most likely to win.
Logged
So THIS is how migrations start.
"Hey, dude, there's this crazy bastard digging in the ground for stuff. Let's go watch."

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #145 on: January 27, 2011, 12:32:35 pm »

Surely you could just have the four listed in the same space that the original one was listed?

The stat blocks are pretty large.  And like I said, the information is fleeting (at least, in the IDE where it can run 30 combat rounds in 35 seconds).

Quote
Is it possible to use four rectangles to show relative range instead of circles?

Circles were so I could visualize what a "Range: 83" meant.

Quote
That way, at least, we'll actually know who's packing what punch. And who's most likely to win.

Bwu?  Range is how far away it can be from its target and shoot at it.  Has nothing to do with unit win rate!
Logged

Fayrik

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #146 on: January 27, 2011, 04:20:25 pm »

Bwu?  Range is how far away it can be from its target and shoot at it.  Has nothing to do with unit win rate!
That's not what I meant!
What I was trying to say is, with only one set of figures for one type of ship in a stage with many, it's utterly impossible to keep up with what's going on.
Yes, in the IDE it can run 30 rounds in 35 seconds, but we're only getting the end result, which currently, is just a bunch of white triangles, shooting at a randomly generated coloured triangle type.
Logged
So THIS is how migrations start.
"Hey, dude, there's this crazy bastard digging in the ground for stuff. Let's go watch."

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #147 on: January 27, 2011, 04:24:01 pm »

Bwu?  Range is how far away it can be from its target and shoot at it.  Has nothing to do with unit win rate!
That's not what I meant!
What I was trying to say is, with only one set of figures for one type of ship in a stage with many, it's utterly impossible to keep up with what's going on.

There's not much I can do to solve that problem.

Quote
Yes, in the IDE it can run 30 rounds in 35 seconds, but we're only getting the end result, which currently, is just a bunch of white triangles, shooting at a randomly generated coloured triangle type.

THIS problem on the other hand, I did solve.  How fast do you want it? ;)  I can get it down to a ~5 second execution time in the browser.  Ah, I love cheap tricks.
Logged

Fayrik

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #148 on: January 27, 2011, 04:28:59 pm »

The faster it gets the harder it is to make out, the slower it is, the more we have to wait. It's good as it is, speed wise.

But, how about a comprimize.. What if in the browser version, we could open a popup design thing that'll show how the program's doing?
Number of designs, wins, losses, etc?
Logged
So THIS is how migrations start.
"Hey, dude, there's this crazy bastard digging in the ground for stuff. Let's go watch."

Draco18s

  • Bay Watcher
    • View Profile
Re: Proceedurally Generated RTS
« Reply #149 on: January 27, 2011, 04:32:40 pm »

Ideally I don't want it to execute in a time duration that the user would notice.  Remember this is intended as a behind the scenes function.

And oh yes.  I need to color the white ones.  Just so it looks nicer.

(Execution speed at 3x, so its reasonably fast, but still watchable).
« Last Edit: January 27, 2011, 04:36:08 pm by Draco18s »
Logged
Pages: 1 ... 8 9 [10] 11 12 ... 31