Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Математика макроменеджмента расы Терранов, часть 1




О роли макроменеджмента

Предок Starcraft 2, наш старый-добрый Brood War, стал одной из лучших игр в истории компьютерного человечества благодаря, в основном, идеальному сочетанию микро и макроуправления, которое создавало огромный мультитаскинг для игрока, вынуждая того с большой скоростью совершать множество нужных действий. Надо сказать, что в первом СК исход практически всех затяжных игр решает именно макроуправление (ведь если ваше макро на порядок сильнее оппонента, то у вас будет на порядок больше войск, а значит, даже на порядок лучшее микро часто не сможет спасти вашего соперника), в то время как микро важно больше на начальной стадии игры.


Итак, что такое вообще макроменеджмент, зачем он нужен и из чего он состоит? Так как наша статья не посвящена макроуправлению в общем, позволю себе процитировать статью про макро в SC2, перевод которой был размещен на sc2tv.ru:
«Существует множество определений макроменеджмента. Но объединяет их то, что макро относится к увеличению численности вашей армии, а микро – к улучшению микроконтроля над ней. Некоторые другие определения относят макро к выбору экономической стратегии, а микро – к выбору боевой тактики.
Тем не менее, подавляющее большинство определений описывают основную суть макро менеджмента как добычу и расходование ресурсов, в то время как микро – отдача приказов вашим юнитам. Эти две задачи поглощают все внимание игроков, которым необходимо сбалансировать своё макро и микро наиболее эффективно»
. (http://www.sc2tv.ru/1185-problema-makro-v-starcraft-ii.html)

Что ж, поделим условно процесс макроуправления на добычу и расходование ресурсов (aka производство). Попробуем построить эти процессы таким образом, чтобы и добыча, и расходование ресурсов были оптимальными для определенного периода времени в игре. Для этого нам необходимо несколько числовых данных, которые позволят нам лучше понимать принципы макроменеджмента в Starcraft II.
Начнем с добычи ресурсов.

Добыча ресурсов:

SCV+Обычные минералы:
- 1 терранский SCV приносит за минуту в среднем 60 минералов (на самом деле: от 55 до 65 минералов, совершая 11-13 ходок по 5 минералов; конкретное количество принесенных минералов зависит от расстояния, которое отделяет «кучку» с минералами от СС);


- Для количества рабочих на базе N при N меньше или равно 2*K, где K – количество кучек с минералами на базе, ваша минеральная составляющая RPM (Resource-Per-Minute – количество добытых ресурсов за минуту; RPM состоит из суммы количеств газа и минералов, добывающихся за минуту; в дальнейшем в той части статьи, где речь идет исключительно о минералах, под RPM будет пониматься исключительно его минеральная составляющая) ~ 60*N (здесь и далее: знак ~ будет использоваться в значении «эквивалентно», «примерно равно». Это означает, что теоретически показатель RPM будет именно таким, однако на практике возможны небольшие (до 5-10%) отклонения от формулы), т.е. количество добываемых минералов прямо пропорционально количеству рабочих, которые их добывают;


- При N>2*K формула, указанная в предыдущем пункте, теряет свою силу. Конкретную формулу для N>2*K получить крайне сложно. В любом случае, при каждом следующем рабочем RPM незначительно увеличивается вплоть до N=3*K. При N>3*K каждый следующий рабочий практически неэффективен; о природе этого явления мы поговорим чуть ниже.


Несмотря на то, что в вышеприведенных расчетах упоминается только терранский SCV, точно такие же цифры мы получим позднее и для зерговских дронов, и для протоссовских пробок! Поэтому игрокам других рас также было бы полезно ознакомиться с указанными числами.

Комментарии:


Процесс добычи минералов построен таким образом, что из каждой кучки минералов может одновременно добывать только один рабочий. Однако, время собственно добычи минералов из кучки примерно равно времени, за которое рабочий проезжает от кучки до СС и назад (для стандартного расстояния между СС и минералами), при этом на кучках, которые расположены ближе всего к СС, рабочие успевают проезжать до командного центра и назад чуточку быстрее, чем добывают минералы, а на дальних кучкам проезд занимает у них немного больше времени. Тем не менее, разница в этих временных показателях крайне незначительна, и поэтому на всех стандартных минеральных нычках два рабочих могут добывать минералы из одной кучки одновременно: пока один добывает свой минерал, другой проезжает с минералом до СС и обратно к кучке. Таким образом, при N, меньше или равному K, зависимость почти строго прямопропорциональна; при N от К до 2*К на ближних кучкам рабочие могут совсем немного «мешать» друг другу, но зависимость все равно остается близкой к прямопропорциональной (Например, 16 рабочих, как правило, добывают где-то 945-950 минералов в минуту, а по расчетам должны добывать 960).

Если вы попробуете добавить 2*К+1-го рабочего, то можно проследить, как он бегает от кучки к кучке, пытаясь найти себе свободную. Он наверняка сможет ее найти где-то на самом дальнем от СС минеральчике, где рабочие, как мы уже заметили, добывают минералы быстрее, чем бегают до СС и обратно. Он начнет добывать минерал оттуда, и таким образом оставит «безработным» одного из тех двух рабочих, которые добывали минерал до этого, который также начнет «бегать» по минеральчикам и искать свободный -> получим определенную цепную реакцию. То есть меньше минералов ваши рабочие, конечно, добывать не станут, однако прирост ресурсов будет практически неощутим: максимум для стандартной нычки в 8 минералов – это ~+5-10 минералов в минуту, т.е. этот рабочий окупит себя где-то через 5 минут!

Дальнейший сценарий событий при добавлении 2*К+2-го рабочего (и последующих) зависит от характера расположения минералов на конкретной нычке. Если условно поделить минералы на «ближние» и «дальние» в зависимости от расстояния до СС (как правило, они распределяются в отношении 4/4 или 5/3 на меине, 4/3 на 7-минеральных нычках, на золотых минералах – 3/3), то при добавлении количества рабочих, равного количеству «дальних» кучек мы можем получить практически максимальную продуктивность нычки, поскольку дальние минеральчики будут добывать по 3 рабочих, и «паузы» между добыванием, которые возникали из-за того, что ресурсы добывались быстрее, чем отвозились до СС, исчезнут, в то время как для ближних почти всегда будет достаточно по два рабочих. Для верности можно довести количество рабочих до 3*К, однако их эффективность также не очень велика (как и 2*К+1-го, и часто 2*К+2-го рабочего).

Таким образом, максимально быстрая окупаемость рабочих при как можно большей добыче ресурсов достигается при N=2*K, и это количество рабочих вполне достаточно для выкачивания нычки. Если вы желаете форсировать добычу ресурсов из этой базы, то можно добавить еще несколько рабочих, вплоть до 3*К. Каждый рабочий после 3*К не приносит особой пользы, ведь на стандартных картах нет такой локации, на которой была бы кучка минералов, где даже 3 рабочих не успевают приносить минералы без пауз.

Вопрос: По сути, из вышенаписанного следует, что наиболее эффективно все время использовать 2*К рабочих? Но ведь в подсказках Близзард при загрузке игры в Sc2 Beta написано, что наиболее эффективная добыча ресурсов достигается при количестве рабочих, в три раза большем количества минеральных кучек! Кто тут неправ?

Ответ: На самом деле, правы тут все:). Начнем с того, что в оригинальной подсказке Blizzard есть слово «roughly», что буквально означает «грубо говоря», «примерно». Согласитесь, это ведь уже совсем другой разговор! Кроме того, Близзард понимает под наиболее эффективной добычей – максимальную, в то время как в статье говорится о наиболее эффективной добыче ресурсов с точки зрения окупаемости рабочих. Это не совсем одно и то же, так что ошибки нету нигде.


