Gim video pertama untuk Alice, atau asisten suara sebagai pengontrol gim



Di tempat kerja, saya menciptakan keterampilan yang berguna untuk Alice , dan di waktu luang saya mencoba menggunakan asisten suara untuk bermain dengan teman-teman di lingkungan rumah saya. Saya sudah menggambarkan pengembangan permainan teks untuk satu atau dua pemain, tetapi kali ini saya berbagi pengalaman dalam membuat video game untuk seluruh perusahaan.

Aturan gim


Saya tidak ingin port game yang ada ke Alice, saya ingin datang dengan game asli yang menggunakan kemampuan Alice untuk mengenali ucapan.

Banyak gambar muncul dalam lingkaran dan kotak warna berbeda di layar. Tugas pemain adalah mendeteksi sepasang objek pada latar belakang yang sama dan membuat frase bentuk: kata sifat + kata benda. Selain itu, kata sifat harus dibentuk dari suatu objek dalam lingkaran, dan kata benda dari objek dalam kotak. Oleh karena itu nama permainan - "Round Square".

Pemain yang memanggil frase mendapat poin. Pemenangnya adalah orang yang mencetak 10 poin atau poin terbanyak selama putaran (2 menit). Gameplay ditampilkan dalam video pendek.


Kami telah memutuskan aturan - pergi ke teknik.

Pengontrol


Untuk menampilkan lapangan bermain, saya menggunakan TV besar, tempat saya membuka situs web game. Jika TV tidak memiliki koneksi Internet, Anda dapat menampilkan gambar dari komputer di atasnya atau bermain di monitor.

Bagian visual dari gim ini ditulis dalam JavaScript. Semua objek: lapangan bermain dan HUD - dibuat dengan metode Canvas 2D API untuk menggambar persegi panjang, teks dan gambar. Sekali setiap 50 ms, layar diperbarui. Semua kode terkonsentrasi dalam satu file HTML, termasuk gambar yang disandikan dalam format Base64.

Sekarang Anda perlu mengimplementasikan antarmuka yang menerima frasa pemain. Untungnya, tugas pengenalan suara diselesaikan oleh asisten suara. Yandex menyediakan layanan semacam itu secara gratis bagi pengguna dan pengembang aplikasi suara (keterampilan) Alice.

Tambahkan keterampilan memainkan asisten suara. Sekarang setiap pemain dapat mengaktifkan aplikasi suara di ponsel mereka sendiri atau di speaker pintar dan mengirim replika ke situs melalui mikrofon.


Backend


Tetap mengaitkan replika pengguna dengan pesta permainan tertentu. Untuk melakukan ini, kita memerlukan server: nomor dihasilkan untuk setiap batch, halaman HTML mendaftarkannya di server dan menampilkannya kepada pengguna. Pengguna memanggil nomor ini ke asisten suara, dan yang terakhir mendaftarkan pemain baru di game yang sesuai melalui kait web server. Replika pengguna selanjutnya ditransfer ke gimnya melalui WebSocket.

Kode klien untuk membuat soket web dan menghubungkan kembali ketika terputus terlihat seperti ini:
function start(websocketServerLocation){ ws = new WebSocket(websocketServerLocation); ws.onopen = function(){ gameN = game.id; }; ws.onclose = function(){ gameN = "--"; start(HOST); }; wsSend({"gameId": game.id}); } start(HOST); 

Ketika terhubung ke server, klien mengiriminya nomor permainan. Di bawah ini adalah kode server yang membuat koneksi dan memulai kontrol permainan dengan nomor yang diterima:

 const wss = new SocketServer({ server }); wss.on('connection', (ws) => { ws.on('close', () => { remConn(ws.gameId); }); ws.on('message', msg => { const data = JSON.parse(msg); if (data.gameId) { ws.gameId = data.gameId.toString(); addGame(ws); } }); }); 

Dalam hal ini, server yang sama dapat merender halaman ke browser dan menanggapi kait web Alice:

 var server = express().use(bodyParser.json()).use('*', (req, res) => { if (req.body && req.body.request) { //   toAnswer  - res.json({ version: req.body.version, session: req.body.session, response: toAnswer, }); } else { // -   res.sendFile(INDEX); } }).listen(PORT); 

Kesimpulan


Hasilnya adalah video game asli untuk perusahaan. Itu diterbitkan di Alice pada 28 November 2018 dan menjadi video game pertama yang saya tahu untuk asisten suara ini.

Ngomong-ngomong, bahkan sebelum kedatangan Alice dan Google Assistant, orang-orang merasakan penggemar kontrol suara dalam game . Berkat keberadaan perangkat dengan mikrofon dan speaker yang ada di mana-mana, berkat perkembangan teknologi bicara, asisten suara menjadi pengendali permainan yang tersedia yang memberikan pengalaman pengguna baru.

Source: https://habr.com/ru/post/id435012/


All Articles