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