Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр 🔮✨Магия, романтика… и шерсть на одежде! Разгадывай загадки, находи подсказки — и знай: каждое твое решение влияет на ход игры!

Мой Любимый Кот

Новеллы, Головоломки, Коты

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
119
patap87
patap87
Лига Геймеров

Nintendo 64, аксессуары и игры⁠⁠

3 года назад

По традиции в самом конце поста будет видео.


В моём детстве игры были в основном на картриджах. Всё было логично и до безумия понятно. Желтый картридж – это денди, оно было почти у каждого друга, значит проблем с обменом игр не возникало. А игр на денди было до безумия много. Черный картридж – это сега, пахнет аристократией и имеет черный бокс с картинкой, графика на порядок выше, стоит дорого, есть не у каждого, повезёт если найдётся пара друзей с которыми можно поменяться. Серые прямоугольные картриджи – это Super Nintendo, неведомая хрень из телевизора, говорят, что круче всего остального, но как ты проверишь, если у тебя её нет и никогда не будет ибо стоит она, как самолёт да и играми меняться не с кем.


Конечно были ещё картриджи на всякие портативки типа gameboy, game gear или редкая стационарная консоль PC Engine, но это что-то на богатом из другой вселенной и сегодня в это вникать я не буду. Так как наша страна в то время значительно отставала от развитого мира по технологиям, получили мы всё со значительной задержкой, однако в какой-то момент появилось всё и сразу. На витрине одного магазина могли спокойно сосуществовать 8, 16 и 32 битные консоли от разных конкурирующих производителей. Каждый год появлялись новые консоли, от магнитных кассет до лазерных дисков прошло всего несколько лет и нам тогда казалось, что так будет всегда

Для меня эпоха картриджей действительно закончилась на 16-ти битной сеге в конце 90-х. Потом началась эра лазерного диска и я много слышал про 3DO, sega Saturn и первый Playstation, однако у меня их уже не было. В 1999 году у меня появился компьютер и я искренне не понимал зачем вообще нужны консоли. Россия в начале нулевых это бесспорно страна ПК бояр. Я как и большинство детей того времени перешагнул несколько поколений игровых консолей играя в компьютер. Да, какие-то отголоски зарубежных приставок до меня всё же доходили со страниц игровых журналов, но очень редко и крайне мало. Целый пласт игровой культуры прошёл мимо меня, именно поэтому я так сильно удивился увидев 64 битную приставку от компании Nintendo на картриджах.

Итак, что же такое игры на картриджах для меня? Это марио, танчики, контра, соник, вектормэн, история игрушек, комикс зон и конечно же мортал комбат. Ну вы поняли, что-то двухмерное, 8-ми или 16-ти битное, старое, доброе и очень далёкое от ПК гейминга того времени.

А потом я увидел, картридж с игрой Quake 2 для Ninendo 64 и обалдел. Первая мысль – наверное это какой-то пиратский, корявый порт для привлечения внимания, как например assassin's creed для сега мега драйв. Но посмотрев геймплей игры на ютубе я увидел – обычный, нормальный квейк. Да там были другие уровни, это была специальная версия для Nintendo 64, но это блин настоящий трёхмерный шутер на картридже уровня PS1 или даже ПК. Я просто обожаю игровую историю, все эти консольные войны, гонки производительности, битву эксклюзивов и для меня приставка запускающая шутеры на картриджах – настоящий артефакт требующий немедленного и детального изучения.

Господи, как же сильно мне захотелось Nintendo 64, это какое-то давно забытое чувство из далекого детства, когда что-то несбыточное стоит на витрине и ты понимаешь, что никакие уговоры родителей не заставят тебе это купить. Я стараюсь не совершать импульсных покупок и если в моменте чего-то очень сильно хочется, то стоит подождать недельку-другую. Как правило, через неделю пыл угасает и ты понимаешь, что не так уж сильно оно тебе и нужно, но с Нинтендо 64 это не сработало. Каждый день желание купить эту консоль только усиливалось, я читал про неё, смотрел ролики, рекламу на старте продаж, изучал линейку игр, историю появления и значимость для всей игровой индустрии. Через неделю импульс покупки нинтендо 64 превратился в какую-то дикую, бесконтрольную страсть, честное слово у меня при покупке машины таких эмоций не было.

