Рубрика «quake» - 3

image

Программист Майкл Абраш, в середине 90-х приглашённый Джоном Кармаком для работы над движком первого Quake, написал в процессе разработки серию статей. Это вторая колонка из данной серии. Перевод первой находится здесь.

Должен признаться: меня достал классический рок. В последний раз я с радостью слушал что-нибудь из Cars или Boston довольно давно, около 20 лет назад. Кроме того, меня никогда особо не привлекали Боб Сигер и Queen, не говоря уже об Элвисе, так что здесь мало что изменилось. Но я понимал, что нечто изменилось, когда мне хотелось переключить радио, услышав Allman Brothers, или Steely Dan, или Pink Floyd, или, господи, прости, Beatles (но только на таких вещах, как «Hello Goodbye» и «I’ll Cry Instead», а не «Ticket to Ride» или «A Day in the Life»; я ещё не зашёл настолько далеко). Долго искать причины этого не пришлось; я слушал одни и те же песни четверть века, и просто от них устал.

Я рассказываю это всё таким образом потому, что когда мы с моей дочерью однажды вечером ехали из кафе, в машине впервые была включена радиостанция «Альтернативы нет».

Мы говорим о десятилетней девочке, росшей на постоянной диете из старых хитов. Ей нравятся мелодии, легко запоминающиеся песни и хорошие певцы. Ничего из этого не найдёшь, слушая станцию про альтернативный рок. Поэтому неудивительно, что когда я включил радио, она первым делом сказала «Фу!»

Но вот что меня удивило: послушав какое-то время, она сказала: «Знаешь, папа, а на это на самом деле интересно».

Это не только намекнуло мне о том, какая музыка будет грохотать по всему дому, когда она станет тинейджером. Её быстрое принятие альтернативного рока (по сравнению с моим длящимся десяток лет увлечением музыкой собственной юности) напомнило мне кое о чём, что легко забывается, когда становишься старше и образ жизни становится устоявшимся. Это напомнило мне, что необходимо сохранять открытость сознания и быть готовым — более того, стремиться — пробовать новые вещи.Читать полностью »

image

Ветеран программирования трёхмерной графики Майкл Абраш на примере разработки первого Quake рассказывает о необходимости творческого мышления в программировании.

Много лет назад я работал в теперь уже не существующей компании-производителе видеоадаптеров Video Seven. Там я помогал в разработке клона VGA. Мой коллега Том Уилсон, долгие месяцы круглосуточно работавший над разработкой VGA-чипа Video Seven, стремился сделать VGA как можно более быстрым, и был уверен, что его производительность оптимизирована почти по максимуму. Однако когда Том уже вносил в конструкцию чипа последние штрихи, до нас донеслись слухи, что наш конкурент Paradise достиг ещё большей производительности в своём разрабатываемом клоне, добавив в него FIFO.

На этом слухи заканчивались — мы не знали, ни что это за FIFO, ни насколько он помог, ничего другого. Тем не менее, Том, обычно приветливый и расслабленный человек, превратился в активного, одержимого фанатика со слишком большим процентом кофеина в крови. Исходя из этих крупиц информации, он пытался выяснить, что же удалось сделать Paradise. В конце концов он пришёл к выводу, что Paradise вероятно вставил FIFO-буфер записи между системной шиной и VGA, чтобы когда ЦП выполнял запись в видеопамять, записываемые данные сразу же попадали в FIFO, и это позволяло ЦП продолжать обработку, а не простаивать каждый раз, когда он выполнял запись в память дисплея.

У Тома не было ни логических элементов, ни достаточно времени на реализацию полного FIFO, но ему удалось реализовать FIFO глубиной в одну операцию, что позволяло процессору обгонять VGA-чип на одну операцию записи. Том не был уверен, что это даст хорошие результаты, но это было единственное, что он смог сделать, поэтому он реализовал эту систему и передал чип в производство.
Читать полностью »

Продолжаю выкладывать доклады с Pixonic DevGAMM Talks — нашего сентябрьского митапа для разработчиков высоконагруженных систем. Много делились опытом и кейсами, и сегодня публикую расшифровку выступления backend-разработчика из Saber Interactive Романа Рогозина. Он рассказывал про практику применения акторной модели на примере управления игроками и их состояниями (другие доклады можно посмотреть в в конце статьи, список дополняется).

Читать полностью »

DeepMind не остановить: ИИ теперь умеет играть в Quake III Arena - 1

Компания DeepMind, бывшая некогда подразделением корпорации Google, занимается разработкой ИИ (слабой его формы) для различных целей. Сейчас команда DeepMind активно участвует в создании разных форм ИИ, заточенных для игр, как логических, настольных, так и шутеров. Игр много — это и го, и StarCraft, а теперь — и Quake III Arena.

