Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Tandem StarCraft
Tandem StarCraft
Feb 17 2010, 12:43 am
By: Chef  

Feb 17 2010, 12:43 am Chef Post #1



Hey guys, Chef from TL.net here. Been a member of SEN quite a long time too.

Several months ago I made a map called Tandem StarCraft. http://www.teamliquid.net/forum/viewmessage.php?topic_id=103059

Quote
Tandem StarCraft is UMS map inspired by the game "Tandem Chess." In Tandem StarCraft, two separate one versus one games are played, and the objective is the same as in normal melee StarCraft. The catch is that if you destroy one of your enemy's units, your ally on the other map receives that unit help him in his own battles. Likewise, if you lose a unit to your enemy, your ally's enemy will gain that unit to use against him. The first team to lose a player loses the game.

Unfortunately, there's many difficulties I haven't been able to over come, and I've opened it up to TLers to help. Most of us however are not that good with the editor to begin with.

The problems we have are:

-The number of units in the game never decreases, which means eventually the game gets quite laggy.
-Turtling strategy is rewarded too much because of how many units you give your ally's opponent when you attack a turtler (even though you have the economy to waste.


The solution would be to make units transfer only once, for the first problem. But we don't know how to do that. Heroes aren't a viable solution since they come with upgrades and not all units have hero conterparts. Forcing players to choose particular races takes the fun out of it. I know SENers have come up with insane workarounds before for their maps, so that's why I come here.

For the second problem we are debating how to deal with it... I feel in the first problem is solved, the second because at least less of a big deal. It's hard to say though. Much discussion has occured recently.

http://www.teamliquid.net/forum/viewmessage.php?topic_id=103059&currentpage=15

If you can help I would love for you to come visit TL and post your thoughts in the thread. Lots of people are very excited about the concept of the map, it's just working it out into something that has proper gameplay that is proving to be a problem.

Thanks a tonne! Hope to hear from you soon.

PS: Sorry if this post seems pretentious T.T



None.

Feb 17 2010, 12:54 am NudeRaider Post #2

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

You should provide more info on the mechanics of your map or we can't give good advice.

I mean the obvious solution to the first would be to remove units, but you didn't say anything why this isn't possible.
Also, how attacking a turtler gives a 3rd player an advantage is not at all clear.




Feb 17 2010, 1:01 am Chef Post #3



Mmm.. The OP post I linked to gives a very good description but I'll try to explain what exactly the triggers are like... They're pretty simple though so it might be easier to look in the map.

Basically I use deathcount. If a player suffers a unit death his ally's opponent gets a unit. Dandy. But there's no way to keep track of which units his ally's opponent got this way, and units his ally's opponent just created if they are the same race. So if his ally's opponent loses a unit, it just goes right back to the original player. I want to stop that from happening.

