Человек открывает сайт и видит живое видео настоящего игрового автомата, который стоит в зале. Он нажимает кнопку на экране — и она нажимается на самом автомате: сигнал идёт от браузера к серверу, от сервера к плате внутри корпуса, плата замыкает контакт. Барабаны крутятся, камера показывает результат, деньги считаются так же, как у живого посетителя зала. Мы сделали здесь всё: от прошивки платы до клиента, который показывает видео.
Здесь мы сделали всю вертикаль: от прошивки платы видеозахвата на AVR до Unity-клиента с нативным видеодекодером.
Игрок видит автомат по WebRTC через Janus: 1998 потоков — экран и камера на каждый из примерно тысячи аппаратов. Если WebRTC не проходит, включается запасной тракт MPEG поверх WebSocket.
Нажатие идёт от браузера по WebSocket на C++-сервер плат, оттуда — на собственную сетевую плату внутри автомата: ATmega128 с самописным сетевым стеком, потому что готовый в память микроконтроллера не помещался. Плата замыкает контакты кнопок и тачскрина. Кредиты и выплаты учитываются по промышленному протоколу SAS — тому же, на котором автомат разговаривает с залом.