Разработчики заявили в своем блоге о том, что они обучили систему ИИ играть в Quake III Arena примерно так, как это делает человек. То есть компьютерная система научилась адаптироваться к быстро изменяющимся условиям игры, включая переключение уровней и их элементов. Традиционно, при обучении использовалась система с подкреплением.
Читать полностью »

Статический анализ в видеоигровой индустрии: топ-10 программных ошибок - 1

Если вы занимаетесь разработкой ПО в сфере видеоигровой индустрии и задаётесь вопросом о том, что ещё можно сделать, чтобы повысить качество продукта упростить процесс разработки, и при этом не используете статический анализ — самое время начать. Сомневаетесь? Что ж, я попробую вас в этом убедить. Если же вам просто интересно посмотреть на ошибки, которые допускают разработчики из сферы видеоигровой индустрии, то, опять же, вы попали по адресу — специально для вас отобраны наиболее интересные.
Читать полностью »

Дóжили. Недавно была обнаружена проблема синхронизации игрового процесса с реальным временем не где-нибудь, а в игре "Quake Champions". Название игры "Quake" раньше было синонимом чего-то крутого, высокотехнологичного и идеального. И в голову не могло придти, что через какую-то пару десятков лет и камня на камне не останется от былого превосходства, а в новой игре с именем "Quake" появятся грубые ошибки, приводящие к тому, что один из игроков может получить преимущество только потому, что у него лучше "железо". Дело в том, что скорость стрельбы в новом шутере зависит от fps, то есть, количество пуль, выпущенных игроками с разным значением fps за один и тот же промежуток времени будет разным, а значит один из них может получить преимущество.
Данная статья рекомендуется к прочтению всем разработчикам игр, а в особенности разработчикам программ для движущихся механизмов. Да, подобные проблемы были и в коде библиотеки для работы с шаговыми двигателями для Arduino. Но если вы создаете программы для управления полетом ракет, или для атомных реакторов, то, ребята, вам эта статья не поможет. Вам нужны другие уровни синхронности, и специальное железо, работающее под управлением RTOS.

Читать полностью »

image

Я с удовольствием погрузился в изучение исходного кода Quake World и изложил в статье всё, что я понял. Надеюсь, это поможет желающим разобраться. Эта статья разделена на четыре части:

  • Архитектура
  • Сеть
  • Прогнозирование
  • Визуализация

Читать полностью »

[Публикую собственный перевод статьи за авторством TitanSlayer, автора музыки для видео игр, фильмов и ТВ]

Мне всегда нравились видеоигры. С самого детства я был очарован, загипнотизирован такими играми как Quake, Hexen, Heroes of Might & Magic.

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

В этой статье я собираюсь осветить фундаментальные основы: особенности взаимодействия автора саундтрека с разработчиком, и то, как автор должен подойти к работе над музыкой для игры.
Читать полностью »

Для меня WASD — понятная на интуитивном уровне комбинация клавиш для игр. Но история могла пойти по другому пути, и мы бы получили EDSF или ASXC. Давайте узнаем, почему мы играем именно так.

Как появилась комбинация WASD - 1

Сегодня WASD кажется неизбежной и незаменимой комбинацией клавиш для игр. Как только в 3D-шутерах появилось управление мышью, стало сложно, во всяком случае правше, держать пальцы на стрелках. Клавиши в левой части клавиатуры более удобны, и там легче достать до Shift и Space. Но это сейчас WASD кажется оптимальным и единственно верным выбором, а двадцать лет назад мало игроков использовали эту комбинацию.
Читать полностью »

Старые игры переживают второе рождение?

На 20-летие Quake выпущен новый эпизод для этой игры - 1

В этом году любители классических игр получили сразу несколько подарков в виде новых уровней к играм, которым уже исполнилась пара десятков лет. Одной из таких игр является оригинальный Quake, который отметил на днях ровно 20 лет. В качестве подарка любителям этой игры команда MachineGame (студия, которая разрабатывала Wolfenstein: The New Order и дополнение The Old Blood), выпустила новый эпизод для Quake. Как и всякий подарок, этот эпизод полностью бесплатен.

По мнению геймеров, которые уже ознакомились с новинкой, эпизод довольно сложный и длинный. За пару часов новичок ну никак не сможет все пройти. Здесь, как и в оригинале, множество скрытых помещений и загадок. Правда, некоторые загадки нельзя назвать сложными — но это, вероятно, расчет на новое поколение геймеров, которые не знакомы с играми прежних лет. Ведь большинство нынешних игрушек нельзя назвать слишком уж сложными, за исключением некоторых наименований.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js