
Всем привет!
Для начала быстренько представлюсь, а также немного расскажу о контексте, при котором я начал делать аппарат.
Меня зовут Артем Носов, и я один из авторов некоммерческого инди-проекта Exoplanet Games. Этот проект посвящен игровым и околоигровым разработкам, тематически связанным с космосом, которые ведут разные авторы. Одной из моих тем в рамках этого проекта и является изготовление аркадного аппарата.
Сама идея сделать аппарат возникла, когда я обдумывал дополнение к своей первой небольшой мобильной аркаде про космический корабль и астероиды (по классике)).

Ключевая мысль была следующая - сделать максимально аутентичный игровой аппарат, специально под одну игру, чтобы эта игра запускалась от жетонов, и чтобы в игре была таблица лидеров с системой ввода имени, как в автоматах, что стояли в старых аркадных залах.
Вместе с возникновением идеи появилась и куча вопросов, таких как : а как подключить отдельные кнопки к компьютеру? А как подключить монетоприемник? А какая должна быть высота аппарата? А какой наклон экрана? А какой наклон панели с кнопками и джойстиками? А какие должны быть геометрия и дизайн?
Поискав информацию в интернете и не найдя вариантов, которые бы меня устроили или же сняли бы большую часть вопросов, было решено сперва изготовить прототип.
Проект был начат!
Первым же делом были заказаны кнопки, джойстики, монетоприемник и квадратный б/у монитор.
Сам прототип я решил разделить на несколько компонентов, которые могли бы менять свою конфигурацию для последующих замеров различных параметров. Материалами для изготовления стали пара старых шкафов и различные перфорированные железки.
И вот, вооружившись электролобзиком и шуруповёртом, я приступил к работе!
Первым изготовленным компонентом стал держатель для монитора, который позволяет менять и фиксировать его угол наклона.

По сути держатель представляет из себя что-то вроде "качелей", в которые вставляется монитор и которые можно зафиксировать в определенном положении путем блокировки обратного хода. Блокировка осуществляется за счёт болтов, которые просовываются в отверстия перфорированных пластин , что расположены на внутренней части держателя. Этот компонент позволяет достаточно удобно выставить угол наклона монитора для измерений, плюс создаёт дополнительные габариты, которые необходимы, чтобы представить внешний вид и массу аппарата.
Паралельно с изготовлением держателя я занимался поиском ответа, наверное, на самый важный вопрос, без решения которого не получилось бы реализовать идею, а именно: как вообще подключить к компьютеру отдельные кнопки, джойстики и монетоприемник и считывать с них сигналы.

В интернете легко можно найти и купить наборы по созданию кастомных контроллеров, в комплекте таких наборов уже есть кнопки, джойстики и, самое главное, - платы, к которым эти кнопки и джойстики подключаются. После этого плата подключается к компьютеру, и все готово.
Но этот вариант не подходил, так как я не нашёл модули с возможностью подключения монетоприемника, а это, по задумке, обязательная деталь без которой нельзя обойтись.
Один из соавторов по Exoplanet Games посоветовал мне обратить внимание на платы Ардуино. И это оказалось подходящим вариантом.
Некоторые модели платы при подключении специальной библиотеки могут эмулировать xbox контроллер. После прохождения базовых уроков по программированию Ардуино, я сделал тестовый контроллер и написал сцену на юнити для его проверки.
Когда это все вместе весьма неплохо заработало, вопросы по системе управления были сняты.

Далее настал черед поиска решений вопросов с высотой. Главное требование - аппарат должен подходить для комфортной игры человека ростом 170-185 см. Нужно было сделать так, чтобы можно было динамически изменять и подбирать высоту, учитывая изменения конфигураций других компонентов.
Для этих целей была изготовлена, наверное, самая мудреная часть прототипа - тумба с подъемной поверхностью.
Подъем поверхности происходит при помощи домкрата, закреплённого внутри тумбы.
Поверхность крепится к металлическому каркасу, который поднимается вместе с этой самой поверхностью и не позволяет ей завалиться на бок, формируя что‑то типа выдвижных «ножек». Хотя небольшое заваливание все равно происходит, но это не является проблемой, ведь после установки нужной высоты поверхность очень легко поправить

Также к подъемной части тумбы были приделаны две выдвижные перфорированные планки для крепления к ним будущей наклонной панели контроллера, и что логично, эта панель и стала следующим изготовленным компонентом. На самом деле компонент панели контроллера двусоставный, он состоит из рамки, которая крепится к аппарату (именно она позволяет менять наклон, высоту и дальность контроллера ) и собственно самого контроллера, который вставляется в эту рамку, а при желании его можно использовать вне аппарата с обычным компьютером, что удобно для отладки и тестирования самой игры.
С регулировкой рамки больше всего мороки. После установки наклона ее необходимо зафиксировать в трёх местах:
установить по бокам блокировщики подъема для фиксации выставленной высоты контроллера
выставить положение блокировщика распорки внутри тумбы и установить распорку между тумбой и наклонной панелью для фиксации наклона
выставить упор на задней панели тумбы для фиксации расстояния выдвижения панели.
Возможно, если в дальнейшем я буду изготавливать аппарат с другой конфигурацией, этой системе стоит уделить внимание, чтобы сделать её более удобной.


И вот, когда все основные части прототипа были готовы и их конфигурация была выставлена в нужных положениях, настало время для последнего этапа.
Вся конструкцию я обшил картоном, для того чтобы понять габариты и геометрию будущего аппарата.
И вот на этом моменте, прототип и был завершён!
После сборки конструкция была измерена, и на основе этих измерений я собрал 3D модель, которая сохраняет все реальные соотношения сторон, наклоны и дизайн (пока только геометрию, «разукрашивание» аппарата ещё только предстоит).


На момент написания этого текста проект по изготовлению аркадного аппарата все ещё не завершен и находится в активной фазе. Как только 3D модель получит воплощение в реальности, я подготовлю вторую часть текста, в которой опишу процессы и задачи, с которыми уже пришлось и ещё придется столкнуться. Ну а пока, спасибо за внимание.
И пока-пока...