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