30

» Мир безумного / Конкурс режимов игры на Холодрыжество (итоги)

ClotPh, игрокам принципиально насрать на то, кто именно делал мод к эвенту, если он доступен из главного экрана игры.
30

» WarCraft 3 / Подскажите стоимость.

Принятый ответ
интересуюсь стоимостью
профессиональных моделлеров WoW Legion
Если имелось в виду буквально, то от 50$ / час.
30

» vasex / Прошу помочь. Сложные научные вопросы для рассказа

Либо провести опыт в космосе за пределами области достаточно сильного Земного притяжения
По твоим словам, опыт проводился на Земле. Предлагаю прекратить это обсуждение, по крайней мере до тех пор, пока не найдётся передача.
30

» vasex / Прошу помочь. Сложные научные вопросы для рассказа

Не известно, как поведёт себя этот генератор плазмы в невесомости.
Чем законы физики в состоянии невесомости принципиально отличаются в условиях стабильной гравитации?
30

» vasex / Прошу помочь. Сложные научные вопросы для рассказа

Единственное, что хоть как-то похоже на моделирование звезды в лабораторных услових. Очевидно, что никакой "микрозвездой" это и не пахнет, тем более, что минимальные размеры звёзд сильно больше и составляют по меньшей мере десятки км в диаметре (нейтронные звёзды).
Или обманули тебя, или обманываешь ты.

Кроме того, для возникновения гравитационного поля необходима масса, и чтобы это поле было заметно в условиях земной гравитации, масса искусственного объекта должна быть сопоставима с массой Земли, что, как можно догадаться, на данный момент технически неосуществимо.
Магнитные же поля не новинка, однако в качестве замены гравитационных они, очевидно, несостоятельны.
30

» vasex / Прошу помочь. Сложные научные вопросы для рассказа

Есть экспериментальные генераторы плазмы особо мощные, которые притягивают лёгкие объекты
Сразу хочется почитать, угостишь чтивом?
30

» vasex / Прошу помочь. Сложные научные вопросы для рассказа

Что-то подобное я видел в фильме "Элизиум - рай не на земле", там было гигантское кольцо с центробежной силой, там люди жили. Сделать расчет можно, только приблизительный, конечно.
Несколько раз с различными группами весьма неплохо подкованных людей обсуждали эту тему, в итоге с помощью симуляции пришли к выводу о невозможности такого кольца без крыши, ибо газ стремится занять весь доступный объём, а центробежную силу ему придавать нечем.

Это про удержание воздуха. Если говорить о создании эффекта гравитации, то где-то читал о том, что основная проблема заключается в том, что гравитация действует равномерно, а центробежная сила в кольце - только на то, что этого кольца касается.
30

» Clamp'ова кухня / Герой после конкурса: ну нафиг