Практика:

Обладая этими знаниями, попробуем проверить, правильно ли использовать известный по первому старкрафту TvT олл-ин раш 10-10-барак в SC2. До 10 лимита мы будем строить рабочих, затем отправим двух рабочих строить бараки в центре/экспе у врага (если карта дуэльная) и параллельно будем строить саплай. Таким образом, у нас на меине стабильно будут добывать минералы 7 рабочих ~ 420 минералов в минуту. Производство маринесов с двух бараков нон-стопом потребует у нас 2*50*(60/18.75) ~ 300-350 минералов в минуту (время постройки маринеса – 18.75 секунд на скорости faster), кроме того, каждую минуту нам придется строить саплай (100 минералов), и, возможно, придется поставить 1-2 бункера на меине у врага, также осуществляя его починку. Таким образом, RPM~420 – слишком маленький для данного раша, если мы планируем строить бункеры на базе оппонента, и в этом случае нам нужен еще один добывающий рабочий. Значит, оптимальным с точки зрения экономики и тайминга будет раш 11-11-барак.

Однако, если у вас очень хорошее микро и мультитаскинг, и при игре в 10-10-барак вы сможете эффективно использовать рабочего, который строит сапплаи (они строятся 22.5 секунды, еще ~35 секунд рабочий сможет добывать ресурсы), и для добычи ресурсов, то вам стоит попробовать играть без 11-го рабочего (такой же билд-ордер стоит разыграть, если вы не желаете ставить бункеры на базе врага, то есть не планируете дополниельных трат минералов), ведь в этом раше важна каждая секунда.