При поиске товара я уделял особое внимание надежности продавца. Внимательно изучал рейтинг, отзывы, историю продаж, а так же то, как давно он зарегистрирован на авито. Вскоре я нашёл подходящий лот, по нормальной цене. Мы списались с продавцом, он был очень любезен и прислал видео работоспособности консоли, а так же рассказал про комплектацию и состояние. Рейтинг у него был хорошим, а отзывы исключительно положительные. Оказалось, что у него есть группа вконтакте и я уже был на неё подписан, так что заочно мы уже были знакомы. Группа называется Retro Game Store, а владельца Олег. Он из Новосибирской области, а Новосибирск – моя вторая родина, где я проводил каждые каникулы всё свое детство, и что немаловажно именно там я впервые поиграл в Денди. А ещё он как и я обожает ретрогейминг, что в общем то звучит логично. Короче мы легко нашли общий язык и я заказал у него консоль за 5000 рублей в комплекте шел картридж с Марио Теннисом. Консоль Японская, и для работы ей необходима розетка с напряжением в 110 вольт. Поэтому параллельно я заказал понижающий трансформатор с 220 вольт на 110.

Первая проблема с которой я столкнулся заключается в том, что в японскую консоль невозможно вставить американский картридж и наоборот. Сделано это специально и называется просто – региональная защита. У картриджей японского и американского региона есть отличия.


Многие геймеры просто выламывали боковые части лотка и тогда картриджи любого формфактора спокойно вставлялись в приставку. Несмотря на то, что в конечном итоге внешний вид консоли оставался неизменным я считаю такой способ модификации варварским и мне жалко намеренно повреждать консоль. На просторах интернета я нашёл всего 1 человека, который печатал пластиковый лоток для картриджа на 3D принтере, вероятно в первую очередь для себя. Лоток устанавливался вместо оригинала, но в отличии от родной детали тут не было ограничительных скобок, что позволяло вставлять любой картридж. Правда я обнаружил 1 нюанс – шторки на разъеме для картриджа не всегда закрывались после выемки, но позже детальки притёрлись и эта проблема решилась сама собой. Сейчас всё намного проще и дешевле, универсальный лоток для картриджей продаётся на алиэкспресс вы даже можете выбрать любой цвет, а в комплекте идет специальная нинтендовская отвертка, без которой не разобрать корпус приставки. Кстати говоря у меня такая уже есть, заказывал отдельно. Забыл упомянуть про третий тип картриджей – европейские, они не запустятся на японской или американской консоли и дело не в региональной защите, а в разном телевизионном сигнале. Япония и Америка работают на NTSC, а в Европе Pal.

Первое о чём я задумался – это Controller Pak. Дело в том, что не все игры сохраняются на картриджи и чтобы не потерять прогресс прохождения в таких играх, как Super mario 64, tony hawk’s pro skater, Perfect Dark придется использовать эту карту памяти. Вставляется она не в консоль, как это было например у Playstation, а прямиком в специальное гнездо с тыльной стороны геймпада. Изначально controller pak задумывался, как способ обмена данными между пользователями Nintendo 64, например поделиться прогрессом игры с другом, который не может пройти уровень, а некоторые игры используют контроллер пак для хранения дополнительных данных из-за экономии места на картридже. Изначально я пожалел денег на оригинальный Controller Pak и взял аналог, который стоил подешевле. Оказалось, что не все игры его видят, а те которые сохраняются, потом могут выдавать ошибку, возможно это неисправность конкретно этого аксессуара, я не знаю. Благо покупал я его в Нижегородском магазине Денди и его владелец Павел любезно предложил обменять на оригинал с доплатой. (Кстати в нашем городе существует тот самый магазин денди с середины 90-х, на канале есть подробное интервью с его владельцем, посмотрите обязательно, если ещё не видели). Поставив оригинальную карту памяти в геймпад я больше не сталкивался с ошибками и проблемами, определяется она всегда и работает отлично, жаль, что места на ней хватает всего на несколько игр. Кстати есть игры, которые занимают карту памяти полностью, например International Superstar Soccer.

