Pull to refresh

Comments 36

Я предлагаю вам посмотреть несколько свежих скриншотов из игры, чтобы сформировать впечатление, как она выглядит сейчас

Как Дота она выглядит =)

Как первая Дота, если быть точным.
Совершенно не согласен. В Варкрафте сильно устаревшая графика, чтобы сравнивать ее даже с инди-играми текущего поколения.
Так тут графика тоже сильно устаревшая. текстуры дорог, песка, да и вообще все текстуры, деревья и остальные модели. Анимация вырви глаз, особенно страшно смотрится когда много юнитов сражается.
Тоже самое. Как только глянул на КДПВ, сразу Доту вспомнил.
Я помню отличную карту для wc3 — enfo's team survival, вроде бы так. Давно это было…
На порядок проще было бы сделать это как мод карту для доты.
Мы старались уйти от тяжелого наследия движка (оригинальная карта тоже является модом и многие вещи на ней сделаны «костылями»). К тому же, такой проект уже существует, называется Legion Reborn, но там много жалоб на баги и косяки, что опять же подтверждает мои слова о тяжелом наследии.
Какое еще наследие движка если они начиная с реборна перешли на новый (Source 2)? Как раз в 2015 (вики подсказывает что сентябрь)
Извините, я неправильно выразился. Имелись ввиду ограничения, которые накладывает любой редактор карт (Варкрафт3, Дота2). С их помощью вы делаете кастомную карту, для конкретной игры, и не можете реализовать все, что вы хотите, так как ограничены возможностями данного редактора
Наследие движка, насколько понял я — это ограничения, связанные с основной механикой игры, для которой делается мод, а не какое-то графическое устаревание.
Т.е. в данном случае сделать с нуля будет куда рациональнее в плане оптимизации и реализации игровой механики, игровых фич и баланса.
Для той же Доты Реборн движок — сурс второй, и он несет наследие этого движка. А вот для модов ДОТЫ движком уже является сама ДОТА. Сделать с нуля игру на сурсе втором — это то же самое, что сделать ее снуля на юнити, а никак не то же самое что собрать мод на доту. К тому же мод давно уже есть, да и не только на Доту, но и на Старкрафт второй, смысла в повторной реализации нет. А вот стендалон версия уже выглядит куда интереснее)
А такая уже есть =)
«За короля: Пламя войны» =)
Огромное спасибо за историю личной победы! Можете немного рассказать про разработку системы способностей и трудности в балансировке.
Спасибо за отзыв. Часть системы сделана аналогично оригиналу, часть мы придумали сами, но опять же с оглядкой на оригинал. Нельзя сказать, что проведена большая работа по балансировке, но т.к. инстанс игрового сервера запускается под каждую игру, то между запусками игр мы иногда меняем игровые параметры. Если вам интересно, могу пригласить на закрытый бета-тест.

AAA это успех по технологиями, у общественности/критиков и по прибыли. При создании B-игр риски минимальны или их вообще нет. Если не считать рисками просто необходимость утром вставать и идти делать игру.
Тут мы видим обычное B. Дота и Лига легенд это B-игры. ААА это ТОП-ММО и Батлфилды.
Я не удивлюсь, если авторы решили, что шадоумапы, стейт-машины и поиск путей в графе типа ААА-теком.

Все немного проще, но суть вы передали верно: стоимость ААА игр исчисляется миллионами долларов. Тут такого и близко нет. И вообще понятия «инди» и «ААА» плохо совместимы.
Да, можно сделать крутую и успешную инди-игру, но ААА она от этого не станет.
«AAA это успех по технологиями, у общественности/критиков и по прибыли.» и «ТОП-ММО»
Скажите, а по каким параметрам из перечисленных League of Legends у вас не проходит в ААА?

Не скажу за остальное, не слежу за проектом… но а где там технологии? Вроде же ничего сверхъестественного они на момент запуска и до точки в пару лет назад (когда я играл в последний раз, текущего состояния не знаю) не показывали?..

