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