MULE+Обычные минералы:


- 1 терранский MULE добывает 270 минералов в минуту (это 9 ходок по 30 минералов). Время жизни Мула как раз составляет минуту, и крайне редко его RPM за это время составляет 240 или 300 минералов: для стандартных расстояний минералов от СС он всегда успевает сделать 9 ходок и умирает во время добычи минералов в 10-й раз;


- Для количества мулов N меньше или равно K, где К – количество кучек минералов на базе, RPM данных мулов = 270*N;


- При N>K эффективность N мулов такая же, как и К мулов, и их RPM вычисляется по формуле 270*K, сколько бы их ни было, т.е. К+1-й и последующие мулы на этой базе экономически невыгодны.

Комментарии:


Почему-то встретил на вики ск2тв (и в той статье, откуда был сделан перевод для этого вики), что мул собирает минералы чуть ли не в три раза медленнее, чем обычный рабочий. На самом деле, мул собирает минералы лишь немного (точнее, на 25%) медленнее, чем SCV (~9 ходок за минуту против ~12).
Однако, этого «немного» вполне хватает для того, чтобы К+1-й мул на базе с К минералами чувствовал себя крайне неуютно. Он «тыкается» по кучкам так же, как и 2*К+1-й рабочий, и, таким образом, практически неэффективен. Теперь попробуем рассмотреть, как работают связкa SCV+MULE.

SCV+MULE+Обычные минералы:


- RPM связки N рабочих и M мулов можно вычислить по правилу прямой суммы при M меньше или равно K, N меньше или равно 2*K. RPM~60*N+270*M: таким образом, наибольшее количество ресурсов при наилучшей окупаемости будет добываться при M=K, N=2*K: RPM[max]~390*K. При желании вы можете довести количество рабочих до 3*К, однако точную формулу RPM для этого случая получить практически невозможно из-за того, что она будет зависеть от характера конкретной нычки;


- Если N меньше или равно 2*K, однако M>K, то см.факты про мулов и минералы: эффективность добычи ресурсов не увеличится, поскольку уже К+1-й мул не сможет нормально добывать ресурсы из-за мешающих ему К мулов;


- При М меньше или равно К, однако N>2*K будем получать ситуацию, описанную в фактах про обычных рабочих и минералы: последующие рабочие не будут также эффективны, как предыдущие.

Комментарии:

Перспективы в макро у терранов в свете вышеописанного выглядят просто фантастически: на стандартной нычке из 8 минеральных кучек 8 мулов и 16 рабочих притащат ~390*8=3120 минералов в минуту! Это просто невероятный RPM, достигавшийся из ~4 нычек в первом старкрафте. Другое дело, что такое соотношение мулов и сквшек крайне маловероятно само по себе (нужны два орбитал комманд с полным запасом энергии), т.е. необходимо смоделировать какую-то более реальную ситуацию.