Кстати говоря есть игры, которым вообще не нужны сейвы, сохранения прогресса там просто не предусмотрено, например Mortal Kombat trilogy.

Следующий аксессуар Expansion pak – если говорить в двух словах, то это просто дополнительные 4 мегабайта оперативной памяти, которые можно поставить в консоль. Сама Nintendo 64 имеет на борту 4 мегабайта озу, которые мы можем увеличить до восьми. Апгрейд нужен для улучшения графики, позволяет играть с более высоким разрешением, увеличить расстояние прорисовки и повысить детализацию графики, жаль не все игры это поддерживают, особенно ранние. Помимо всего прочего без Expansion pak-а вы вообще не сможете запустить некоторые игры, например донки-конг 64 или The Legend of Zelda: Majora's Mask. Вещица дорогая и редкая, цена варьируется в районе 5000 рублей. Я несколько месяцев отслеживал её на авито, а когда забронировал оказалось, что она уже уехала другому блогеру, но через какое-то время я всё же урвал себе экземпляр. Проблема в том, что невозможно найти аналог, да был какой-то китайский high-rez pack, но я нашел его только на амазоне, а с алиэкспресс объявления убрали уже давно. Кстати говорят он сильно грелся и часто ломался. На момент написания сценария к этому ролику я нашел Expansion pak только в магазине денди, на авито их опять нет.

rumble pak n64 – съемный аксессуар c функцией вибрации. Работает на двух мизинчиковых батарейках и вставляется в тот же слот геймпада, что и карта памяти. Впервые появился в комплекте с игрой Star Fox 64 в 1997 году и стал её эксклюзивной фишкой, а уже через 2 месяца продавался отдельно, получив поддержку огромного количества будущих игр. Штука занятная, но есть ряд минусов. 1) Аксессуар требует батареек, поэтому игра с вибрацией дело затратное, рекомендую купить перезаряжаемые аккумуляторы, как это сделал я например. 2) Рамблпак утяжеляет и без того немаленький геймпад, ничего критичного, но факт остаётся фактом 3) Если сохранения игры пишутся на внешнюю карту памяти – то во время каждого сохранения тебе придётся менять местами контроллер пак и рамбл пак, а после сохранения возвращать всё на место, если ты конечно всё еще хочешь играть с вибрацией. В дальнейшем появились аксессуары от сторонних производителей, которые позволяли использовать одновременно и вибрацию и функцию сохранения. Например TremorPak plus, не сказал бы, что это удобно, да и вес геймпада не становился меньше. Кстати говоря именно благодаря Nintendo 64 мы получили встроенную вибрацию в геймпаде – как стандарт.

Transfer pak – устройство позволяющее переносить данные между геймбоем и Nintendo 64. Например в игре perfect dark таким образом можно разблокировать маскирующее устройство, Ураганные кулаки, R-трекер и чит-код, открывающий все оружие в игре. Я пока его не использовал, но когда-нибудь проверю.

Микрофон – увидел этот аксессуар на просторах авито, а потом и картридж отдельно заказал. Игра для которой он нужен называется – Hey You, Pikachu! Симулятор домашних животных с главным покемоном в главной роли. Пикачу выполняет разные мелкие задания, с ним нужно гулять и отдавать ему команды, но для начала неплохо было бы выучить японский или найти американскую версию.

