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