При этом как для величины RPM SCV, так и для RPM Мулов важен элемент случайности, а также расположение минералов. Если мы рассмотрим стандартную нычку на 8 минералов, то можем "очертить" определенные пределы для значения RPM сквшек и мулов, пользуясь описанными выше формулами. Величина, вычисленная по этим формулам, как раз будет находится между минимальным и максимальным RPM для любого количества рабочих:

Вопрос: Подождите, правильно ли я понял, что мне лучше всего иметь 16 рабочих и 1 мула на всех моих нычках?

Ответ: Нет, неправильно. Во-первых, не забывайте о том, что в формулах для количества рабочих фигурирует буква К, означающая количество минеральных кучек на локации. Но даже если речь идет о стандартных начальных локациях на 8 минеральных кучек, далеко не всегда лучше иметь там именно 16 рабочих. Если вы планируете играть долгую макроигру, то вам нужно выжимать максимум из каждой вашей локации, а значит, лучше доводить количество рабочих до 3*К, не забывая, конечно же, о Мулах.

Практика:

Внимание! Предоставленная ниже информация не является обязательной к прочтению и может повредить неподготовленный к обильному притоку знаний мозг. Подумайте, прежде чем прочитать выделенный ниже текст:)

Итак, у нас есть база с 8 кучками минералов, на которых трудятся 16 рабочих. У нас появилась орбитальная станция, и мы можем потратить первые 50 энергии на мула. Таким образом, 16 рабочих вместе с мулом продолжают добывать нам ресурсы и принесут за минуту 60*16+270=1230 минералов. За 10 секунд до окончания действия первого мула у нас появится мана на еще одного. Мы можем вызвать Мула сразу, а можем и подождать, пока умрет предыдущий, чтобы стабилизировать RPM (в этом случае через 5 минут у нас появится энергия на скан или еще одного мула): как именно подойти к этой проблеме выбора, решать вам.

Итак, пусть на нашей локации стабильно трудятся 16 SCV и 1 MULE, у нас скопилась энергия на еще одного мула; кроме того, еще два-три SCV постоянно заняты строительством. Предположим, нам необходимо занять эксп, на котором есть 7 минеральных кучек (о том, когда именно это лучше делать, мы поговорим позднее). Мы закладываем СС, который будет строиться ~75 секунд, и теперь у нас есть два пути экономического развития:


Первый: перестаем заказывать мулов; вместо них заказываем еще несколько рабочих. Как только достроится СС, у нас будет энергия на трех мулов, которых мы сразу и вызываем на вторую локацию, переводя обычных рабов с таким расчетом, чтобы на меине снова оставалось рабочих в два раза больше, чем количество кучек. Недостающих рабов достраиваем с обоих СС: таким образом, мы получим мгновенную отдачу от второй локации благодаря мулам и успеем подстроить рабочих с таким расчетом, чтобы перейти на нормальный «график» (1 мул и 2*К рабочих на нычке) как раз к тому времени, когда первые вызванные мулы умрут.


Анализ пути: Здесь мы на время притормозим добычу ресурсов на первой локации, слегка уменьшив свой текущий RPM (в общем-то, это вполне нормальный ход при занятии локации, однако об этом опять же позже). Тем не менее, мы получим мгновенную отдачу от второй локации и сможем перевести меньше рабочих с первой локации, минимизировав таким образом потерю ресурсов от перевода рабов (и практически восполнив таким образом потерю ресурсов от задержки в вызове мула).


Второй: мы продолжаем делать все, как делали раньше: вызываем мула на меин, продолжаем полноценную добычу ресурсов, однако в это время начинаем подстраивать рабочих с таким расчетом, чтобы начать почти полноценную выкачку ресурсов из второй локации. Мы успеем достроить дополнительно 6 рабочих за время постройки СС, таким образом, на вторую локацию мы можем сразу же перевести 10 рабочих, достроить в каждом из СС по четыре рабочих за чуть больше, чем минуту, и перейти в полноценный режим добычи ресурсов с двух локаций.


