Evolving Tower Defense

Started by
4 comments, last by Servant of the Lord 9 years, 4 months ago

Hi all clear.png:)

I'm currently developing a TD and I would like some feedback at this point. What makes this TD special is that I have tried to use machine learning for adjusting the waves to counter the players current tower setup. I use Evolutionary Programming to figure out what could potentially be the best wave against the players setup after each wave has ended. I hope that this will give a more dynamic game that can adjust to the players playstyle and make him/her reconsider.

I have made two versions with different approaches. I have been able to make it through each approach - I had to use some tries to clear version 1 and my record is surviving with 4 lifes. clear.png:) After the game is over there is two question that I would like you to answer so I can continue my work.

Thank you in advance and I hope you enjoy. Please feel free to ask questions if you want to know more about the approach.

(NB: if you are a Mac user you might know that Unity Webplayer plugin just go outdated with the new Google Chrome update so you will have to use Safari)

Version1: www.janolesen.org/evolvingTDv1.html

Version2: www.janolesen.org/evolvingTDv2.html

Advertisement
Version 1:
I instantly had trouble memorizing what towers were good against what monsters. I would have assumed green would be strong against poison, and blue strong against frost.
With the path against the ocean, it looks like beaches, so I didn't realize that was a monster path, and wasted all my money, so I had to restart after the first wave.
By 'restart', I mean I refreshed the page since there was not yet a way to actually restart. (I know it's an early version, but figured I'd mention it anyway)
Ended up restarting a second time only on the third wave, because I didn't realize bomb towers are practically required to win.
Normally I start tower defense games with a few basic dart towers to get a feel for things, but that didn't work here.
I'm almost positive your "Lifes" isn't decreasing properly. Sometimes four or five monsters would go by, and I'd only lose two life.
The "Evolving..." process was very slow. It's very annoying that it pauses when the game doesn't have focus.
I made it to Wave 9 before dying.
"How enjoyable was the game?"
Somewhat enjoyable. It has the potential to be really enjoyable.
"How adaptable did you find the waves?"
I wouldn't have noticed it had you not said in this forum post that they are adaptable.
Even knowing it, it was hard to tell, because I had trouble memorizing (read: I didn't even bother trying) what the strengths and weaknesses of the monsters were.
Version 2:
Made it to wave 8 before dying.
The "Evolving..." process started was *significantly* faster. It's still very annoying that it pauses when the game doesn't have focus.
In both versions of the game, it's annoying you can only place your towers in pre-decided locations.
Really, there is no reason to place any other type of tower except bomb towers. MAYBE frost towers.
"How enjoyable was the game?"
Same answer
"How adaptable did you find the waves?"
Same answer. Can't tell at all.

I couldn't access the htmls. They came up blank. Should I have waited longer?

I couldn't access the htmls. They came up blank. Should I have waited longer?

They use the Unity plugin. The links work on Chrome/Win7.

Thanks for your feedback Servant of the Lord.

I instantly had trouble memorizing what towers were good against what monsters. I would have assumed green would be strong against poison, and blue strong against frost.

Down in the right corner you can open the info sheet again to see what counters what.

With the path against the ocean, it looks like beaches, so I didn't realize that was a monster path, and wasted all my money, so I had to restart after the first wave.

There are two arrows in each path but maybe I can animate them so people will see them.

I'm almost positive your "Lifes" isn't decreasing properly.

Will look into this. smile.png

The "Evolving..." process was very slow. It's very annoying that it pauses when the game doesn't have focus.

I have now fixed and uploaded it so it can run in the background. One of the downsides of using an algorithm like this is that it is computational heavy. For version two, there is a reason that it runs significantly faster that I maybe can explain later. smile.png

In both versions of the game, it's annoying you can only place your towers in pre-decided locations.

I just tried to see how the most popular TDs on armorgames build their maps, as I first wanted to see if the algorithm will make a game enjoyable before also making the towers/maps unique. I am fan of maze TDs from WC3 and could be nice to make it into that maybe, or have a few levels that have that feature.

Ended up restarting a second time only on the third wave, because I didn't realize bomb towers are practically required to win.

I also use them early game but if I have to win I will have to use a combination of all the towers, at least that was how I won version 1.

Final thought:

Maybe people will only see the adaptability of the algorithm if the played the game a lot, but if you want to see it adapt you can try version 1 where you build in first one side, let it evolve, run the wave, sell the tower and build in other side and then let it evolve. It should also be able to figure out what combination of creeps it should send against the towers. At least when I try the same approach of towers in version 1 and 2 I got countered a lot faster in version 1.

Down in the right corner you can open the info sheet again to see what counters what.


I saw it. Doesn't help. The enemies visually need to hint at their weaknesses/strengths. The sounds and visuals when a tower shoots them need to hint at how effective it was.

If purple rhinos are immune to ice, and yellow baboons are weak against fire, and green penguins have piercing resistance, I won't remember any of it, because purple and rhinos are no way connected to ice in my mind, and yellow and baboons aren't related to fire, and penguins and the color green don't hint anything about being immune to piercing.

There are two arrows in each path but maybe I can animate them so people will see them.

Once I saw it was there, they were easy enough to see. I just didn't notice them at first, because when I see sand (or yellow dirt) next to water the colors automatically are associated in my mind to mean "beach" not "path", even if the same

This can be fixed by put a little grass between the path and the water, or having when the map first starts, before the first wave is released, draw the path with red lines, and then fade out the lines when the first wave begins.

I just tried to see how the most popular TDs on armorgames build their maps, as I first wanted to see if the algorithm will make a game enjoyable before also making the towers/maps unique. I am fan of maze TDs from WC3 and could be nice to make it into that maybe, or have a few levels that have that feature.


I don't mind that the enemies follow paths. But I should be able to put towers down anywhere (except water or the path itself). I wanted to place towers in some spots but there were no tower slots located there.

Alternatively, add more slots. Right now there's not enough positioning choices for me as a player.

Maybe people will only see the adaptability of the algorithm if the played the game a lot

Will your average player play it enough to notice?

If it's an important selling point for your game, theme the game around it. Make the creeps be bacteria that keeps mutating, or something, and the towers be white-blood cells. Or using computer viruses and firewalls and anti-viruses.

Use visuals to indicate the behavior (the enemies visually changing appearances, for example, as if they themselves are mutating), and use dialog between waves to further inform players. Even if you're using humans that don't change, you can do alot more to cue players into what's going on (if players understanding it is important).

Siege general: "Gwah, they blocked our [western] advance using their [bomb towers]! Send our [armored units] in that direction to counter them!"
Underling: "Yessir, general!" *salutes* "What about our [cavalry]?"
Siege general: "We'll use the [cavalry] against their [ice towers] in the [east]!"
Underling: "Brilliant idea, general sir! Our victory is assured!"

(Warning: cliched characters are for illustration purposes only laugh.png)

Similar dialog or indications can be done with whatever theme you use, whether monsters, bacteria, humans, robots, computer AI, or whatever.

Players then even had a heads-up in advance of the wave being released about what directions the units will go, which can be further incorporated into the gameplay. Not many tower defense games tell you what types of units are going to be released before you place your towers, but that gives the players more information, allowing them to make informed decisions, possibly making the game more enjoyable.

You can even use it to mess with players. Say, on the 15th wave, the general says, "Quiet! I think our communications have been getting captured! How else could they be beating my brilliant strategies?", first, it's a compliment to the player (making them feel good, and thus enjoy the game more), and then second, for that wave the player doesn't know what's coming (playing with info after previously have information for other waves).

And then, on the next wave, the 16th, the general can say, "Send all our [armored units] to the [east]!"

But then suddenly, when the wave begins after the player has placed their pre-wave towers (but still able to place towers during the wave), the general actually does the opposite of what he said, and then says, "Ha! My misinformation campaign worked! They thought our [armored units] with going [east], but they really are going [west]! I shall be victorious!", making the player feel surprised but actually enjoying being lightly tricked, and doubly enjoying it after overcoming the wave.

They normally say "Show, don't tell" in movies, and "Play, don't show" in games, but for things that aren't visible like the thinking of an AI routine, you're going to have to up your visual displaying and verbal telling to get the message across.

This topic is closed to new replies.

Advertisement