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