Анализ пути: Тут мы минимизируем потерю добычи ресурсов с первой нычки (ее показатели лишь немного упадут, когда мы заберем оттуда 10 рабочих, из которых 6 были не очень эффективны), однако продуктивность второй нычки изначально будет не такой высокой. Стоит сказать, что в данном случае «износ» меина будет несколько более интенсивный, и ваш меин закончится раньше -> вам раньше придется занимать еще одну локацию, однако это навряд ли стоит считать большим минусом в долгой и равной макроигре.
В общем-то, эти два пути практически одинаковы в плане потерянных/приобретенных ресурсов, и какой именно из них выбрать, решать вам. Аналогично занимаются третья, четвертая и прочие локации, с учетом того, что мы практически всегда сможем получить отдачу от них намного быстрее, т.к. сможем перевести больше SCV и быстрее их достроить.

SCV+Золотые («Rich») минералы:


- 1 терранский SCV приносит в среднем 84 минерала в минуту (от 77 до 91 минералов: 11-13 ходок по 7 минералов). Все расчеты для обычных минералов могут применяться и для золотых, т.е. при N меньше или равно 2*K RPM~84*N. При N>2*K эффективность каждого последующего рабочего нестабильна, однако 2*К+1-й и 2-й рабочие, как правило, чуть более эффективны, чем на обычных нычках, из-за того, что «дальних» кристаллов, как правило, не более трех.

MULE+Золотые минералы:


- 1 терранский MULE добывает 378 минералов в минуту (9 ходок по 42 минерала). Аналогично, при N меньше или равно K RPM~378*N, RPM(N=K) ~ RPM(N=K+1), и т.д.

SCV+MULE+Золотые минералы:


- Как и для обычных минералов, наиболее эффективная связка для добычи минералов из К золотых кучек – это 2*К обычных рабочих и К мулов. В этом случае RPM~546*K. Все остальные расчеты и размышления при N>2*K для обычных минералов также применимы и к золотым.

Комментарии:


Почему-то принято считать, что с золотых минералов ресурсы добываются быстрее. Это не совсем корректно, ведь процесс добычи проходит с той же скоростью, а вот величина «слитков», которые таскают рабочие, увеличена на 40%. Кроме того, золотые минералы, на самом деле, далеко не так выгодны, как кажется на первый взгляд: при почти оптимальной загрузке своего меина (или любой базы с 8 кучками минералов) терран добывает, как уже было подсчитано выше, около 3120 минералов в минуту (при реальной загрузке в 16 SCV и 1 MULE – 1230), в то время как золотые минералы, как правило, раскидывают по 6 кучек на нычку, т.е. при оптимальной загрузке вы получите отдачу примерно в 546*6=3276 минерала в минуту, а при реальной загрузке – 12*84+378=1386 единицы ресурсов, т.е. разница между одинаковыми загрузками составляет 156 минерала в минуту, а это, в общем-то, не такое уж и существенное число для долгой макроигры (в которой, как правило, и участвуют золотые минералы).

Так что далеко не всегда стоит отчаянно драться за «золотую» локацию, вместо которой вы можете спокойно взять нычку на 8 обычных кучек минералов и жить припеваючи; особенно если учесть, что золотые минералы закончатся намного раньше! С другой стороны, золотые минералы окупаются несколько быстрее, и для них, как правило, нужно несколько меньше рабочих, поэтому если вам нужно максимально быстро окупить свою нычку, то стоит попробовать занять именно золотые минералы (подробнее о занятии локаций на золотых минералах мы поговорим в следующих статьях).

Визуально разницу между золотыми и обычными минералами можно оценить с помощью диаграммы средних RPM одного обычного рабочего и мула:

SCV+Газ:


