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