ED64 – более 25 лет прошло с момента выхода Nintendo 64. Игры для неё всё ещё можно найти на вторичном рынке. В России – это преимущественно картриджи Японского региона. Американские картриджи встречаются гораздо реже, ведь Япония ближе, удобнее и дешевле. К сожалению не все интересующие игры можно купить в интернете, особенно эксклюзивы или редкие картриджи. Так что-же делать, если хочется поиграть в игру, которую нельзя найти? Самый простой ответ – запустить на эмуляторе. Но для владельцев оригинальной консоли, есть и другой выход – флешь картридж ED64. Это картридж со встроенной картой памяти, на которую можно закачать любую игру. Очень удобно и вся библиотека игр помещается на одном устройстве. К тому же у вас появляется уникальная возможность пройти Зельду на русском языке. Кстати игр на русском крайне мало.

Геймпад – на просторах интернета, когда речь заходит про гейпад Нинтендо 64 принято ругаться. Громоздкий, неудобный, непонятно, как правильно держать, стик у него ненадёжный и часто ломается, но лично для меня всё это несущественные нюансы. Больше года я играл в различные игры на нинтендо 64, несколько даже прошёл полностью, неудобства были, но ничего такого к чему бы нельзя было привыкнуть. Да, когда я взял гейпад в руки в самый первый раз я конечно ощутил некий дискомфорт из-за его необычной формы, но это длилось недолго. Лишь в одной игре из тех, что я посмотрел было действительно ужасное управление и эта игра Турок 2. Конечно уже давным-давно на просторах интернета появились более удобные геймпады для Nintendo 64, но как я уже говорил ранее я хотел проникнуться оригинальными ощущениями и поиграть в ту консоль, которой она была на момент выхода. А геймпады можно купить для друзей, чтобы играть вчетвером.

Nintendo 64DD – периферийное устройство для Nintendo 64, подключалось снизу, через специальный порт. Позволяло использовать специальные магнитные диски размером 64 мегабайта для расширенного хранения данных. Продавалось только в Японии на закате популярности консоли и совсем недолго, признано коммерчески неудачным. Найти такой девайс по прежнему можно, но стоить он будет неоправданно дорого. У меня его нет, но рассказать надо было.

Как и обещал - видео. Материал подготовил Сергей Потапов с ютуб канала "НостальГИК"

Показать полностью 19 1
[моё] Ретро-игры Nintendo 64 Игры Детство 90-х Nintendo Длиннопост Видео YouTube
13
449
patap87
patap87
Лига Геймеров

Топовая графика на Nintendo 64, 2000 год⁠⁠

3 года назад

Так выглядела лучшая графика на Nintendo 64 в 2000 году.

Перейти к видео

Для запуска этой игры, в консоль требовалось установить дополнительные 4мб оперативной памяти (Expansion pak).

Топовая графика на Nintendo 64, 2000 год
Показать полностью 1
[моё] Nintendo Nintendo 64 Ретро-игры Видео Вертикальное видео TikTok
102
63
patap87
patap87
Уголок ретрогеймера

Resident Evil 2, картридж vs 2 CD⁠⁠

3 года назад

Решил проверить скорость загрузки игры RE2 на Nintendo 64 с картриджа и на PSone с диска.

Перейти к видео

Телевизоры разной диагонали, только такие были дома))) На PSone игра занимает 2 CD диска, а на Nintendo 64 один картридж на 64 мегабайта. Разработчикам пришлось сжать более 1гб контента, чтобы разместить игру на картридже. Все звуки и видео были сжаты до минимально возможного приемлемого качества с помощью специального инструмента сжатия. Разработчики совершили настоящий технический подвиг, а игра даже получила более высокое разрешение в отличии от PSone, благодаря расширению консоли Expansion pak.

P. S. Это не детальный разбор отличий, а лишь проверка скорости загрузки, по просьбе друга. Не судите строго.

Канал - "Ностальгик"

Показать полностью
[моё] Ретро-игры Видео Nintendo 64 Psone Картридж Вертикальное видео TikTok
31
12
patap87
patap87
Уголок ретрогеймера

Не надо так дёргать!⁠⁠