- 1 терранский SCV добывает из в среднем 64 единицы газа в минуту (от 60 до 68 – зависит от расположения газа), 2 рабочих – соответственно 128, 3 рабочих – 160. Эффективность от четвертого и прочих последующих рабочих для стандартного расположения газа равна нулю.

Вопрос: Правильно ли тогда (по аналогии с добычей минералов) применять эти же цифры для зергов и протоссов?

Ответ: Нет, неправильно. О добыче газа зергами и протоссами мы поговорим отдельно в следующих статьях.


Комментарии:


Так как Мулы добывать газ не умеют, разговор о газе можно считать завершенным. Стоит только сказать, что, в отличии от первого старкрафта, в любой из карт SC2beta маппака использование четырех рабочих на газе почти всегда бессмысленно, так как три рабочих разрабатывают газ без единой паузы, и даже эффективность третьего рабочего далеко не максимально возможная (он добавляет только ~32 газа в минуту, в то время как первые два рабочих - ~64).

Несколько общих фактов о добыче ресурсов:


- Расположение СС относительно минералов и газа (сверху, справа, слева, снизу) практически никак не влияет на скорость сбора ресурсов. Наихудшее расположение, разумеется, достигается по диагонали (чаще всего так ставится второй газ на базе), однако, даже в этом случае погрешность вышеприведенных расчетов минимальна;


- Помните, что формула для подсчета RPM в зависимости от количества рабочих сохраняется только при стабильном количестве минеральных кучек. Если на полностью загруженной нычке закончилась одна из минеральных кучек, то RPM(N) упадет примерно до показателя RPM(N-2) (здесь также возможны варианта в зависимости от того, сколько именно кристаллов было на базе, какая именно – ближняя или дальняя – кучка закончилась, и т.д.), и вам необходимо будет перевести куда-то двух «лишних» рабочих для наиболее эффективной добычи;


- Рабочие, которых вы строите и отправляете на минералы до того, как база становится эффективно загруженной (т.е. при N меньше или равно 2*K), окупаются в среднем за 62 секунды (~12 секунд – время постройки, 50 секунд – среднее время для добычи 50 минералов) на обычных минералах, и за 47 секунд (~12 секунд + 7 ходок по 7 минералов, что составляет 35 секунд) – на золотых. Для N>2*K окупаемость рабочих достаточно сильно зависит от характера нычки, и может составлять от двух до пяти минут. Учитывайте это, когда планируете тайминговые атаки, которые должны принести успех до того, как рабочие, которых вы строите, начнут окупаться, ведь вы можете потерять те ресурсы, которые могли бы использовать для боевых юнитов.

Также стоит упомянуть еще несколько вопросов, так или иначе влияющих на макроуправление терранов:

Вопрос: Что выбирать: орбитальную станцию или Планетарную крепость?


Ответ: В долгой макроигре практически всегда выгоднее выбирать орбитальную станцию. Да, планетарная крепость - более-менее надежная опора вашей базы, однако, если противник решит совершить серьезную диверсию на вашу нычку, то крепость не станет ощутимой преградой, в то время как мулы из орбитальной станции позволят вам произвести войска, которые сами смогут защитить эту самую нычку;

Вопрос: Нужно ли как-то использовать возможность Орбитальной станции откастать дополнительные +8 лимита?


Ответ: Практически всегда выгоднее откастать мула. Разумеется, можно придумать миллион случаев, когда выгоднее использовать именно этот каст, но чаще всего в каждом из этих случаев вы просто-напросто совершили ошибку, которую проще всего исправить именно так. Лучше уж используйте "лишнюю" энергию на скан, чтобы быть уверенным в том, что делает ваш оппонент;

Вопрос: У меня постоянно скапливается много минералов и не хватает газа. Что делать?


Ответ: Не ленитесь добавлять еще бараки и строить много маринесов (в случае зергов - можно еще и фактори с геллионами). Мясо никогда не бывает лишним. А еще на лишние деньги можно пробовать ставить газовые локации.





Дата публикования: 2015-01-13; Прочитано: 346 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.015 с)...