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