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