3 года назад

Кто знает испанский? Там ведь про геймпад речь идёт?

Перейти к видео
[моё] Ретро-игры Nintendo 64 Видео Вертикальное видео TikTok
6
patap87
patap87
Уголок ретрогеймера

Угадайте, от чего картридж с игрой?⁠⁠

3 года назад

Подсказка - он пиратский.

Перейти к видео
[моё] Sega Dendy SNES Nintendo 64 Видео Картридж Вертикальное видео TikTok
16
15
patap87
patap87
Уголок ретрогеймера

Осталось выучить Японский⁠⁠

3 года назад

Несколько картриджей для Nintendo 64

Перейти к видео
[моё] Ретро-игры Nintendo 64 Видео Nintendo Вертикальное видео TikTok
11
130
patap87
patap87
Уголок ретрогеймера

Управление в шутерах на Nintendo 64⁠⁠

3 года назад

Что-то можно изменить в настройках, но в целом ситуация не меняется. Кстати я уже привык к такому управлению и неплохо играю.

Перейти к видео
[моё] Nintendo 64 Ретро-игры Вертикальное видео Видео TikTok
55
9
twinkly
twinkly
Лига Геймеров

Как работает ИИ Super Mario 64⁠⁠

3 года назад

Автор перевода: PatientZero

Super Mario 64 — одна из самых важных и любимых игр в истории. Она задала стандарт для 3D-игр на критическом этапе развития отрасли и повлияла не только на игры для Nintendo 64, но и на проекты многих конкурирующих платформ.


Но как она работала? Происходило ли что-то интересное в головах Goomba, Koopa и и других врагов, которых мы встречаем на уровнях Bob-Omb mountain, Whomp’s Fortress и Tick Tock Clock? Давайте выясним это.


Открываем капот


Super Mario 64 уже исполнилось 25 лет, и хотя её искусственный интеллект может показаться довольно простым, нам важно понимать, что было в этой игре. Она является поворотным моментом в истории разработки игр. Это бестселлер платформы Nintendo 64, отражающий дух времени, когда разработчики игр переходили к 3D. Она сильнейшим образом повлияла на дизайн трёхмерных игр. Хоть она и не была первым 3D-платформером, да и первым 3D-проектом Nintendo, её наследие нельзя недооценивать. Такие дизайнеры, как Тим Шеффер и Майкл Джон подтверждают огромное влияние, оказанное игрой на их собственные проекты: Psychonauts и Spyro the Dragon. Некоторые аспекты, например, управление камерой, потребовали дальнейшей доработки, однако визуальный дизайн, анимация персонажей, движение игрока, структура уровней и миссий создали успешный шаблон для многих последующих игр.


Хотя ИИ проекта, без сомнений, очень прост, стоит проанализировать подход, использовавшийся Nintendo при структурировании и разработке поведений. Чтобы заняться этим, я скачал декомпилированный код Mario 64, выложенный на GitHub. Этот проект был опубликован в 2019 году, он стал одним из множества работ сообщества любителей декомпиляции, которые взяли на себя задачу реверс-инжиниринга сырого двоичного кода ROM-файла в узнаваемый, читаемый код на языке программирования C. Поэтому мой анализ строится не на исходном коде самой Nintendo, а на полученном реверс-инжинирингом коде, публично доступном и максимально приближенном к оригиналу.

Работа над декомпиляцией была вызвана не стремлением украсть ресурсы игры или создать новые порты. Это был механизм, помогающий спидраннерам находить новые хитрости. Для множества участвовавших в проекте разработчиков возможность функция за функцией собрать эту головоломку стала настоящей наградой. Декомпиляция подобного исходного кода даже в лучших случаях не была простой задачей. Ещё больше усложняла её необходимость в определении того, какие инструменты разработки использовались при создании игры в 1996 году. Чтобы декомпилировать подобную игру, нужно иметь представление о том, какакя версия компилятора Silicon Graphics IDO применялась для генерирования оригинального ROM-файла. Для тестирования всего этого необходимо эмулировать поведение комплектов разработки Silicon Graphics: SGI Visual Workstation, ведь именно их использовали разработчики, собиравшие игры для Nintendo 64. Это настоящий инженерный подвиг. Если вы хотите узнать больше об этой работе, в том числе и о трудах по декомпилированию таких игр, как The Legend of Zelda: Ocarina of Time, то прочитайте статью Arstechnica.


