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