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