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