
Saham di toko online bisa berbeda, tetapi bagaimana membuatnya menarik secara visual untuk klien selalu menjadi pertanyaan, kami mencoba mengubah saham biasa di mana ada statistik klien biasa menjadi permainan dalam gaya Dendy.
Di sini kita akan berbicara tentang bagaimana ide-ide pemasaran untuk memotivasi pelanggan dapat divisualisasikan dalam permainan kecil untuk browser.Tahap 1. Dari ide hingga memahami apa yang dibutuhkan
Suatu hari yang cerah (sebelum dimulainya musim panas), gagasan untuk mengorganisasi kampanye yang memotivasi untuk arah grosir pelanggan matang di departemen pemasaran. Dari sumber data, seperti biasa, kami memiliki yang berikut:
- Beberapa id pelanggan
- Metrik pelanggan
- Berapa jumlah total yang dibeli klien untuk periode waktu tertentu
- Merek apa yang diperoleh oleh klien selama periode waktu ini?
- Bagaimana "jujur" dan bertanggung jawab klien memenuhi tugasnya kepada kami sebagai pemasok produk
- Apa kondisi harga "istimewa" yang dimiliki klien berdasarkan pekerjaannya bersama kami
- Beberapa set alat motivasi.
- Daftar "hadiah" yang dapat kami tawarkan kepada klien untuk kerja sama dan penampilannya
- "Peningkatan" dari penawaran harganya saat ini
- Beberapa "hadiah Super" untuk klien yang paling ... paling ... paling aktif dan paling bertanggung jawab.
- Titik konsentrasi pelanggan adalah akun pribadi dengan sistem pemesanan online tempat kami dapat menawarkan sesuatu dan melaporkan sesuatu yang penting.
- Program akuntansi ("Kuning") - di mana terdapat informasi umum untuk setiap pengidentifikasi klien dan indikatornya.
Dengan sekumpulan data seperti itu, Anda dapat mengatur saat bepergian di akun pribadi Anda:
- Spanduk + "Beli ini dan dapatkan ini"
- Atau tabel dengan parameter klien, di mana sekali sehari Anda dapat mengunggah data dari program akuntansi
- Karena situs ini menggunakan 1C-Bitrix, Anda dapat membuat "Aturan Keranjang" yang rumit untuk menerapkan beberapa diskon jika persyaratan tertentu dipenuhi tergantung pada pengidentifikasi klien atau membuat logika Anda sendiri di dalam API dengan beberapa statistik ditampilkan.
Kami melakukan semua ini dan melakukannya untuk memberi tahu pelanggan kami. Tetapi dalam hal ini saya ingin mencoba sesuatu yang lain - untuk membuat permainan - di mana indikator akan divisualisasikan dalam jumlah abstrak.
Tahap 2. Jadi, kami membuat game dan sekarang TK akan terdengar seperti ini
Topik kami adalah suku cadang dan sebagian besar - penjualan grosir suku cadang mobil, berdasarkan hal ini, struktur logika permainan berikut telah ditentukan:
- Dalam sorotan - lintasan di mana mobil harus bergerak
- Rute dimulai di suatu tempat dan berakhir di suatu tempat (mulai dan selesai), yaitu rute memiliki panjang tertentu dalam km.
- Mulai adalah titik referensi dari suatu indikator - “jalan yang dilewati”
- Garis finish adalah titik akhir setelah mencapai di mana kami dapat memberikan klien dengan hak istimewa atau hadiah yang sangat berharga.
- Harus ada titik pemberhentian di trek (ini mungkin menjadi penghalang, penghentian keputusan).
- Titik keputusan (pos pemeriksaan) - harus memberi klien "roti" dan kembali ke awal atau penolakan "roti" dan melanjutkan.
- Kendala - harus mengubah beberapa indikator.
- Untuk pergerakan mobil akan digunakan bahan bakar.
- Bahan bakar adalah abstraksi, liter yang diterima klien untuk mengamati ketentuan penjualan + untuk menyelesaikan tugas / pencarian.
- Konsumsi bahan bakar per 100 km. di dalam mobil - ini juga merupakan abstraksi yang tergantung pada indikator "kejujuran" dan "tanggung jawab" klien, sesuai dengan kewajiban mereka kepada kami sebagai pemasok.
- Konsumsi bahan bakar harus dalam beberapa jenis gradasi dan dalam batas yang wajar.
Dengan bantuan "hebat dan perkasa" itu ternyata menjadi tugas besar untuk dibagi menjadi subtugas kecil dan sampai pada pemahaman tentang pilihan alat implementasi. Agar tidak membuat kendaraan "roda dua" untuk mengatur mekanisme pergerakan mobil, pilihan dibuat dengan menggunakan kerangka JavaScript.
Persyaratan untuk kerangka permainan yang kami tentukan sendiri adalah sebagai berikut:
- Peta 2D
- Sprite peta
- Model acara
- "Mulai cepat"
- Dokumentasi
Secara total, 3-5 solusi terkenal (termasuk PointJS yang kurang dikenal) ditinjau dan diuji. Semua yang dianggap, mesin yang sangat bagus untuk membuat game, tetapi Anda membutuhkan sesuatu yang mudah dan enchantjs dipilih.
Enchantjs adalah mesin sederhana dengan seperangkat alat yang diperlukan untuk membuat game 2D sederhana.
Tahap 3. Desain teknis
Setelah kami bermain cukup dengan Enchantjs, saatnya untuk menguraikan struktur aplikasi kecil.
- Tabel dan data yang akan disimpan (berbicara tentang MySQL)- Tabel ringkasan data terkini pemain (data yang memengaruhi parameter gim saat ini). Sebagian tabel ini dimodifikasi selama permainan, sebagian dari program akuntansi.
- Perubahan dalam liter bensin. Ini adalah abstraksi yang dapat diisi oleh klien di mobil virtualnya. Data ini harus berasal hanya dari program akuntansi.
- Sejarah perubahan jarak tempuh. Di mana klien sampai di mobilnya, di mana ia kehabisan bensin, di mana ia mengambil pos pemeriksaan.
- Konsumsi bahan bakar berubah. Misalnya, hari ini seorang pelanggan mengkonsumsi mobil 9 liter. 100km, dan besok ada komentar kepada klien dan mobilnya meningkat konsumsi menjadi 11 liter. per 100 km.
- Infoblock dalam 1C-Bitrix, di mana spesialis pemasaran akan memasukkan tugas untuk pelanggan (Lakukan ... lalu ... ini dia ..., konfirmasi dengan foto atau tautan dan Anda akan mendapatkan permen atau mengurangi konsumsi)
- Tabel dengan penugasan pelanggan yang lengkap.
- Table of checkpoints (Diperlukan untuk menggambar sprite dengan bendera di peta game)
- Daftar hadiah yang dapat kami berikan kepada klien di pos pemeriksaan.
- Tabel pos pemeriksaan yang dikumpulkan. (klien mencapai pos pemeriksaan, memilih hadiah dan kami menuliskannya)
- Sejarah konsumsi / kedatangan liter bensin. Artinya, saat mengemudi ada biaya, saat mengisi bahan bakar tabung - ada kedatangan bahan bakar. Data ini diperlukan untuk memberi tahu klien.
- Komponen 1C - Bitrix- Templat komponen umum
- Memproses permintaan pengguna selama pertandingan
- Memproses peristiwa yang terjadi di bidang game
- Tindakan pemrosesan yang dilakukan oleh pengguna di antarmuka manajemen game
- Modul 1C - Bitrix- ORM dari semua tabel yang diperlukan
- Beberapa operasi layanan
- Agen
- API untuk berbagi dengan perangkat lunak akuntansiMemproses permintaan data tentang program akuntansi game.
Memproses permintaan untuk penyediaan data pada perangkat lunak akuntansi pemain.
Tahap 4. Implementasi adegan permainan
Dalam implementasi, saya akan memberikan contoh hanya apa yang menjadi perhatian enchantjs dan adegan dengan game.
Pertama-tama kita perlu membuat adegan dan membentuk peta untuk game.
Peta ini dibangun dari array array, di mana setiap array bersarang mencirikan nomor sel dari sprite asli dari materi peta.
Bagian dari peta yang akan digunakan dalam membangun tempat permainanenchant();
Dapatkan sintaks dasar untuk membuat adegan permainan dan meluncurkan permainan.
Intinya adalah bahwa kita menggambar segi empat pada halaman HTML di mana kita akan memanipulasi sprite.
Saya harus segera mengatakan bahwa ketika mengimplementasikan permainan, saya harus meninggalkan model peristiwa yang mempesona dan konsep bahwa semua tindakan terjadi sebagai bagian dari perubahan adegan di bawah pengaruh nilai fps.Tentukan adegan utama permainan, gambar peta, letakkan bendera, dan atur mesin ke awal.
var SceneGame=Class.create(Scene,{ initialize:function(){ Scene.apply(this); game = Game.instance; var label=new Label(' ');
Alhasil, kami mendapat heboh dengan peta di mana ada jalan. Pada tangkapan layar, bendera tidak ditunjukkan dan mobil tidak dipasang di awal (sudut kiri bawah).
Setiap objek sprite dalam enchantjs setidaknya secara konstan berisi informasi tentang posisi dalam sistem koordinat, tentang sudut rotasi sprite.
Yaitu untuk melakukan pergerakan mobil pada peta yang digambar, dibutuhkan:
- Jelaskan tindakannya di luar angkasa saat mencapai tikungan trek
- Jelaskan tindakan mobil dan arah gerakan tergantung pada sudut rotasi sprite.
Yaitu, jika kita memiliki sudut rotasi 0 dan karena sprite mobil kita mulai dari bawah ke atas, maka kita pindah ke nol dari sumbu koordinat sepanjang sumbu Y. Selanjutnya kita menemukan tikungan trek No. 1 dan harus memutar sprite mobil 90 derajat. Lebih lanjut, mengetahui bahwa kita berada pada sudut 90 derajat, kita bergerak di sepanjang sumbu X sampai tikungan trek No. 2, dll.
Jadi kami mengajarkan mobil untuk bergerak di sepanjang sistem koordinat yang ditarik.
Untuk membawa interaksi mobil dengan jalan ke nilai-nilai yang kita kenal - dengan jarak dalam km yang ditempuh, perlu untuk menulis fungsi tambahan yang mengambil jumlah km. dari 0 hingga 3000 dan mengembalikan koordinat titik pada bagian jalan.
Untuk pergerakan mobil, kami menggunakan
setInterval yang meningkatkan nilai x atau y saat mobil bergerak
Selama gerakan, peristiwa terjadi di kancah permainan:
- Memukul Bendera
- Ujung bahan bakar
- Mencapai garis finish
Setelah mencapai peristiwa ini, peristiwa dibuat yang diproses dalam skrip kontrol dari komponen 1C-Bitrix.
Lebih banyak ... lebih banyak
Langkah-langkah berikut untuk menyelesaikan sistem game adalah:
- Membuat antarmuka dengan tombol kontrol
- Reaksi terhadap peristiwa di lapangan dengan game
- Perubahan pada parameter game tergantung pada tindakan pengguna
- Memeriksa parameter kendaraan di bagian belakang
Hasilnya adalah game seperti itu di LC