The reason it is imbalanced is because the players are on separate halves of the map. It's like two separate 1v1s except for this mechanic. So say a terran 1fac seige expos to his nat... maybe slow pushes to his third with nothing but turrets, seige tanks, tonnes of mines, etc. In a normal 1v1 this is a huge mistake because it gives his opponent map control and all the resources he could ever want. Which means his opponent doesn't have to worry about being efficient with his units. He can just slowly break down the turtler because his massive economy will allowed him to rebuild a 200/200 army in like 30 seconds every time he loses it (where the turtler will slowly lose his army, but won't be able to rebuild it). In Tandem StarCraft if you do this the turtlers ally gets all those heaps of units that the player keeps throwing into the turtler, which means the turtler's ally can just crush his own opponent easily. So really fixing problem one doesn't even totally solve problem 2...


The only solution I've been able to think of is capping the score at which a player can still receive tandem units... But many people don't like this idea as it creates a weird upkeep like dynamic that war3 has which is abusable. It also takes away from the spirit of the map.

Post has been edited 1 time(s), last time on Feb 17 2010, 1:08 am by Chef.



None.

Feb 17 2010, 1:07 am Lanthanide Post #4



You're not going to get a decent solution to your first issue, I don't think.

There is no (sensible) way to tag individual units so that they are only given to the opposing side once. That is, P1 has 2 marines Bob and Charles, and Bob gets killed and is given to P3. When P3 loses Bob, there is no way to say "oh, Bob was from P1 originally, so now he just dies forever". The closest approximation you can get is to say "P3 has received 1 marine from P1, so the next marine that dies from P3 will be killed permanently"; in this case P3 receives Bob from P1, and then when P3's Xaviar is killed he dies permanently, and when Bob dies he is given back to P1.

Maybe something *could* be done with EUD's that detect a unit's colour, but that is complete speculation by me and I have no knowledge of what is possible with EUDs. The idea here is that the game is 2vs2, and you use P5-8 as rescuable CPUs. So when P1 loses a marine, a new rescuable marine is created for P7 inside P3's base. P3 rescues the marine and the marine retains it's original P7 colour. If you could then detect in a EUD condition the colour of a unit, you could say "P7-coloured marines that die are dead for good".

You can realistically only make this perfect by having different races for each player, so you know that any zealots P3 owns must have first come from P1, so they can die permanently for P3. You'd need to disable Mind Control in this instance (or maybe not).



None.

Feb 17 2010, 1:10 am Chef Post #5



I thought about colour too, but I am not familiar with advanced editors or triggers at all, and know that the original editor isn't capable of this stuff.... However, this is exactly why I need SEN :D! In case you guys do know!



None.

Feb 17 2010, 1:11 am Neki Post #6



How about using hero units for the transfer? Once a hero unit dies, don't bring it back maybe? Can't really control their tech or upgrades though, and they no longer take supply, but it's the only thing I can think of. ;o

Quote
There is no (sensible) way to tag individual units so that they are only given to the opposing side once. That is, P1 has 2 marines Bob and Charles, and Bob gets killed and is given to P3. When P3 loses Bob, there is no way to say "oh, Bob was from P1 originally, so now he just dies forever". The closest approximation you can get is to say "P3 has received 1 marine from P1, so the next marine that dies from P3 will be killed permanently"; in this case P3 receives Bob from P1, and then when P3's Xaviar is killed he dies permanently, and when Bob dies he is given back to P1.

Actually, this sounds reasonable. Every time you transfer a specific unit, keep track of it for the player that recieved, adding a death count. As long as the player has at least one death count in this, he will not transfer units of the same type? For example:
P1 builds 5 marines
P1 loses 3 marines
P2 gets 3 marines
P2 gets 3 death counts added to "# of marines"
P2 loses 1 marine
P2 subtracts 1 death count from "# of marines"
P2 builds 6 marines
P2 loses 8 marines
P2 subtracts 2 death counts from "# of marines"
P1 gains 6 marines.
etc.





Post has been edited 1 time(s), last time on Feb 17 2010, 1:18 am by Taylor Swift.



None.

Feb 17 2010, 1:16 am Lanthanide Post #7



Taylor: Yes, that's the idea. It'll work in general, but will not track specific individual units as having been received from the enemy.

One concept, that basically extends (and solves) the colour problem I suggested, is that of Team Melee, where Player 1 can control Player 1 and 2's units, but triggers for Player 1 should only affect P1 units and vice versa for Player 2. That way you could give all P3's received units to P7, and have P3 control P3 and P7 units, and when P7 units die, they die for good.

But there's probably no way to run UMS and Team Melee at the same time?

Edit: Actually now that I think about it, I think Team Melee has 2 humans controlling 1 player slot, which can potentially use all 3 races. So this wouldn't help anyway.



None.

Feb 17 2010, 4:45 am Apos Post #8

I order you to forgive yourself!

Not sure if I understood the correctly but...

Let's say teams are Player 1, 2 vs Player 3, 4. (Player 1 is agains player 3 and Player 2 is agains Player 4)

Player 1 gets 1 death of terran marine, set death of terran marine to 0 create and 1 terran marine for player 4.

Wouldn't this work? Now do this for all the units that will be used in the game and it should give the right amount every time a unit is killed.

Hopefully that helped.

Edit: Also, there is a tutorial somewhere on Sen that explains how to modify the Unit limit so you could set it to 100. And you can always set a maximum so that if it is reached, the triggers stops until it goes back down. (Don't forgot the subtract the death still.)

Post has been edited 1 time(s), last time on Feb 17 2010, 4:52 am by apos.




Feb 17 2010, 3:52 pm NudeRaider Post #9

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Alright, your "ally support" mechanic is the problem here. What you want is if a player is doing well he supports his ally (more than his opponent his ally). But your method of "detecting" if a player is doing well is flawed: only kills/deaths.

So what you need to do is add in other factors that determine if a player is doing well. My recommendation is base the amount of support off the money a player spent. Because if a player turtles his opponent has map control and thus more resources available, so he should spend more money.

There's several possible variations to it:
1) Deaths + Mineral loss
- 4-10 deaths of a certain unit type yield that unit for your opponent's ally. Yes, 25% - 10% of the units killed is easily enough to tip the tide of a game. Not giving the units 1:1 gets rid of the problem of ever increasing unit numbers.
- Store the current minerals of a player into a death counter via Binary Countoffs and wait a trigger loop. Then detect the difference of the current minerals and the death count containing the old mineral count using Counter Arithmetics. More specifically: Subtract the old mineral count from the current one and check if it's > 0. Then you can give a fraction (division!) of what's left in your result counter to your ally.
Hyper triggers are highly recommended for this.

This hybrid method would be my favorite. Just balance it so that an attacker gives more to his ally than the turtler. (aka make money spent more powerful than unit deaths)

2) Mineral loss only

