Snelstartgids voor game-ontwikkelaars
Als u een game-ontwikkelaar bent en op zoek bent naar een eenvoudige manier om SignalRGB-effecten te integreren voor uw gebruikers, welkom bij de snelstartgids. Onze ontwikkelaars zijn gespecialiseerd in het laten werken van effecten met UI die gewoonlijk niet is ontworpen voor onze doeleinden. Gebruikers waarderen functies zoals kleurverlopen, transparante UI, aanpasbare vaardigheids-UI, HUD-elementen die stuiteren of schudden — allemaal inconsistenties waarmee we rekening moeten houden bij het activeren van effecten. Hoe moeilijker de UI, hoe minder we voor het spel en de gebruikerservaring kunnen doen. Met enige samenwerking tussen u en onze ontwikkelaars kunnen deze problemen worden weggenomen en game-integraties naar een hoger niveau worden getild.
Basisprincipes van activering
Section titled “Basisprincipes van activering”De API van SignalRGB biedt unieke en krachtige tools voor ontwikkelaars om visuele informatie te analyseren. Eenvoudig gezegd kunnen we precieze RGB-kleurgegevens vastleggen van elk pixel of groep pixels en wijzigingen in stabiele waarden gebruiken om effecten te activeren. Denk aan een gezondheidsbalk die afneemt, een menu dat opent, of een vaardigheids-icoon dat ontkleurт — elk consistent UI-element kan worden gebruikt om een effect op de randapparatuur van de gebruiker te activeren.
Deze methode wordt beschouwd als indirecte communicatie en brengt diverse uitdagingen met zich mee waarmee onze ontwikkelaars bij elke integratie rekening houden. De volgende secties verkennen ideeën voor directe communicatie, die momenteel theoretisch zijn (game-ontwikkelaars, neem contact met ons op).
Idee 1 — Binaire communicatie
Section titled “Idee 1 — Binaire communicatie”Onze eenvoudigste trigger controleert een specifiek kleurenbereik en retourneert “ja” als het overeenkomt, of “nee” als dat niet het geval is. In datatermen heet dit een bit, en een groep van acht bits vormt een byte die tot 256 mogelijke toestanden kan vertegenwoordigen.
In de praktijk geeft u de coördinaten op van vaste pixels op het scherm (zichtbaar bij alle resoluties). Deze pixels kunnen geclusterd of verspreid zijn, en ze kunnen elke kleur hebben — zolang de locatie van elke pixel nooit verandert in de game en de activeringskleur consistent blijft. Wanneer de kleur van een pixel overeenkomt met de activeringskleur, wordt dit geregistreerd als “1” in de array. Als het een andere kleur is, wordt het geregistreerd als “0”. Elk frame berekent de integratie het resulterende gehele getal uit deze binaire reeks en handhaaft de bijbehorende toestand die u heeft gedefinieerd.
Hier is een vereenvoudigd voorbeeld met slechts drie pixels, wat zes unieke toestanden oplevert. Het UI-element in dit voorbeeld is de hoek van een minikaart uit een populaire game.

En mijn drie pixels:

Ik heb de originele kleuren als passerende kleur gekozen, dus deze opstelling van bits is gelijk aan 111, oftewel “6”. Geen enkele passerende kleur, of 000, zou “0” zijn.

Het eerste wat we moeten vaststellen is een in-game “idle”-toestand, die simpelweg alles wat er al gaande is handhaaft terwijl we wachten op meer invoer. Dit wordt toestand “0” en kan worden weergegeven door de volgende pixelwaarden:

Ik stel elk pixel in op rgb(0, 0, 0), wat niet doorkomt. Grote verschillen zoals dit kunnen echter opvallen voor de gebruiker. In het volgende voorbeeld zijn we subtieler.
Laten we dus zeggen dat we vastgesteld hebben dat we in de game zijn en een basistoestand handhaven. Uw personage heeft zijn eerste vaardigheid gebruikt, en we willen deze verandering registreren als een effect. Het effect voor “Vaardigheid 1 gebruikt” is aangewezen als toestand “1” en activeert wanneer we toestand “1” aan onze integratie communiceren. Om dit te doen, pas ik de basiskleuren voor pixels 1 en 2 (van links) licht aan om 001 te creëren.

Het lijkt misschien niet veel, maar pixel 1 heeft zijn helderheid met ongeveer 30% verlaagd en pixel 2 heeft 50% verzadiging gekregen. Omdat ons systeem deze wijzigingen gemakkelijk kan detecteren, schakelt de toestand betrouwbaar over naar “1” en wordt het vaardigheideffect geactiveerd. Vaardigheden met een vaste duur kunnen zichzelf beëindigen, maar laten we ook zeggen dat deze activeert met één druk op de knop en eindigt met een andere druk. Om een onbepaald effect te handhaven, zou toestand “1” het activeren en toestand “2” het kunnen beëindigen op basis van verdere gebruikersinvoer. Sommige effecten zijn zeer analoog en zouden nog steeds individueel moeten worden afgehandeld door onze ontwikkelaars, maar voor de rest staat dit systeem garant voor betrouwbaarheid. De belangrijkste beperking is de zichtbaarheid van de “pixels”, die constant moeten zijn tijdens de gameplay en waarschijnlijk groter moeten zijn dan de resolutie van het toestand “1”-pixel.