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