При правильной настройке декомпилированный исходный код позволяет скомпилировать ROM-файл для каждой региональной версии готовой игры (для рынков Японии, США и Европы). Однако для создания полностью играбельной игры вам всё равно нужна копия исходного ROM игры, ведь в этом проекте содержится только написанный сообществом исходный код. В нём отсутствуют внутриигровые ресурсы. Это значит, что нельзя просто скомпилировать его и получить бесплатную копию игры.


Объекты и поведения


В первую очередь о декомпиляции кода Mario 64 нужно знать то, что практически каждый элемент мира, за исключением геометрии уровня, считается объектом. И у большинства игровых объектов может существовать поведение.


Поведения позволяют использовать множество общих функций, например, создание объекта в нужной точке в виде монеты, падение объекта в результате взаимодействия, настройка хитбокса для коллизий между внутриигровыми объектами, поворот лицом к камере, отключение рендерера после уничтожения объекта, и так далее. Скрипты поведений используются не только для персонажей с ИИ: движущиеся платформы, двери, монеты, огненные шары, ударные волны, даже некоторые деревья и бабочки имеют поведения, поскольку в той или иной форме реагируют на игровой мир в результате взаимодействия или с течением времени.


Все объекты, имеющие скрипты поведений (Behaviour Scripts) имеют две основные функции, begin() и update(). Эти функции выполняют очень конкретные задачи: begin() отвечает за конфигурирование объекта для игры при его создании, а update() обрабатывает поведение объекта в каждом такте или кадре игры. Обычно Mario 64 выполняет эту функцию с частотой примерно 30 кадров в секунду, а самые вычислительно сложные части игры выполняются примерно раз в 20 кадров. То есть begin() вызывается только в первом кадре существования объекта, а update() — в каждом последующем кадре. Если вы сами разрабатываете игры, то это может показаться вам очень знакомым, потому что в движках наподобие Unity и Unreal используется похожая структура.


Функция update() обрабатывает исполнение стандартных команд поведения для каждого типа объектов, движение по осям x, y и z, учёт гравитации. Плюс она уделяет внимание всей логике управления таймерами для действий, переключению с одного действия на другое; всё это грубо реализовано в виде конечного автомата, в основном состоящего из условного ветвления в коде. Но самая важная задача функции — проверка местоположения Марио относительно объекта (эти вычисления выполняются первыми).

Первые два вычисления каждого объекта со скриптом поведений используются для расчёта расстояния до Марио и угла, требуемого для поворота в его сторону. Эти расчёты используются во многих задачах ИИ, и вскоре мы это увидим. Но особенно важно, что это используется для рендеринга внутриигровых объектов. Каждый управляемый поведениями объект в Super Mario 64 на основании близости к Марио принимает решение, должен ли он рендериться. Все объекты имеют собственный параметр дальности отрисовки, и в каждом кадре они проверяют, находится ли Марио дальше расстояния отрисовки. Если это так, то объект сообщает рендереру, что нужно его отключить. Любопытно, что я не нашёл свидетельств того, что эти поведения не исполняются, если Марио очень далеко.


Единственное исключение это уровни-помещения. Уровни Mario представляют собой или открытые пространства, например, Bob-Omb Battlefield, или состоят из множества комнат. Примерами этого могут быть Peach’s Castle, Big Boo’s Haunt и Hazy Maze Cave. На этих уровнях объект рендерится, только если Марио находится в одной комнате с ним. И многие скрипты поведений тоже активируются, только если Марио находится в той же комнате.


