• Ограничения 8-битных игр и их точное воссоздание в Unity
    0
    Увы — шейдеру, который приводит цвета к палитре до ручного пиксель арта пока ещё довольно далеко, даже с дизерингом.
    Но, например, для антиалиасинга он вполне подходит.
  • Проблема дверей в дизайне шутеров
    0
    Кстати в первом FEAR был баг/эксплойт с патронами, знание которого упрощало игру:
    Если игрок поднимал оружие, которое у него уже было — то получал 1 магазин патронов к нему.
    Если же оружия у игрока не было, то получал 2 магазина.
    Поэтому для максимума патронов нужно было оружие постоянно выбрасывать и подбирать новое :)
  • Даже если ты захочешь быть геймдизайнером, никто не научит тебя как
    0
    Если к этому выводу приходишь уже после того как сделал игру — то есть плохие новости.
    Ты уже им был, как-то надо приспосабливаться теперь жить с этим :)
  • Даже если ты захочешь быть геймдизайнером, никто не научит тебя как
    0
    Я так понимаю имеется ввиду художник — мультипликатор, а не актёр/артист/клоун/тамада на различных мероприятиях :)
  • Проблема дверей в дизайне шутеров
    +1
    По логике это часть ИИ чтобы максимально «занять» игрока пока цель не покинет зону и соответственно провалит миссию. Однако если цель уже убита, то со стороны телохранителей такие действия более не имеют смысла — их миссия уже провалена, гибнуть ради цели больше не надо.
  • Проблема дверей в дизайне шутеров
    +1
    В F.E.A.R большую часть проблемы дверей по факту решал ИИ, причём со стороны дизайна уровня там точно такие-же техники — запрещали возврат назад с арены, после того как игрок туда попал (выпал из окна, назад не залезть), оставляли оружие/броню на видном месте в арене. Кстати тема возврата после падения не раскрыта, хорошо бы разрешить вернуться (может быть какой-то дверью что открывается только со стороны арены, которую ранее игрок уже встречал на уровне, но не мог открыть).
    Ещё — прежде чем «войти» на арену без возможности возврата хорошо бы дать игроку возможность «подсмотреть» что там (не обязательно всё, частично) для выработки тактики. Можно косвенно — например ожидающие враги издают специфические звуки, по которым можно определить их типа и примерное расположение.
    Это должно повысить шансы пройти арену с первого раза для опытных игроков. Вариант «всё скрыть» работает по факту один раз — первый заход в арену для разведки — в случае неудачи игрок погибнет. После загрузки план/содержимое арены больше не будет секретом, но стоило ли для этого убивать игрока таким «сюрпризом»…
  • Кластерная память с аппроксимацией
    0
    Да… совпадение величины H*B не даёт гарантий близости цветов.
    поскольку 30*0.8 = 120*0.2, но это вообще разные цвета, кроме того разность под корнем может быть отрицательной. Почему бы не использовать стандарную евклидову геометрию — было бы sqrt((H1-H2)^2 + (B1 — B2)^2) с двумерной сеткой подинтервалов. Значения угла, например, отнормировать с 0-360 до 0-1, чтобы влияние тона было примерно равно влиянию ярокости, ну или подобрать этим величинам коэффициенты, наиболее подходящие для конкретной задачи.

    Замена палитры, например, классически решается просто таблицей замены одного цвета на другой. И если вся таблица 256*256*256 цветов это сильно жирно, то можно порезать её на кубики 16*16*16 — это будет всего 4096 сопоставлений, которые интерполируются в 3д.

    Может это конечно слишком тупое решение, но в отличии от нейросети мне оно кажется более стабильным и предсказуемым.
  • Кластерная память с аппроксимацией
    0
    Для красного значения угла могут сильно различаться, например 0,001 и 359,999.
    Хотя это такой-же угол, как и между 0,001 и 0,003 (0,002). Из формулы не понятно как это учитывается.
    Ну например что H — это не значение угла, а единичный вектор, который потом умножается на скаляр B чтобы получить координаты точки, а близость считается как расстояние между полученными таким образом точками…
  • Кластерная память с аппроксимацией
    0
    Странная формула для определения близости пикселей в цветовом пространстве, ведь шкала оттенков циклическая — тон же угол. Как это работает на границе с красным?
  • Ограничения 8-битных игр и их точное воссоздание в Unity
    0
    Pixel Fodder?
  • Даже если ты захочешь быть геймдизайнером, никто не научит тебя как
    +3
    Статью надо было назвать как стать хорошим/крутым/легендарным геймдизанером которого так не хватает в нашей компании :)

    Статья не даёт чёткого и однозначного определения чем занимается геймдизайнер — чем попало, какой-то разнорабочий выходит без специализации :)

    Почему нельзя просто сказать что то это человек, который игру сделал по факту. Хорошую или плохую — но сделал (соответственно хороший или плохой он геймдизайнер).
    геймдизайнером может быть каждый — кто сделал игру;
    на курсах могут научить быть геймдизайнером — да, но игра в результате может быть шаблонной;
    геймдизайнер это веселая работа — почему нет? (понятие весёлая вообще субъективно);
    геймдизайн — самый простой способ попадания в индустрию — да. Чтобы делать игры нужно делать игры :)

    Можно заменить слово геймдизайнер на художник или повар — и абсолютно так-же развеять мифы.
    Любой может стать поваром. И да, и нет… без навыков ваши блюда будут безвкусные и неинтересные;
    На курсах могут научить быть поваром. Нет… Другими словами вам дадут рецепт который (возможно) вкусный. Станете вы от этого лучше, может быть? Научитесь ли вы пользоваться данными в руки инструментами?
    Кулинария- это весёлая работа… это весело, если вы умеете это делать.
    Готовить блюда — самый простой способ попадания в индустрию Думаю исходя из вышеописанного, это далеко не так. Необходимо большое количество опыта и желания

    P.S. В отличие от геймдизайнеров для работы в пищевой промышленности (поваром) нужно реально соответствовать стандартам :)
  • Ограничения 8-битных игр и их точное воссоздание в Unity
    0

    В Европе приставки были не так распространены как компьютеры. При переходе от 8битных к 16 битным компьютерам например в Испании закончился золотой век видеоигр. Кризис, но позже и другой. Когда набирается слишком много шлака для размера рынка — кризис обязательно наступает.:)

  • Ограничения 8-битных игр и их точное воссоздание в Unity
    –2

    Монетизировать ностальгию и экономить на графике, все ясно :)

  • Ограничения 8-битных игр и их точное воссоздание в Unity
    0

    Пиксель арт это не только NES. Есть отличные игры, например Gato Roboto или Return of Obra Dinn которые вообще двухцветные. Это интересные арт решения, чтобы выделится. Вопрос вызывает именно подделка под 8бит как цель, когда более свободные и оригинальные решения лучше. Учитывая огромное количество таких поделок от инди разработчиков (псевдо 8бит) это не оригинально. На мой взгляд этим злоупотребляют.

  • Ограничения 8-битных игр и их точное воссоздание в Unity
    0
    Но все это не отменяет того, что 95% игр под NES были таким же шлаком, который выпускают и сейчас.

    О вкусах не спорят, но во время ru.wikipedia.org/wiki/Кризис_индустрии_компьютерных_игр_1983_года, (который был вызван как-раз обилием шлака на рынке) NES была эталоном/верхом качества. Благодаря более жёсткому контролю качества игр со стороны Nintendo — они захватили рынок приставок в США. Меры были драконовские, были даже лимиты на выпуск — не больше 5 игр в год одним разработчиком. (Хотя Konami, например, их обходила создавая «новые» компании — как Ultra Games в 1988).
    Сейчас, конечно, спустя столько лет игры могут и показаться шлаком, но на момент выпуска это было лучшее — ААА класса. Nintendo как знак качества что игра как раз не шлак :)
  • Ограничения 8-битных игр и их точное воссоздание в Unity
    –3
    Раньше разработчики старались как-то обойти ограничения на скорость, память, палитру, количество спрайтов.
    А сейчас — пожалуйста, свобода, столько возможностей!
    Нет, давайте делать подделку под 8-бит :)
  • Трюк с тригонометрией
    +1
    Это отличный результат.
    Тогда не понятно, почему автор вызывает внутри внешнего цикла:
    for( int i=0; i<128; i++ )
        {
            const float wi = (float)i*(2.0f*3.1415927f/4096.0f);
            const float sii = sinf( wi );
            const float coi = cosf( wi );

    ведь по сути там такой-же трюк подходит
  • Трюк с тригонометрией
    +1
    хотя в других реализациях эти вызовы будут

    Скорее всего не во внутреннем цикле — там просто будут использоваться табличные значения.
    Кстати насколько разошлись значения синуса и косинуса от реальных на последнем шаге?
  • Джон Ромеро до Doom: геймдев 80-х
    +1
    Сама по себе Daikatana не такая уж и плохая, но амбиции, маркетинг и PR там привели к катастрофе. В интернете есть версия от сентября 1997 ( www.daikatananews.net/dkmilestone2.html ) ещё на движке Q, а не Q2. Вместо того, чтобы допилить движок Quake (как например Valve c GoldSRC сделали) и выкатить игру по-раньше — они стали переделывать игру на новый, завязли и продолбали все сроки. Учитывая что игра чётко разбита на 4 эпохи, возможно их спас бы выпуск Daikatana по эпизодам по мере готовности (было бы в диковинку) с анализом отзывов. Выход Half-Life «провалил» многие игры той эпохи, и Ромеро молодец что вообще выпустил игру, хоть и поздно, в 2000м, глючную :)

    P.S. На Daikatana есть фанатский патч 1.3, который хорошо исправляет игру ( steamcommunity.com/sharedfiles/filedetails/?id=282094762 )
  • 10 шагов к YAML-дзену
    0
    Тема якорей и подстановок для создания циклов в дереве не раскрыта :)
  • Cascadeur: будущее игровой анимации
    0
    Думаю дело в доступности. На текущий момент вообще не понятно как воспользоваться Euphoria от NaturalMotion стороннему разработчику игр.
  • Cascadeur: будущее игровой анимации
    +1
    Я думаю тут скорее упор на физический т.е. Ragdoll. Сам по себе скелет со скиннингом не даёт физически корректное поведение, наличие скелета обычно необходимо, но не означает наличие Ragdoll-физики (например в Half-Life 2 скелет для Ragdoll физики сильно упрощён по сравнению с анимационным — там нет лица, пальцев и многих других деталей) — для Ragdoll к скелету ещё нужно прикрутить ограничения на соединения, тензор инерции и т.д.
    Но вопрос инновации всё равно остаётся, Ragdoll давно есть в 3DS Max например.
  • Cascadeur: будущее игровой анимации
    +3
    Т.е. это IK Solver по сплайнам (сглаженной интерполяции) с учётом физики?
  • Как мы сделали движок и игру на нем за полтора года
    0
    Между java2me и Android был ещё целый зоопарк c Blackberry OS, Symbian и Windows Mobile (CE).
  • Как мы сделали движок и игру на нем за полтора года
    0
    Android 5 показывайте

    Android 4.4 пожалуйста :), но в идеале 4.2
  • Как мы сделали движок и игру на нем за полтора года
    0
    Верно, какой может там может быть Prime :)
  • Как мы сделали движок и игру на нем за полтора года
    +1
    Навскидку по трейлеру могу предположить:
    — Текстуры cжатые ETC;
    — Материал один унифицированный для всего;
    — Очень жёсткий инстансинг судя по клонам машин, бочек и по-моему даже домов;
    — На оф. сайте ( www.battleprime.com ) говорится о команде из 6-ти игроков;
    — Там же теоретически можно зарегаться и потестить;
    — Динамическая карта теней с параллельной проекцией;
    — Скиннинг на GPU на пару весов;
  • Как мы сделали движок и игру на нем за полтора года
    0
    Последние 5 лет занимаюсь разработкой коммерческих движков. В прошлом 7 лет работал в крупной игровой компании, там трудился над движком для сессионной мультиплеерной кросс-платформенной игры.

    Может и писали с «нуля», но это не означает что удачные решения из предыдущих работ решили не использовать :). Тем более что соглашения о неконкуренции как я понимаю не было. Не удивлюсь если там тоже окажутся ноды, лоды…
  • Как мы сделали движок и игру на нем за полтора года
    +1
    Обезьянки лопают шарики.

    На вид — действительно кажется фигнёй, которую легко сделать.
    Франшизе Bloons не один десяток лет, там более десятка игр :).
  • Как мы сделали движок и игру на нем за полтора года
    +2
    Может там что-то оригинальное сделали:
    — VR типа Google Cardboard;
    — трекинг глаз через фронтальную камеру с распознаванием «жестов»;
    — распознавание речи через микрофон;
    — использование второго устройства/телефона для игры как контролер (1е на голове для VR) с акселерометром, мульти-тачем по BlueTooth;
    — трансляция видео побед в Instagram;

  • Как мы сделали движок и игру на нем за полтора года
    +8
    Архитектурные решения, которые там используются, это state of the art решения того периода.

    Можно ли как-то подробнее осветить эти решения «того периода»? Очень интересно.
    Мы решили сделать ставку на эти новые архитектурные решения и подходы.

    Вот тут ещё интересней :)
    В трейлере их не видно, тема не раскрыта. Быстро исчезающие убитые враги и приваренные к уровню ящики и бочки выглядят очень стерильно, статично и не интерактивно. Мало динамических объектов — например движущихся теней от облаков, дыма, следов от пуль. С мобильными проектами конечно сложно сравнивать, но если сравнить, например, с F.E.A.R. образца 2005 года — то перестрелки (а это вроде как основа для шутера) там выполнены лучше на мой взгляд.
  • Доступное объяснение алгоритма коллапса волновой функции
    0
    вы за отказ от всего ради величия физики?

    Нет, это какие-то крайности. Но из перечня занятий физика не настолько плохая, чтобы заниматься ей только когда совсем нечем.

    Не понял ваших намёков.

    Основное применение алгоритма для процедурной генерации карт и текстур.
    В статье использовался пример со свадьбой (не особо удачный), который действительно сводится к вашей формулировке разбросанных игрушек — но это лишь частный случай (для которого есть и более эффективные алгоритмы, чем коллапс волновой функции). Да, алгоритм решает и эту задачу, но он предназначен для решения другой.
  • Лучшие Copy-Paste алгоритмы для C и C++. Сборник рецептов Haiku OS
    +1
    Кучно пошло :)
  • Как выстрелить себе в ногу в C и C++. Сборник рецептов Haiku OS
    0
    Это сильно зависит от деаллокатора и даже вполне вероятно
    содержимое памяти по указанном адресу останется прежним
    не факт, но скорее всего
    его еще можно безопасно использовать
    при некоторых условиях — да. Поскольку память выделяется страницами, если на той-же странице ещё остались выделенные блоки то ко всему содержимому страницы ещё можно «безопасно» обращаться. Увы это не долго продержится, и если это был последний блок в странице, то первое же обращение выдаст ошибку
    Проблемы могут возникнуть только после следующего вызова new
    не только, если страницу освободят то возникнут до этого, если удаляли ещё несколько объектов, то и после new могут не возникнуть.

    Самое плохое, что в таком «особом» режиме обращения к освобождённой памяти программа может очень долго работать без ошибок. А когда ошибка возникнет — то её не так просто повторить. Есть способы отловить такую ошибку — как простые, например менеджер памяти, который выделяет по странице на объект (считаем что объект меньше страницы), так и более продвинутые.
  • Доступное объяснение алгоритма коллапса волновой функции
    +1
    принцип работы квантового компьютера теперь знаком каждому малышу из нашего детского сада

    А что плохого в знании редукции фон Неймана с детского сада?
    Некоторые концепции проще воспринимать как можно раньше, тем более что квантовые компьютеры уже существуют и считаются довольно перспективными.
    игрушки, которые нужно сложить в шкаф в определённой последовательности
    — это несколько другая задача, т.к. тут число «игрушек» не ограничено, а ещё они волшебным образом превращаются в конкретную игрушку только при помещении в шкаф o_O
  • Доступное объяснение алгоритма коллапса волновой функции
    +3
    Чем-то напоминает плитки (домино) Вана или решение/построение Судоку :)
  • Как выстрелить себе в ногу в C и C++. Сборник рецептов Haiku OS
    0
    Ну мало ли что там происходило в творческом процессе. Возможно автор пришёл к выводу, что уничтожение ключей и значений, помещённых в Хеш-таблицу, является ответственностью тех, кто их туда засовывал — и просто забил на этот кусок кода :)

    Во втором примере кроме описанной в статье ошибки пара malloc-free вроде нормально используется.
  • Как выстрелить себе в ногу в C и C++. Сборник рецептов Haiku OS
    +1
    Скорее что в разработке С++ имеет место С и его библиотеки :)
    Учитывая специфику проекта — что это ОС, которую пишут с 2002 года — это не так плохо.
    За это время стандарт С++ неоднократно менялся.
  • Что связывает парадокс дней рождения и уязвимости электронных подписей?
    0
    Заключение брака может быть с этим вообще не связано — это просто выбранная дата. Зачатие больше зависит от биологических факторов, которые не так предсказуемы
  • Как выстрелить себе в ногу в C и C++. Сборник рецептов Haiku OS
    0
      delete fBigIcon;
      fBigIcon = NULL;
    
      fVectorIcon = NULL;            // <=
      free(fVectorIcon);             // <=

    Из этого куска не ясно, но есть подозрение что вместо free нужно было вызывать delete.