Panduan Cepat untuk Game Developer
Jika Anda adalah pengembang game dan ingin cara mudah untuk mengintegrasikan efek SignalRGB untuk pengguna Anda, selamat datang di panduan cepat. Developer kami berspesialisasi dalam membuat efek bekerja dengan UI yang biasanya tidak dirancang untuk tujuan kami. Pengguna menyukai fitur seperti gradien warna, UI transparan, UI skill yang dapat dikustomisasi, elemen HUD yang memantul atau bergetar - semua inkonsistensi yang harus kami perhitungkan dalam pemicuan efek. Semakin sulit UI-nya, semakin sedikit yang dapat kami lakukan untuk game dan pengalaman pengguna. Dengan kerja sama antara Anda dan developer kami, masalah-masalah ini dapat dihilangkan dan integrasi game dapat ditingkatkan ke level berikutnya.
Dasar-Dasar Pemicuan
Section titled “Dasar-Dasar Pemicuan”API SignalRGB menawarkan alat unik dan powerful bagi developer untuk menganalisis informasi visual. Sederhananya, kami dapat mengambil data warna RGB yang tepat dari piksel atau kelompok piksel mana pun dan menggunakan perubahan dalam nilai stabil untuk memicu efek. Misalnya, health bar yang berkurang, menu yang terbuka, atau ikon skill yang desaturasi - elemen UI yang konsisten apa pun dapat digunakan untuk memicu efek pada perangkat periferal pengguna.
Metode ini dianggap sebagai komunikasi tidak langsung dan memiliki beberapa tantangan yang diperhitungkan developer kami dalam setiap integrasi. Bagian berikut mengeksplorasi ide untuk komunikasi langsung, yang saat ini masih bersifat teoritis (pengembang game, hubungi kami).
Ide 1 - Komunikasi Biner
Section titled “Ide 1 - Komunikasi Biner”Pemicu paling sederhana kami memeriksa rentang warna tertentu dan mengembalikan “ya” jika cocok, atau “tidak” jika tidak. Dalam istilah data, ini disebut bit, dan sekelompok delapan bit membentuk byte, yang dapat mewakili hingga 256 status yang mungkin.
Dalam praktiknya, Anda menyediakan koordinat piksel tetap pada layar (terlihat di semua resolusi). Piksel-piksel ini dapat dikelompokkan bersama atau tersebar, dan dapat berupa warna apa pun - asalkan lokasi setiap piksel tidak pernah berubah dalam game dan warna aktivasinya tetap konsisten. Ketika warna piksel cocok dengan warna aktivasi, itu terdaftar sebagai “1” dalam array. Jika berwarna lain, itu terdaftar sebagai “0”. Setiap frame, integrasi menghitung bilangan bulat yang dihasilkan dari urutan biner ini dan mempertahankan status yang sesuai yang telah Anda definisikan.
Berikut adalah contoh sederhana menggunakan tiga piksel saja, yang menghasilkan enam status unik. Elemen UI dalam contoh ini adalah sudut minimap dari game populer.

Dan tiga piksel saya:

Saya telah memilih warna asli sebagai warna yang lolos, sehingga susunan bit ini sama dengan 111, atau “6”. Tidak ada yang lolos, atau 000, akan menjadi “0”.

Hal pertama yang perlu kita tetapkan adalah status “idle” dalam game, yang hanya mempertahankan semua yang lain sambil kita menunggu input lebih lanjut. Ini akan menjadi status “0” dan dapat diwakili oleh nilai piksel berikut:

Saya menetapkan masing-masing ke rgb(0, 0, 0), yang tidak lolos. Namun, perbedaan besar seperti ini bisa terlihat oleh pengguna. Dalam contoh berikutnya, kita akan lebih halus.
Jadi, katakanlah kita telah menetapkan bahwa kita berada dalam game dan mempertahankan status dasar. Karakter Anda telah menggunakan kemampuan pertama mereka, dan kita ingin mendaftarkan perubahan ini sebagai efek. Efek untuk “Ability 1 cast” telah ditetapkan sebagai status “1” dan akan aktif ketika kita mengkomunikasikan status “1” ke integrasi kita. Untuk melakukannya, saya sedikit mengedit warna dasar untuk piksel 1 dan 2 (dari kiri) untuk membuat 001.

Mungkin tidak terlihat banyak, tetapi piksel 1 telah dikurangi lightness-nya sekitar 30%, dan piksel 2 telah mendapatkan saturasi 50%. Karena sistem kami dapat dengan mudah mendeteksi perubahan ini, status akan secara andal beralih ke “1” dan efek kemampuan akan dipicu. Kemampuan dengan durasi tertentu dapat mengakhiri dirinya sendiri, tetapi katakanlah juga bahwa kemampuan ini diaktifkan dengan satu penekanan tombol dan diakhiri dengan yang lainnya. Untuk mempertahankan efek tanpa batas waktu, status “1” akan mengaktifkannya, dan status “2” dapat mengakhirinya berdasarkan input pengguna lebih lanjut. Beberapa efek sangat analog dan masih harus ditangani secara individual oleh developer kami, tetapi untuk sisanya, sistem ini terbukti dapat diandalkan. Batasan utamanya adalah visibilitas “piksel,” yang harus konstan selama status gameplay dan mungkin harus lebih besar dari resolusi piksel status “1”.