ZlaYa1000, можно вообще положить болт на архитектуру и читабельность и с нуля за часа два сделать посредством распорок и костылей, но мне будет неприятно этим заниматься, а текущее доводить до конца весьма запарно =(
30

» WarCraft 3 / Движение снарядов

Полярные координаты, основы тригонометрии или линейной алгебры (вектора) в помощь.
30

» Clamp'ова кухня / Герой после конкурса: ну нафиг

ClotPh, ни разу не играл в хон, от ерша только концепция сущностей, и то только на первый взгляд. Хороший персонаж и не должен быть "супер-пупер оригинальным, шоб 333 эффекта при разных условиях".

В предыдущем посте описано в деталях.

В целом, комментарии интересуют в основном относительно кода.
30

» Clamp'ова кухня / Герой после конкурса: ну нафиг

Тем не менее считаю опыт полезным, самая первая версия была ужасна и побудила меня покурить существующие best practices (в основном паттерны).

А, да, описание концепции чара.
У героя с первого лвл сразу изучен ульт, который спавнит в указанной точке сущность, больше лвл ульта - меньше кулдаун, больше одновременных сущностей, быстрее их зарядка. Первые две способности при касте срабатывают в радиусе вокруг героя и, если у героя есть сущность, в радиусе вокруг ближайшей к точке каста сущности, при этом она уничтожается, третья работает только при наличии сущности. Сила эффекта вокруг сущности зависит от её заряда (он увеличивается со временем до лимита). С ростом лвл ульта значительно увеличивается дальность каста.
Q: Спавнит исцеляющие снаряды к каждой союзной цели в радиусе и ненадолго ускоряет (ускорение не реализовано, можно через дамми-каст, можно через отдельную систему).
W: Спавнит дамажащие снаряды к каждой враждебной цели в радиусе и ненадолго замедляет (замедление, соответственно, тоже отсутствует).
E: После некоторой задержки перемещается к ближайшей к точке каста сущности, наносит небольшой урон вокруг и оглушает всех вокруг сущности.
Кулдаун ульта 30-7 секунд, скорость заряда 30-7.5 секунд, кд Q 17-10, W 12-6, E 20 на всех лвл. Точные числа эффектов считал только у хила, можно увидеть в коде.
Позиционировал героя как агрессивного семи-саппорта с возможностью сплитпуша и высокой map mobility. При правильной игре может практически одновременно пушить в одном конце карты и участвовать в тимфайте на другом, имеет высокий потенциал для организации засад.

That's all, folks.

Если что, код в файлах .j формата, открывается любым блокнотом.
30

» WarCraft 3 / Как поставить в условие триггера защиту от магии?

nvc123, поведение базовых типов диктуется не варкрафтом, а стандартом Си, на котором он написан, зачем ты меня троллируешь, зелёный?!
Тебе что, корма в QA не хватает?!
30

» WarCraft 3 / Как поставить в условие триггера защиту от магии?

nvc123, там, afaik, не баг, а приведение типов: float приводится к int через отбрасывание дробной части.
А ещё такой проверкой можно убить лоу-хп юнита, который не должен бы умереть.
30

» WarCraft 3 / Усиление (точнее название не могу придумать, сорри)

так то это всё можно сделать в 1 строчку
myInt[GetHandleId(a)-0x100000]++;
только это тупо т.к. приходится везде прописывать этот не очевидный код
Вообще-то всего в двух местах: один раз при сохранении и один раз при чтении, всё.

Кстати, GetHandleId(a)-0x100000 легко может оказаться > 8191, что ведёт ко вполне очевидным проблемам.
30

» WarCraft 3 / Усиление (точнее название не могу придумать, сорри)

удобстве использования и дальнейшей модификации
define <implement AccessList>(SIZE) = {
    private static thistype list[SIZE];
    private static int listIdMax = 0;

    private void addToList() {
        thistype.listIdMax++;
        if (thistype.listIdMax <= SIZE) {
            thistype.list[thistype.listIdMax] = this;
        }
    }

    private void removeFromList() {
        int tempId = thistype.listIdMax + 1;
        while (--tempId != 0 && thistype.list[tempId] != this) {}
        thistype.list[tempId] = thistype.list[thistype.listIdMax];
        thistype.list[thistype.listIdMax] = 0;
        thistype.listIdMax--;
    }
}

define <implement AccessListOfUnit>(SAVED_UNIT_NAME) = {
    public static thistype ofUnit(unit who) {
        int tempId = thistype.listIdMax + 1;
        while (--tempId != 0 && thistype.list[tempId].SAVED_UNIT_NAME != who) {}
        return thistype.list[tempId];
    }
}

define <implement AccessListUpdate>(WHICH_EVENT_FUNC) = {
    private static void listUpdate() {
        int tempId = thistype.listIdMax + 1;
        while (--tempId != 0) {
            thistype.list[tempId].update();
        }
    }

    public static void initUpdate() {
        WHICH_EVENT_FUNC(function thistype.listUpdate);
    }
}

Непостижимо сложная в использовании и невероятно тяжёлая в модификации имплементация, правда?

nvc123, я ещё даже не задумался о том, чтобы начать развлекаться, а ты уже успел перейти к argumentum ad hominem, что с тобой не так?
30

» WarCraft 3 / Усиление (точнее название не могу придумать, сорри)

1.27% загрузки одноядерного процессора с тактовой частотой в 1 ГГц.
Другими словами, на прокручивание массива на таком процессоре уйдёт 0.0127 секунды, это относительно немного.
nvc123, и давно я тут троллингом занимаюсь, по-твоему?
30

» WarCraft 3 / Усиление (точнее название не могу придумать, сорри)


А отвязка от хеша ведёт к полной независимости работоспособности кода от версии игры, но это скорее просто моя блажь, нежели реальная необходимость.
30

» WarCraft 3 / Усиление (точнее название не могу придумать, сорри)

Мой поинт состоит в следующем:
Даже если предположить, что каждый герой на карте применяет способность ежесекундно, то каждую секунду будет происходить [количество героев на карте] операций поиска героя в массиве, сложность каждой из которых составит O(n) в худшем случае и O(1) в лучшем. Для 300 героев (что значительно больше адекватного количества героев на карте) это выльется в ~~1.27% загрузки одноядерного процессора с тактовой частотой в 1 ГГц.
Так что метод, конечно, далеко не самый оптимальный, но реального смысла искать "более производительное решение" здесь нет.
30

» WarCraft 3 / Усиление (точнее название не могу придумать, сорри)

nvc123, а теперь приведи пример поиска даты юнита без цикла, юзердаты и хештейбла, пожалуйста.
30

» RenderEdge / [RenderEdge] Memory Hack

quq_CCCP, скромные запросы, ничего не скажешь.
Мне кажется, что поддержка wildcards в макросах куда как более важная фича, но совершенно не уверен, что можно найти готовое решение на ассемблере, чтобы встроить в препроцессор без нужды писать с нуля самому.