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