За пределами основных функций поведений объект может также хранить указатель на отдельный скрипт команд поведений. Эти скрипты написаны для более специализированных элементов игры и позволяют исполнять основную часть логики взаимодействий и поведений. В игре их более пятисот, это может быть специфическое поведение NPC, сбор красных монет, активация ловушек и даже завершение уровня подбором звезды.


Но поверх всего этого существуют хитбоксы, определяющие способ взаимодействия Марио с объектами. Хитбокс сообщает игровой логике, что два игровых объекта взаимодействуют и при помощи различной логики мы можем сделать так, чтобы в зависимости от контекста происходили различные действия. Например, чтобы Марио убивал врага или враг наносил урон Марио. Любопытно, что почти все враги в Mario 64 имеют два хитбокса и оба они цилиндрические. Стандартный хитбокс объекта используется для многих внутриигровых коллизий и логики, однако есть и hurtbox, используемый исключительно в ситуациях, когда наносится урон Марио. У большинства NPC есть hurtbox, и часто он отличается от обычного высотой и радиусом. Однако есть и исключения, например, Koopa the Quick, который не использует hurtbox, потому что просто отталкивает игрока, а не вызывает урон при коллизии.


Дизайн NPC


Как и в основном скрипте поведений, в используемых NPC отдельных действиях поведений есть собственные функции begin() и update(). Я расскажу о самом интересном, что мне удалось там найти.


Как уже говорилось, все игровые объекты вычисляют своё расстояние и угол относительно Марио для рендеринга, однако многие NPC также используют эти данные для своей базовой логики. Игравшие в игру должны были это заметить, учитывая, как враги наподобие Koopa и Goomba реагируют на присутствие Марио.


Но кроме этого многие из них записывают местоположение своего «дома». Они хранят ссылку на то место в игровом мире, где они были созданы, или на близлежащее место. Эти данные используются, чтобы NPC приблизительно знали, в каком месте игры они появились при загрузке уровня.


Стоит упомянуть, что NPC в Mario 64 не могут вычислять что-то вроде сетки навигации, чтобы понимать, куда можно перемещаться в мире. Потому что на самом деле её нет: то, что мы теперь называем navmesh в игровых движках, появилось только в Quake III Arena в 1999 году. NPC наподобие Goomba и Koopa Troopa просто блуждают по окрестностям, пользуясь фиксированными правилами о том, насколько далеко они могут зайти, прежде чем изменить расстояние, и часто поворачиваются на фиксированные углы. Вы заметите, что чаще всего они остаются на поверхности, на которой были созданы, к тому же многие уровни Mario 64 не сильно заполнены объектами, поэтому им сложнее запутаться в препятствиях. Есть лишь несколько врагов, которые двигаются по платформам, но они не сваливаются с них только благодаря чистой удаче, или летают, когда что-то произойдёт на уровне кода.

Но когда они движутся, то часто уделяют внимание двум аспектам. Во-первых, они смотрят, не столкнутся ли со стенами, и если это так, то они отворачиваются от них. Но как объект знает, что он смотрит на стену? Есть функции, позволяющие ему разрешать коллизии на основании текущего направления, и в них часто есть возможности для поворотов. То же самое применимо, когда они смотрят на Марио, только это определяется не по точному направлению, а в секторе круга. В некоторых случаях, например, в случае Goomba, персонаж реагирует на Марио просто когда тот находится на определённом расстоянии до него, вне зависимости от направления взгляда.


Второй важный аспект для NPC — это текущее расстояние от «дома». У каждого NPC есть собственные правила относительно того, как далеко можно уходить от «дома», будь то общее расстояние (такая логика используется для Goomba и Koopa), или расстояние по определённой оси (логика Bob-Omb). В случае Boo это расстояние рассчитывается как радиус от исходной точки (вычисляемый движением по X и Z). Как бы то ни было, общее правило заключается в том, что они поворачиваются, берут направление к «дому» и начинают брести обратно в его сторону. Однако в некоторых случаях, в частности Bob-Omb и Bully, они возвращаются домой, если это считается безопасным, что определяется по близости Марио к «дому».