3) Amount of units controlled

4) Whatever else you can think of

5) Any combination of the above




Feb 17 2010, 4:53 pm Chef Post #10



Yeah, we've already talked on TL about making it 1 unit for every 2 that are lost but I don't like that. It means a player will be influenced to do things like only making 1 shuttle or 1 reaver drops, which ruins the fun a bit and puts up artificial restrictions.

I don't like the idea of just transferring minerals and I don't think it helps prevent turtling. What makes the map fun is that you get to use units from another race to help you... like your opponent can kill an overlord and suddenly you can skip observer tech.

It's not that turtlers won't get high unit counts, it's that they won't be able to rebuild them as easily. More minerals won't really help. I don't really think anyone will prefer tandem over normal SC if it's just minerals anyway.

Though maybe I'm not quite understanding what you mean by this mineral loss thing.. Can you put it in laymen's terms? What actually happens with this? You have excess minerals from map control, so you automatically share them with your ally? How does that really help?



None.

Feb 17 2010, 5:16 pm NudeRaider Post #11

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Then give the first unit, but from then on only on every 5th kill.

You don't need to transfer minerals. Once you have detected the value you can give any reward you like. Maybe make a hero selection. Minerals translate to buyers.

You can either detect static unit count or the money spent, as I suggested. The turtler won't be able to spend much money.

Detecting mineral loss tells when a player has built something. Having excess minerals does nothing (in my suggestion), but spending them will be detected. Well I thought transferring a percentage of these spent minerals to your ally because it's the most obvious solution but nothing is stopping you from inventing your more creative rewards. Like heroes (see above) or whatever.




Feb 17 2010, 10:44 pm Sacrieur Post #12

Still Napping

NudeRaider has some great ideas.

For once in my life I actually see a use for kill score. Kill score is unchangeable in the mapping world and is built upon the original units and how much they're worth in the actual game. Since you're working within the limits of the original game you can use this to your advantage. Why not simply read the player's kill score and allow the ally to buy units based on this kill score. So if a protoss player killed 2 marines he would have a kill score of 200, which would be subtracted and added to the ally's virtual or resource reserves. From there the ally could buy a zealot with the 200 points.

There is another option that might lower the effectiveness of the ally. If you translate kill score into minerals (subtract 2 kill score and add 1 mineral) then have building facilities off to the side the player could build units with a regular build time. This means that units won't instantly pop into existence, and simply bolsters the main player's production facilities.



None.

Feb 18 2010, 12:53 am Koltz Post #13



If you dont wanna do any fancy shit the best way would be to recreate a hero unit instead of the regular. Of course, this wouldn't be possible for the lurker. (then perhaps for lurkers instead of using heros you do the method below)

The other method is as taylor swift stated, extremely easy. Just keep a DC counter of whats already been transferred. However, there would be no tracking on the exact units which deserve to be reborn and which do not. Whats more, you must always break the threshold of "debt" prior to transferring units.

My opinion, create heros instead of the originals, and for lurker use the 2nd method.

Short of creating some sort of mimic system, this would definitely be the best.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[01:24 pm]
Vrael -- NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
[2024-4-30. : 5:08 pm]
Oh_Man -- https://youtu.be/lGxUOgfmUCQ
[2024-4-30. : 7:43 am]
NudeRaider -- Vrael
Vrael shouted: if you're gonna link that shit at least link some quality shit: https://www.youtube.com/watch?v=uUV3KvnvT-w
Yeah I'm not a big fan of Westernhagen either, Fanta vier much better! But they didn't drop the lyrics that fit the situation. Farty: Ich bin wieder hier; nobody: in meinem Revier; Me: war nie wirklich weg
[2024-4-29. : 6:36 pm]
RIVE -- Nah, I'm still on Orange Box.
[2024-4-29. : 4:36 pm]
Oh_Man -- anyone play Outside the Box yet? it was a fun time
[2024-4-29. : 12:52 pm]
Vrael -- if you're gonna link that shit at least link some quality shit: https://www.youtube.com/watch?v=uUV3KvnvT-w
[2024-4-29. : 11:17 am]
Zycorax -- :wob:
[2024-4-27. : 9:38 pm]
NudeRaider -- Ultraviolet
Ultraviolet shouted: NudeRaider sing it brother
trust me, you don't wanna hear that. I defer that to the pros.
[2024-4-27. : 7:56 pm]
Ultraviolet -- NudeRaider
NudeRaider shouted: "War nie wirklich weg" 🎵
sing it brother
[2024-4-27. : 6:24 pm]
NudeRaider -- "War nie wirklich weg" 🎵
Please log in to shout.


Members Online: Roy, Excalibur