Практически любой проект проще и экономичнее реализовывать, если с самого начала честно ответить на ключевой вопрос: зачем он вообще нужен. С игровыми автоматами это особенно важно — без ясной цели просто уйти в непрерывные правки, переделки и обновления, что могут длиться вечно.
Поэтому перед тем как приобретать элементы, покупать корпусные материалы и подбирать программное обеспечение, я сформулировал для этого проекта основные требования к будущему устройству.
Отправной точкой с чего все началось — формат использования. Не теоретический «автомат из фантазий», а максимально реалистичный вариант:
Мне нужен был формат в формате «пришли друзья — нажали старт — начали играть». Без всяких объяснений, руководств и обучения.
Классические аркадные кабины визуально выглядят круто, но для комнаты это не всегда практичный вариант. Из-за этого я отказался от мысли стандартного автомата на полу и остановился на уменьшенный формат.
Базовые требования по габаритам сформулировались так:
Такой подход автоматически определило рамки на размер экрана, по корпусу и массу устройства.
Далее был принципиальный момент — игры. Я сразу для себя решил, что данный вариант собирается не «для хранения игр», а прежде всего для использования.
Из этого определились практичные требования:
Оптимально под такой формат подпадают игры-файтинги, beat ’em up, аркадные гонки и классические шутеры.
Комфорт от игры в значительной степени формируются от управления. Можно установить топовый ПК и красивый дисплей, но когда кнопки «плохие», а рычаг имеет люфт — удовольствия не останется.
Если подбирать как сделать игровой автомат, то минимальный набор условий будет выглядеть следующим образом:
Если говорить о кнопках я оценивал два варианта: 4 или 6 на игрока. В итоге я остановился на 6 — это более универсально и позволяет удобно играть в игры-файтинги.
На этом этапе я еще не знал окончательных габаритов устройства, но уже понимал, какие моменты необходимо продумать:
Все эти вещи трудно рассчитать «на глаз», в результате я изначально включил фазу прототипа, о котором пойдет речь дальше.
Даже если устройство используется дома и используется бережно, он все равно должен быть удобным для обслуживания. Я изначально предусмотрел несколько важных пунктов:
После того как все пункты были зафиксированы, стало ясно, в каком направлении двигаться дальше. Дальнейшим шагом стало проектирование и создание начального прототипа.
Когда базовые требования были сформулированы, было ясно, что сразу делать «финальный» вариант — ошибочное решение. Без практики просто допустить ошибку в размерах, наклонами и расположением элементов. Поэтому следующим шагом стало создание прототипа.
В теории и в голове все всегда выглядит безупречно. На практике быстро становится понятно, что на самом деле:
Пробный вариант нужен не для эстетики, а для оценки удобства. Главная задача прототипа — ответить на вопрос: удобно ли пользоваться.
Самый простой и дешевый вариант проверить компоновку — использовать бумагу и простые материалы. Я сделал:
Вся эта конструкция раскладывалось на столе в разных вариантах. Я менял расстояние между игроками, наклон экрана, ширину панели и смотрел, как это ощущается вживую.
Уже тогда стало ясно, что часть идей из головы просто не работают.
После этапа с бумагой я решил для себя сделать черновой контроллер для тестов. Без корпуса, без внешнего вида — просто чтобы почувствовать впечатления от кнопок и джойстиков.
Для этого потребовалось:
Я смонтировал кнопки с джойстиками в корпус, подключил их к плате и включил пару игр на экране. Этот этап принес гораздо больше понимания, чем любые чертежи.
После нескольких вечеров проверок стали очевидны вещи, о таких вещах обычно не думаешь:
Этот этап сэкономил мне массу времени и денег в будущем. Переделывать картон — дешево. Исправлять корпус — сложно и затратно.
После того как базовое расположение прояснилась, я перенес эту компоновку в 3D. Это позволило:
На этой стадии внешний вид еще не раз корректировался, но главное уже было ясно: автомат будет комфортным, компактным и ориентированным на двух игроков.
Дальше можно было перейти к подбору начинки и основного блока устройства.
После того как прояснилось, каким образом автомат должен выглядеть и ощущаться в реальности, настал момент решить, что именно будет использоваться внутри. От выбора «платформы напрямую зависит уровень сложности, надежность и объем времени, который придется потратить на настройку.
На старте я перебирал пару популярных вариантов:
ПК и ноутбук были отброшены сразу же: эти варианты занимают большой объем, требуют больше питания и усложняют конструкцию. Я хотел небольшое, простое в сборке стабильное решение.
В итоге выбор пал на Raspberry Pi. Не потому что это «идеальный вариант», а за счет того, что он точно подходил под мои требования:
Для ретро-аркадных и консольных игр прошлых лет его мощности вполне хватает.
С монитором все оказалось не так очевидно. Было желание найти баланс между диагональю, ценой и комфортом.
Ключевые условия выглядели так:
Я не гнался за сверхвысоким разрешением экрана — для старых игр оно избыточно.
Здесь пытаться сэкономить точно не стоит. Дешевые кнопки часто начинают залипать, а некачественные рычаги — иметь люфт буквально спустя несколько недель.
Я подбирал элементы управления по таким критериям:
Разумнее выбрать не самый дешевый вариант, чтобы потом не вскрывать автомат по пустякам.
Чтобы Raspberry Pi видел кнопки и джойстики в виде стандартный геймпад или клавиатуру, применяются USB-энкодеры.
Это компактные печатные платы, к которым подключаются:
Дальше вся система одним кабелем подключается к плате, после чего система определяет контроллеры автоматически.
Даже у компактных систем возникают особенности:
Перегрев для Raspberry Pi не критичен в аркадных задачах, однако правильнее сразу предусмотреть вентиляционные отверстия или тихий вентилятор.
После того как все компоненты были подобраны и закуплена, стало возможно перейти к следующему шагу — к сборке пробной системы и конфигурации программной части.
Перед тем как встраивать компоненты внутрь корпуса, я принял решение собрать все в предельно простом виде и убедиться, что все вообще работает так, как задумано. Данный этап позволяет выявить большую часть ошибок без опасности повредить корпус либо переделывать готовую конструкцию.
На этом этапе не важен дизайн. Важна только работоспособность.
Я подготовил на столе:
Кнопки и джойстики были соединены вне корпуса — просто ради проверки логики работы и ощущений.
Для программной части я выбрал готовый образ с эмуляторами игр. Этот способ существенно экономит время настройки: не требуется отдельно устанавливать каждый эмулятор и конфигурировать каждый отдельно.
Последовательность действий выглядел примерно так:
После старта система сразу предлагает привязать кнопки — достаточно нажать кнопки по порядку.
Это — самый критичных моментов. Даже когда все подключено правильно, на практике часто всплывают мелкие проблемы:
Я тестировал разные типы игр и проверял, насколько удобно управлять персонажем, не приходится ли тянуть руку к кнопкам и не задевают ли игроки локтями.
Сама система идет без контента, поэтому ROM-файлы добавляются отдельно. Я заранее подготовил ограниченный набор:
Критично на этом этапе не стараться добавить «все и сразу». Ограниченный список игр помогает сконцентрироваться на проверке эргономики, а не на переборе из огромного списка.
Без проблем, естественно, не обошлось. В процессе тестирования выяснилось:
Все эти моменты было легко исправить именно сейчас, поскольку ничто не встроено в конструкцию.
После пары вечеров тестов система стала стабильной и предсказуемой. Контроллеры работало так, как ожидалось, проекты запускались оперативно, ничто не подвисало и не просило дополнительных настроек.
Это показывало, что пора двигаться к наиболее трудоемкому шагу — проектированию и изготовлению корпуса.
Корпус автомата — это наиболее трудоемкая и самая «осязаемая» часть всей конструкции. Именно корпус определяет внешний вид устройства, а также его вес, жесткость и удобство использования. Промахи на этой стадии обходятся максимально дорого, поэтому к материалам я решил подойти особенно внимательно.
Прежде чем выбирать материал, я определил ключевые условия к корпусу:
Корпус должен оставаться утилитарным, а не выставочным объектом.
Самым первым и логичным выбором стала фанера. Это классический выбор для игровых автоматов, и у фанеры имеется набор очевидных плюсов:
Я рассматривал лист фанеры с толщиной от 10 до 15 мм. В итоге я остановился на среднем варианте — такая толщина обеспечивает необходимую прочность, но не превращает автомат слишком тяжелый ящик.
Идея изготовить конструкцию из массива дерева выглядит заманчиво, однако в реальности у нее есть ряд минусов:
Для начального проекта это неоправданно сложно и затратно.
Я также обдумывал идею частично использовать 3D-печать. Этот способ подходит для:
Полностью делать на печати корпус не имеет смысла: долго, дорого и не всегда достаточно жестко.
Геометрия непосредственно зависит от формата автомата. В данном случае использовался компактный вариант, и потому:
Я старался не использовать замысловатых криволинейных форм — чем проще форма, тем легче изготовление и монтаж.
После того как геометрия и материал были выбраны, я составил первичные планы. Они не являлись окончательными, и неоднократно дорабатывались в процессе работы, но давали понимание:
С этими чертежами уже можно было переходить к изготовлению корпусных деталей и сборке конструкции.
После того как материал был выбран и чертежи были готовы, началась наиболее физически ощутимая часть проекта — сборка корпуса. Именно здесь из набора деталей устройство превращается в реальный объект, и не абстрактную идею.
Все детали конструкции я заранее распилил по размерам. Это можно разными способами:
Я выбрал способе с ЧПУ — в этом случае детали получаются более точными, и отверстия для кнопок и экран сразу соответствуют чертежам. Но это не обязателен, особенно когда устройство собирается в единственном экземпляре.
Прежде чем что-то фиксировать или закручивать намертво, я выполнил «пробную» сборку — без клея и без финального крепежа.
Такой подход позволил:
На этой стадии обычно проявляются небольшие ошибки в размерах, и их легче поправить на этом этапе, чем после финальной сборки.
После пробной подгонки конструкция разбирался и собирался в финальном виде.
Для крепления элементов я использовал:
Важно не переборщить с крепежом и оставить возможность при необходимости разобрать корпус конструкцию в будущем.
Отдельного внимания требует управляющая панель. На ней:
Я не раз примерял панель до финальной фиксацией, чтобы убедиться, что пользоваться действительно удобно.
Экран крепится внутри конструкции таким образом, чтобы:
Чаще всего хватает простых деревянных планок либо уголков.
Заранее предусмотрел возможность доступа внутрь корпуса. Для этого задняя стенка:
Такое решение заметно упрощает обслуживание, замену кнопок и работу с электроникой.
Когда корпус был собран, можно было переходить к монтажу всей электроники и внутренней разводке проводов.
К этому моменту автомат уже смотрелся как законченное изделие, однако без корректной программной настройки он был просто коробкой с кнопками. Основная цель была простой и понятной: включить питание и сразу же попасть в меню игр, без лишних меню и шагов.
Я сразу предполагал что устройством пользуются не только один человек. Соответственно:
По сути устройство должен вести себя как обычное устройство: включил питание — работает.
После завершения финального монтажа электроники внутри я заново выполнил конфигурацию управления в системе. Это важно, так как после окончательной разводки иногда всплывают небольшие нюансы.
Я отдельно проверил:
Без этого некоторые игры будут управляться «зеркально» либо некомфортно.
Чем меньше элементов меню видит пользователь гость, тем удобнее. Я убрал все лишнее:
В результате получился компактный список проверенных игр, в которые действительно хочется играть вдвоем.
Я сделал настройку ПО таким образом, чтобы:
Это особенно актуально, если устройство используется гостями или стоит в общественном месте.
Перед тем как считать проект завершенным, я пару вечеров просто играл на устройстве:
Именно в таком режиме всплывают мелочи, которые невозможно учесть заранее: в одном месте некомфортно тянуться до кнопки, где-то нужно другой порядок игр, а где-то — быстрее выход к списку игр.
К этому моменту автомат стал ровно тем, чем я и задумывал в самом начале. Это девайс, который не нуждается объяснений и функционирует стабильно.
Если обобщить всю работу, то как сделать игровой автомат — это не столько про электронику или материалы, сколько про продуманную цепочку шагов: от постановки задачи до финальных тестов в реальной эксплуатации.
Далее я расскажу о практическом использовании, о ошибках и выводах, которые возникли после использования автомата в жизни, а не в теоретических условиях.