LXF156:Строим автомат для видеоигр
|
|
|
Ретро-игры. Вспомните молодость и превратите свою гостиную в зал игровых автоматов
Содержание |
Строим автомат для видеоигр
Грэм Моррисон компенсирует нищету восьмидесятых, запустив Ghosts’n Goblins на постоянном Freeplay.
В середине восьмидесятых годов главные улицы всех городов Великобритании обзавелись залами игровых автоматов [arcade]. Разнообразием они не отличались. Это были темные кубические пещеры, как правило, окруженные клубами сигаретного дыма и втиснутые между местной прачечной и магазином «Рыба и чипсы».
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Снаружи они напоминали дешевое казино; однако если вы попадали внутрь и давали глазам время привыкнуть, вы оказывались во дворце из пикселей, полном мерцающих огней, и в хаосе звуков. Гробоподобные ящики с футуристическими «органами управления» и огромным мигающим кинескопом, прислоненные стоймя к каждой стене или колонне, производили ужасный шум. Толпы завсегдатаев этих мест колотили по кнопкам, дергали за джойстики и совали монеты в серебряные прорези – их лица отражали свечение, исходящее от их гибнущих героев.
Используя свою Linux-машину, вы можете воссоздать это чудо раннекомпьютерной эры в вашей собственной гостиной, вместе с аутентичными джойстиками, постоянным мышечным утомлением и пренебрежительными взглядами непосвященных. Потратьте свободное воскресенье, и вы согреетесь от остатка промозглой английской зимы в теплой ванне ностальгии.
Чтобы осадить ваш пыл, скажем сразу, что весь автомат воссоздавать не будем. Вместо этого мы создадим Linux-компьютер размером с HTPC, который можно разместить рядом с телевизором и использовать как игровую приставку. Если вы захотите пойти дальше, купите старый автомат Jamma и оснастите его вашим оборудованием. Если вы намерены создать новый, то доступны и дорогие комплекты, они поместятся в любом гараже.
Также мы будем избегать предмета поиска и установки ПЗУ. Существуют законные источники, включая сам сайт Mame, но мы лучше предоставим этот шаг вашей изобретательности, чем вовлечем себя в юридические разборки.
- Если вы покупаете ПК для этого проекта, перейдите на Шаг 1.
- Если у вас уже есть свободный ПК, но для него нужен дистрибутив, перейдите на Шаг 2.
- Если дистрибутив установлен, перейдите на Шаг 3.
Шаг 1: Рекомендации
Любой CPU не старше пяти лет способен перемещать старомодные спрайты и осуществлять ввод с пары контроллеров. Мы использовали 2,3 ГГц Core2Duo с 2 ГБ ОЗУ и 120-ГБ 2,5-дюймовым жестким диском (чтобы он вел себя тихо). Этого достаточно, чтобы играть в большинство игр 1970-х и 1980-х, и даже многие из 1990-х. Последние десятилетия ограничены из-за качества эмуляции и аппаратного ускорения, а также возможности средней консоли делать современные преобразования более играбельными.
Основной упор мы сделаем на графическую карту, и ваши требования могут отличаться от наших. Нам была нужна видеокарта с портом HDMI, чтобы мы смогли подключить компьютер с Linux к HD-телевизору; причем с пассивным охлаждением радиатором, а не шумным вентилятором.
По этим причинам, а также потому, что проприетарные драйверы Nvidia до сих пор имеют лучшую производительность в Linux, мы остановились на Gainward GT 520 с 1-ГБ DDR3 и портом HDMI. Если вы хотите играть в самые свежие игры для Windows, вы сможете найти лучшие карты по такой же цене, однако для нашей игровой системы Linux это идеальный выбор. Мы смогли преспокойно запускать игры на 1080p, а также использовать порт HDMI как для видео, так и для звука. Настройка всего этого будет рассмотрена ниже.
Очевидно, вам потребуется какой-нибудь «орган управления» (об этом – далее), но проводная мышь и клавиатура вряд ли будут лучшим решением. Полно и беспроводных вариантов, а в идеале подойдет сочетание беспроводной клавиатуры и трекпада, чтобы можно было усесться на диване с одним устройством. Мы выбрали Xenta Wireless Keyboard на 2,4 Ггц – ее можно добыть менее чем за £ 25. Но она не рекомендуется для целей, отличных от простой настройки и использования изредка, так как работает на расстоянии не больше пары метров. Наконец, определитесь, будет ли ваш компьютер подключен к сети во время работы. Если да, убедитесь, что рядом есть маршрутизатор или беспроводные сети.
- Перейдите к Шагу 2, если вы устанавливаете свежий дистрибутив, или к Шагу 3, если обновляете существующий.
- Чтобы перепрыгнуть прямо на рекомендации по настройке управления игрой, перейдите к Шагу 5.
Шаг 2: Установка и настройка
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
- Чтобы настроить вашу графику на телевизор и убедиться в правильном разрешении, используйте утилиту nvidia-settings.}}
Если с аппаратными рекомендациями все в порядке, то вам потребуется новейшее ядро, чтобы гарантировать совместимость и наилучшим образом употребить свежий дистрибутив. Мы взяли Arch, так как его архив пользовательских пакетов (AUR) предлагает самые свежие версии нужных нам пакетов с эмуляцией. Однако последняя, и самая великолепная версия Ubuntu тоже подойдет. Мы бы рекомендовали взять не версию с Unity, а Xubuntu: рабочий стол Xfce требует меньше памяти и больше подходит для работы с телевидением. По той же причине мы установили Xfce в Arch.
Во-первых, убедитесь, что установлены и используются проприетарные драйверы Nvidia. Если вам удалось установить Arch, то добавить их довольно просто. Однако в обеих установках нам больше везло, когда мы слегка модифицировали установку, создав и отредактировав файл X.org самостоятельно. В большинстве современных дистрибутивов этот файл опущен, так как X может провести почти всю настройку сам, но вам стоит создать его, чтобы довести дело до совершенства. Подключите свой компьютер к экрану, который вы собираетесь использовать, и запустите с правами администратора утилиту nvidia-settings. Из GUI проверьте, что ваш экран распознался и разрешение правильное, и на странице X Server Display Configuration нажмите кнопку Save to X Configuration; при этом сгенерируется файл, который нужно поместить в /etc/X11/xorg.conf.
Настройка звука
Теперь обратим внимание на звук. Простейший путь – использовать один из аналоговых аудиовыходов на вашей материнской (или звуковой) плате, и подключить его либо к вашему телевизору, либо ко внешним колонкам, либо к усилителю. Однако если вы последовали нашим рекомендациям по графическому оборудованию, то лучше будет посылать аудио через порт HDMI, по которому также передается видеосигнал: тогда вы сможете подключать ваш ПК к HD-телевизору одним кабелем. Старые графические карты HDMI для передачи звука от материнской платы к карте использовали внутренний переключатель, но в GT 520 встроено чисто цифровое аудиоустройство именно для такой цели, то есть его нужно настроить как любую другую звуковую карту. К счастью, ядро Linux должно определить это устройство и добавить его в систему, однако оно, скорее всего, уступает по приоритету материнской плате, и вы не сможете получать из него звук.
Решение – создать пользовательский файл настройки ALSA. Сначала определите параметры вашего аудиоустройства; это делается утилитой командной строки aplay, которую следует загодя установить. Введите aplay -l и поищите в выводе HDMI. На нашей системе мы отключили звук, встроенный в материнскую плату в BIOS, и вывод имеет такой вид:
aplay -l **** List of PLAYBACK Hardware Devices **** card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0
Отсюда вы поймете, что наш звуковой порт HDMI – card 0, device 3, и нам нужно перенести эти числа в строку dmix следующего файла настройки:
pcm.hdmi_formatted { type plug slave.pcm “dmix:0,3” } pcm.hdmi_complete { type softvol slave.pcm hdmi_formatted control.name hdmi_volume control.card 0 } pcm.!default hdmi_complete
Этот файл можно либо сохранить под именем .asoundrc в домашнем каталоге пользователя – при этом действие будет распространяться только на его учетную запись – либо, чтобы эффект охватывал всю систему, в /etc/asound.conf. Проверить, что все работает, можно, запустив воспроизведение музыки на каком-нибудь проигрывателе типа VLC.
Шаг 3: Запуск Mame
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Раз серверная часть настроена и работает, пора установить приложения, которые сделают скромный компьютер Linux игровым автоматом ретро. Основой нашей системы будет Mame, замечательный эмулятор многих игровых автоматов, который берет образы ПЗУ и превращает их в приличные копии оригинала, включая вид экрана, графику окружения и заставку, если у вас есть доступ к файлам.
Существует несколько версий Mame, и этот проект постоянно обновляется. Поэтому важно взять такую версию, которая делает то, что мы от нее хотим, и обновляется так же, как и главный проект. Мы протестировали несколько версий, и лучшее, что смогли найти – это SDLMame, который, как можно догадаться из названия, использует для видео и графики фреймворк SDL. Последние версии SDLMame, доступные через соответствующий менеджер пакетов, есть и в Arch, и в Ubuntu, а пользователи Ubuntu могут получать еженедельные обновления, выкладываемые одним бравым пользователем на http://sdlmame.wallyweek.org.
SDLMame, как и все другие версии, это программа, работающая из командной строки, запускаемая вводом sdlmame. Это как бы не то, что было в оригинальном игровом автомате, поэтому мы установим графический интерфейс. Однако предварительно убедимся, что SDLMame работает и настроен правильно. У Mame есть сложный файл настройки, использующий уйму папок для различных изображений, звуков и снимков игр. После первого запуска программы из командной строки вы увидите, что эта структура прячется в папке .mame вашего пользователя. Установка по умолчанию содержит более 10 папок.
Настройка
Чтобы все заработало, нам придется повозиться с файлом mame.ini, так что загрузите его в свой любимый текстовый редактор. Он содержит сотни опций, часть которых вы захотите поменять для вашей конкретной установки, однако вот основные моменты из нашего файла настройки и их действия:
readconfig 1 writeconfig 1
Эти две опции обеспечивают способность Mame загружать предыдущую конфигурацию и сохранять изменения, произошедшие во время игры. Это существенно, если вы во время игры измените настройки джойстика и захотите, чтобы при следующем запуске игры они сохранились. По умолчанию writeconfig выключен (0), и если вы хотите, чтобы Mame работал так, как вам нужно, включите это.
rompath $HOME/.mame/roms hashpath hash samplepath $HOME/.mame/samples artpath $HOME/.mame/artwork;artwork ctrlrpath $HOME/.mame/ctrlr;ctrlr inipath $HOME/.mame/ini
Это главные пути к местоположению файлов, используемых в Mame. По умолчанию вы увидите эти папки в каталоге .mame; рекомендуем размещать все файлы поддержки в этих папках, важнейшей из которых является папка roms.
autosave 1
По умолчанию эта опция отключена, но мы считаем, что ее желательно включить, особенно если вы играете в старую игру. Она сохраняет состояние эмуляции, когда вы выходите из игры, и восстанавливает его при следующем запуске. Это может принести мучение (или спасение!), если вы вышли посреди игры, так как эмулятор при следующем запуске продолжит с этого места, а также означает, что уцелеют ваши рекорды для старых игр, таких как Asteroids. Более новые игры, когда игровой автомат сохранял таблицу рекордов в энергонезависимую память на батарейке, сохранят свои установки и рекорды в файл из папки nvram, но более старые игры, такие как Asteroids, этого не делают. Автосохранение решит эту проблему.
paddle_device mouse adstick_device keyboard pedal_device mouse dial_device mouse trackball_device mouse lightgun_device mouse positional_device mouse mouse_device mouse
Эти опции сообщают Mame, какой локальный ввод использовать для эмуляции органа управления. Например, мы изменили большую часть аналогового ввода на использование мыши, поскольку это более близкая замена, чем цифровой джойстик. В играх наподобие Breakout перемещение мыши влево и вправо соответствует в оригинале ракетке; мышь также является хорошей заменой ружью или трекболу.
video opengl
waitvsync 1
Последние две опции, которые мы проверим, должны улучшить производительность графической карты. Первая гарантирует, что Mame использует ускорение OpenGL, а вторая, по умолчанию не включенная, принуждает дисплей обновляться целыми кадрами. Это предотвратит рваный внешний вид экрана, который возникает при обновлении только половины отображаемого кадра.
Сохраните файл настройки и запустите Mame, чтобы сыграть в игру. В командной строке введите sdlmame, после чего укажите имя игры в Mame – например, asteroids. Чтобы все выглядело еще более гладким, можете установить интерфейс Mame для запуска игр.
- Если вы собираетесь использовать графический интерфейс для запуска игр, перейдите к следующему шагу.
- Если вы хотите обзавестись оборудованием для управления, прыгайте на Шаг 5.
Шаг 4: Установка графического интерфейса
Для комфорта пользователя графический интерфейс для Mame практически необходим, и здесь есть из чего выбрать. Отличным, дружелюбным к ТВ 3D-меню с прокруткой является Wahcade. Мы опробовали его, и ряд других, но остановились на альтернативе – Q Mame Cat II, или Qmc2. Эта мощная программа все еще в разработке, и предоставляет вам полный контроль над эмулятором и способом запуска игр, а также массу необязательных функций: снимки экрана, просмотр флаеров и даже плейер.
При первом запуске после установки потребуется сообщить мастеру запуска, где искать исполняемый файл sdlmame, который в большинстве систем расположен в /usr/bin/sdlmame; вы также можете ввести расположение звуковых сэмплов, ПЗУ и папки хэшей (хэши используются как контрольные суммы для проверки ПЗУ). Когда появится главное окно, оно на несколько минут займется сканированием вашей коллекции ПЗУ. Для гарантии, что Mame и Qmc2 используют одни и те же установки, загрузите только что настроенные параметры Mame в интерфейс. На панели инструментов нажмите на Spanner, затем на Emulator, и, оставаясь на странице Global Configuration, нажмите Import From. Откроется диалог выбора файла, где можно выбрать файл mame.ini. Тогда импортируются все параметры и установки, используемые sdlmame в командной строке. Затем нажмите Apply.
Если у вас имеются другие сборники игр, воспользуйтесь вкладкой Frontend/Files/Directories, чтобы задать их вручную. Они отличаются от игр, указанных файлу настройки, так как помещаются внутри интерфейса пользователя, а не являются частью эмулятора.
Теперь можно и играть. Однако для создания максимальной иллюзии прошлого перейдите к следующему шагу, чтобы узнать, как присовокупить к вашему игровому автомату аутентичное оборудование для ввода.
Шаг 5: Настройка органов управления
Использовать клавиатуру для игры в Crystal Castles бессмысленно. Это то же самое, что сдувать шарик по столу вместо игры в гольф. То есть джойстик, или другой игровой контроллер, совершенно необходим. В качестве дешевого решения у нас получилось использовать USB-адаптер от PlayStation 2 и найти два дешевых беспроводных PS2-контроллера. В Linux они распознавались и настраивались автоматически, и их можно использовать в качестве контроллеров в Mame, просто поменяв в игре назначение клавиш. Если вы желаете потратить сумму в £100 – 200, то есть и лучший вариант, из конюшни Xgaming X-Arcade. Это полномерные управляющие поверхности, созданные с аутентичным оборудованием класса arcade. Можете купить простой джойстик или полноприводную панель для двух игроков с трекболом, и они будут работать в Linux, так как оба эмулируют стандартную клавиатуру в случае кнопок и джойстика и двухкнопочную мышь в случае трекбола. Более того, они заранее настроены на использование клавиш по умолчанию Mame, так что можете просто подключиться и играть.Могут наступить времена, когда вам захочется поменять конфигурацию по умолчанию, и это можно сделать в Mame, нажав на Tab. Тогда откроется меню Settings, где для изменения типа управления вы можете использовать либо меню Input General, либо Input This Game. Input General изменит управление для всех игр; This Game сохранит изменения для загруженной игры, какой бы они ни была.
Например, чтобы поменять значение кнопки Пли по умолчанию, выберите P1 Button 1, нажмите Enter, чтобы переназначить кнопку, затем нажмите на тот ввод на джойстике, которому вы хотите ее назначить. Можно даже поменять управляющие элементы, используемые для перемещения по интерфейсу Mame, и вам больше уже не понадобится клавиатура. Наконец, в меню Analog Control можно масштабировать аналоговый ввод для мыши или трекбола. Мы обнаружили, что обычно для игрового баланса хватает чувствительности 150 – 200, по крайней мере, для X-Arcade.
Все, что осталось сделать – это загрузить компьютер, включить музыку и насладиться игровой классикой!