Эта логика описывает большинство персонажей, но у всех у них есть собственные уникальные особенности. Goomba делают резкие повороты от стен и дают задний ход к «дому», если общее расстояние слишком велико. Они преследуют Марио, если он слишком близко, вне зависимости от угла, в радиусе примерно 500 единиц. При этом перед погоней они всегда подпрыгивают. Для справки: единицы расстояния почти полностью совпадают с реальными сантиметрами. Марио имеет в игре рост 161 единицу, а согласно Mario wiki его рост составляет 155 см. Поэтому расстояние в 500 единиц до Goomba — это чуть меньше 5 метров.

У Koopa Troopa используется схожая логика, однако они убегают от Марио в пределах 300 единиц. В логике Koopa интересно то, что когда игрок прыгает на них, они могут потерять свой панцирь. Обычно они пытаются подбежать к панцирю, но довольно часто Марио слишком близко и это заставляет их отбегать. Однако если панцирь достаточно близко, несмотря на близость Марио, NPC рискует и залезает обратно в свой панцирь.


Как уже говорилось, Bob-Omb патрулируют окрестности в зависимости от того, как далеко они удалились по любой оси от своего «дома». Хотя, честно говоря, им сложно уйти на достаточно далёкое расстояние, не взорвав себя. Но в отличие врагов наподобие Goombas, когда Bob-Omb погибает, она запускает в коде респаун, создающий новую Bob-Omb там, где появилась предыдущая, после того, как Марио покинул уровень.


Другие враги, например Whomp, проверяют расстояние до «дома» и сравнивают с заданным расстоянием патрулирования. Оно устанавливается отдельно для каждого уровня. Whomp имеет одинаковое расстояние патрулирования на всех уровнях, за исключением Bowser in the Sky, где оно гораздо короче.


Heave-Ho, появляющиеся на уровнях Tick Tock Clock и Wet Dry World, тоже используют местоположения «дома» и Марио, но немного иначе: Heave Ho записывает местоположение «дома» в start. Но когда Марио приближается на определённое расстояние к «дому», персонаж начинает двигаться в его сторону.


Нельзя говорить о Mario 64, не упомянув рыб! Рыбы создаются в двух вариантах, синем и сиреневом. Кроме того, создаваемые стаи рыб тоже имеют два варианта: большая стая из 20 рыб и мелкая стая из 5 рыб. При создании в функции start рыбам придаётся разная начальная скорость (добавляется немного случайного шума), плюс их высота в воде тоже немного варьируется, чтобы они не были слишком скученны в одном месте.


Сами рыбы имеют довольно простой набор поведений, они поднимаются и опускаются, поворачиваются на фиксированный угол плюс случайный шум, а затем возвращаются обратно. Их высота обычно ограничена, чтобы они не поднимались слишком близко к поверхности воды, и если они оказываются слишком близко, прикладывается большая отрицательная вертикальная скорость. Единственным исключением является уровень Secret Aquarium, потому что на нём нет поверхности воды.


Чтобы рыба не слишком удалялась от исходной точки, она может двигаться в фиксированном диапазоне, примерно равном 700 единицам. Кроме того, стая обычно создаётся в 1500-2000 единицах от Марио на карте. 700 единиц означают, что на самом деле рыбы плавают в диапазоне всего менее 7 метров. А стая создаётся примерно в 15-20 метрах от Марио. Плюс рыбы реагируют на нахождение Марио в воде. Когда Марио находится менее чем в 150 единицах, они поворачиваются так, чтобы отвернуться от Марио и все ускоряются. Этому стандарту игровая индустрия продолжала следовать ещё много лет.

Источник

Показать полностью 4
Разработка Gamedev Марио Дизайн Искусственный интеллект Nintendo 64 Платформер Super Mario Игры Длиннопост
3
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии