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