Ерёмин Михаил @Miwwa
Программист GameDev
Информация
- В рейтинге
- Не участвует
- Откуда
- Espoo, Southern Finland, Финляндия
- Зарегистрирован
- Активность
Специализация
Backend Developer, Game Developer
Senior
JavaScript
Unity3d
Unreal Engine
Golang
C++
Программист GameDev
Не совсем так. Meta так же важна для игры как и Core. Meta определяет долгосрочные цели и дает стимулы игроку продолжать играть в Core
В случае WoW, Core - это путешествия по локациям, сражения с монстрами и сбор ресурсов
Мету же нельзя определить однозначно, т.к. для разных этапов игры и для разных типов игроков мета будет разной.
До максимального уровня прокачки - это квесты, исследование локаций, прокачка умений и экипировки
После взятия максимального уровня, мета для казуальных игроков - это сбор коллекционных предметов - скины, маунты, игрушки; дополнительные инструменты для исследования мира, квестов, и их прокачка
Для PvE игроков - это прокачка экипировки, растущая сложность подземелий и рейдов, система сезонов
Для PvP игроков - системы рейтинга и очков чести/доблести
А битвы питомцев - это вообще отдельная система, расширяющая список активностей, но почти никак не связанная с Core. Она сама содержит как Core - собственно битвы питомцев, так и мету - сбор и прокачка питомцев
Если кадр не успевает обработаться за 16мс на целевом железе, то это значит, что пора заниматься оптимизацией или снизить требования к логике/графике. Уложиться в 16мс/32мс (60/30фпс) любыми средствами - это основное требование к производительности любой современной игры на любой платформе
Обычно в качестве аргументов приводят общий детерминизм игровой логики и стабильность физики.
Но есть и минус, если игровая логика выполняется с частотой 62.5 гц, то на экранах с частотой 60 гц будет заметен пропуск кадров, а на экранах с высокой герцовкой изображение не меняется несколько кадров, теряется плавность анимаций. Этого можно избежать, интерполируя все видимые игроку значения (положения объектов, костей в анимациях и т.д.), что влечет значительное усложнение кода движка
Ох, если бы они хоть что-то оптимизировали(
А также есть второй форк XNA - FNA https://github.com/FNA-XNA/FNA с последним релизом 4 дня назад. Так что дело XNA живет по сей день
Так-то предыдущие IDE от JetBrains тоже работают через JVM, и достаточно быстро
о чем расскажут на
«4C: Санкт-Петербург»
Вы, похоже, не в те игры играете. Хочется "реальный мир"? Если выбирать из шутеров, на мой взгляд, в GTA V достойная интерактивность с окружением. Последняя The Legend Of Zelda: BotW дарит огромный игровой мир и богатую интерактивность
Но да, вы правы, "подешевле сделать, подороже продать". Игры выросли в большой бизнес, без этого никак. Но кроме бизнес-игр существует также и довольно старая, но самая богатая на возможности Dwarf Fortress
А можете подсказать готовые фреймворки для такого подхода, прошедшие боевое тестирование на реальных проектах? Или каждый разработчик пишет свой велосипед?(
Подтверждаю, техника помидора неплохо помогает. Сам пользуюсь Pomello, нравится интеграция с Trello.
P.S. Я дико извиняюсь, но не могу удержаться. Можно ли в вашей MMO грабить корованы?
В таком случае, я не совсем понимаю, почему я не вижу адских лагов в игре.
Получается, клиент видит остальной мир в прошлом, отставая от сервера на 100мс? Т.е. ему приходит состояние мира, и он в течение следующих 100мс интерполирует текущее состояние до последнего полученного?
А клиент отправляет данные серверу также каждые 100мс или чаще?
P.S. Медуз стоит заменить на каких-нибудь акул, странно выглядит, когда милая медузка пожирает половину стаи...
Тикрейт 10 раз в секунду — не слишком мало? Обычно в динамичных играх используется обновление не меньше 30 раз в секунду
Можно разбивать большое поле с тысячей игроков на достаточное количество маленьких участков, за каждый из которых отвечает свой авторитарный сервер. Но в этом случае нужно учитывать переход игроков и игровых объектов между зонами влияния серверов.
Ресурсы, загружаемые через Resources.Load, я кеширую, соответственно, относительно долго они грузятся только первый раз.