[Help Request] Terrain Shift System

Danis[h]

New Member
Reaction score
19
foreword

Firstly I would like to thank you for even taking interest in this project of mine, since I am quite at a loss of how to actually making it function in the world editor, even if I have the details panned out in my mind.
I will try to be concise and clear of what I would like help in doing and what my objective is.

summary

I need a system for when a monster reaches the end of its path in my tower defense, it will cause the owning team to gain more terrain they can build on, once their terrain-type covers the entire map, they will have won the match. Each creep must be worth a different amount of "points," meaning stronger creeps trigger larger penalties. Furthermore you may only build on your own teams terrain-type.

Details

The Map: The map I am wanting to create is a type of Tower Defense, the basic platform will be rectangular, and each team will start at with a builder at opposite ends on the length side of the rectangle. The mobs (Mobile Objects, also known as Monsters / Runners / Creeps) will start at opposite end of which team who owns them (At the opponents base, and run towards the center. If the mob of a team reaches the center, The terrain of the owning team will grow to take over some of the other teams terrain.

fig1.jpg


The Terrain: Each time will have a terrain type that borders up against each other at the very center of the map, once a creature reaches the end of its path, I want the terrain to grow slightly towards the other side of the map, causing the team who let it through to lose some terrain.
Each side is broken into four corridors (one pr. Player) which conjoin at the end into a final path leading to the center.

Game Mechanics: Players are only meant to be able to build on their own terrain type. It will be favorable to build a long maze down the corridor, but you run the risk of suddenly loosing those towers (which means assets, since tower defense is essentially micromanagement)

Principle “math” for the system:
Threshold: This is a real variable which controls the whole terrain shift. I mean for it to count in percentage values, so at the beginning it will be set to 50.00
Each creep is worth a different amount of points which add onto, or subtract from the Threshold variable.
For easier reference, I will refer to the Threshold variable as a from here on.

fig2.jpg


Firstly let’s look at how I thought about describing the two rectangles (in essence there is only one which shifts, the other terrain is static)
A = w * L

The above applies to every rectangle, and as you can see on the figure C = the full map length.
Therefore: L= (C/100)*a so my new expression is A = w * (C/100)*a
As for the losing conditions: a<=0 Defeat team 1, a>=100 defeat team 2.

The problem: I do not know how to transfer the above form into something war3 can understand and execute when a monster reaches the end of its path.

Contact: Has this piqued your interest in any way? Do you have questions regarding the above, then please don’t hesitate to either add me to your IM or drop me a private message on the boards here.

Or simply reply in the thread.

I live in the GMT+1 time zone so if you’re American you’ll be most likely to find me during either morning hours or in the afternoon. During the weekends I’m mostly available at all hours on my IM
 

lovexylitol

New Member
Reaction score
2
Seems like a good concept.

Well the first method that came into mind is path blockers. It won't be difficult to create a trigger that will create/destroy path blockers to give the player land according to the equation given. There are also function that will change the pathing of a terrain at a given point.(SetTerrainPathable) This will be better since it will not create any handles.

However, I am also assuming that you need some kind of graphical effect too, like a cliff moving outwards/inwards to show that land is expanding. (If you dont, there is a function that will change the terrain type - SetTerrainType() - and your problem is solved)

Now, if you want some cliff or something, maybe using elevators can be a solution. They are easy to maipulate, and look quite decent if well used. Theoretically, you can use SetTerrainType() and Terrain Deformation functions to create perfect cliffs(never tried it before).

And for the points(value) for each creep part. Your map can't contain like more than 100 units. Why not just create a function that bijects a unit type to points. It does not look like you would need an attachment system or something like that.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      • Ghan
        Administrator - Servers are fun

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top