Как мы боролись за производительность сервера и целиком его переписали c Python на Go, как мы оптимизировали клиент и добавлали туда графические эффекты. Все это мы можем рассказать в будущих наших статьях.


Действительно всё самое интересное пропустили.
А на go нет проблем со сборщиком мусора? Он вроде не особо приспособлен под настоящий реалтайм.
GC в go очень крут и постоянно совершенствуется. В версии 1.8 удалось достичь задержки менее 1ms на серьезном объеме.

Пролистайте наверх, там на графиках наглядно показано как улучшалась производительность сборки мусорка от версии 1.5 к версии 1.8 beta
Спасибо за статью. Хотелось бы больше технических деталей. Например, одна игра — это отдельный поток? Или отдельный процесс? Сколько игр может выдержать 1 сервер с 8-мю ядрами. Какой протокол используется, ну и так дальше.
Спасибо. Интересный доклад. Несколько комментариев:

1. Почему выбрали го? Все перечисленные проблемы — рефлект, словари, вебсокеты уже решены в джаве, например, просто бери и используй. Больше того — джава «по дефолту» быстрее го. Не холивара ради, бенчмарки есть в сети. Из доклада просто «офигел», узнав сколько времени ушло не на проект.
2. Джейсон можно заменить на бинарный формат. Меньше данных, быстрее паковать, по времени работы на день-два.
3. Оптимизировали ли математику? Есть много вариантов оптимизации через более легковесные функции.
4. В видео нету ответа на мои первые 3 вопроса.
Дослушал, 4-й пункт можно вычеркнуть :).
1. Много причин:
— Сделали бенчмарк и увидели увеличение скорости на нашей математике примерно в 1000 раз
— Го это очень простой язык (по моему сугубо личному мнению это очень важная характеристика для языка)
— Ест очень мало памяти (у нас лобби-сервер работает 200+ дней онлайн, сейчас занимает 7мб памяти)
— Примитивно простой и быстрый деплой (пара строк Makefile, по времени 1-2 секунды)
Последние две причины отличают его в лучшую сторону от Java.

2. Заменим, скорее всего на этот. Сейчас это больше из соображений отладки, когда бывает необходимость смотреть глазами в отладчике, какие данные летают

3. Двое из нас математики по образованию, оптимизировали и там уже некуда оптимизировать, математика у нас очень быстрая :)
Последние две причины отличают его в лучшую сторону от Java.

Это мало от языка зависит. Больше от того что Вы в приложение добавляете. Джава отлично запускается одной строкой и не кушает память, если Вы знаете что делаете. Похоже, что Вы банально, кроме го, ничего не рассматривали больше.

смотреть глазами в отладчике

log.trace(packet.toUserFriendlyView());

математика у нас очень быстрая

Тем не менее в докладе говорится, что в питоне математика занимала 80% времени. Что-то тут не сходится.
В докладе говорится, что математика занимала 80% времени на питон-сервере. На го-сервере эта проблема ушла.

Сколько Java потребляет памяти на минимальном приложении http-сервере?
Сколько Java потребляет памяти на минимальном приложении http-сервере?

~3 Мб.

В докладе говорится, что математика занимала 80% времени на питон-сервере. На го-сервере эта проблема ушла.

Да, но математика от языка не зависит. Разве что ВЫ использовали какие-то специфиические функции из пакетов самого языка.
Спасибо. Очень хотелось бы почитать о серверной реализации.
Не нашёл нужных скриншотов четвёртого периода, и, мне интересно, вы избавились от пиктограмм Kayle, Olaf и Karma на панели покупки юнитов и, если нет, то что об этом думает Riot Games?
Расскажите про юридическую сторону — регистрировали товарный знак, как производилось сотрудничество с энтузиастами — по договору? Обговаривали ли передачу прав на интеллектуальную собственность?

Сам разрабатываю браузерную MMORPG (пока в начале пути), и эти юридические вопросы очень интересуют.
Sign up to leave a comment.

Articles