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