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












