Aller au contenu

Guide de Démarrage Rapide pour Développeurs de Jeux

Si vous êtes un développeur de jeux et souhaitez un moyen facile d’intégrer des effets SignalRGB pour vos utilisateurs, bienvenue dans le guide de démarrage rapide. Nos développeurs se spécialisent dans la création d’effets qui fonctionnent avec des interfaces utilisateur qui ne sont généralement pas conçues pour nos objectifs. Les utilisateurs apprécient les fonctionnalités comme les dégradés de couleur, les interfaces transparentes, les interfaces de compétences personnalisables, les éléments d’interface qui rebondissent ou vibrent - toutes des inconsistances dont nous devons tenir compte dans le déclenchement des effets. Plus l’interface est difficile, moins nous pouvons faire pour le jeu et l’expérience utilisateur. Avec une collaboration entre vous et nos développeurs, ces problèmes peuvent être résolus et les intégrations de jeux peuvent passer au niveau supérieur.

L’API de SignalRGB offre des outils uniques et puissants pour que les développeurs analysent les informations visuelles. En termes simples, nous pouvons capturer des données de couleur RGB précises à partir de n’importe quel pixel ou groupe de pixels et utiliser les changements de valeurs stables pour déclencher des effets. Par exemple, une barre de vie qui diminue, un menu qui s’ouvre, ou une icône de compétence qui se désature - tout élément d’interface cohérent peut être utilisé pour déclencher un effet sur les périphériques de l’utilisateur.

Cette méthode est considérée comme une communication indirecte et comporte plusieurs défis que nos développeurs prennent en compte dans chaque intégration. Les sections suivantes explorent des idées de communication directe, qui sont actuellement théoriques (développeurs de jeux, contactez-nous).

Notre déclencheur le plus simple vérifie une plage de couleurs spécifique et retourne “oui” si elle correspond, ou “non” si elle ne correspond pas. En termes de données, cela s’appelle un bit, et un groupe de huit bits forme un octet, qui peut représenter jusqu’à 256 états possibles.

En pratique, vous fournissez les coordonnées de pixels fixes à l’écran (visibles à toutes les résolutions). Ces pixels peuvent être regroupés ou dispersés, et ils peuvent être de n’importe quelle couleur - à condition que l’emplacement de chaque pixel ne change jamais en jeu et que sa couleur d’activation reste cohérente. Lorsque la couleur d’un pixel correspond à la couleur d’activation, il s’enregistre comme “1” dans le tableau. Si c’est une autre couleur, il s’enregistre comme “0”. À chaque image, l’intégration calcule l’entier résultant de cette séquence binaire et maintient l’état correspondant que vous avez défini.

Voici un exemple simplifié utilisant seulement trois pixels, ce qui produit six états uniques. L’élément d’interface dans cet exemple est le coin d’une mini-carte d’un jeu populaire.

Et mes trois pixels :

J’ai choisi les couleurs originales comme couleur de passage, donc cet arrangement de bits est égal à 111, soit “6”. Aucun ne passant, ou 000, serait “0”.

La première chose que nous devons établir est un état “inactif” en jeu, qui maintient simplement tout ce qui se passe en attendant plus d’entrées. Ce sera l’état “0” et pourrait être représenté par les valeurs de pixels suivantes :

J’ai défini chacun à rgb(0, 0, 0), ce qui ne passe pas. Cependant, des différences aussi importantes pourraient être perceptibles pour l’utilisateur. Dans l’exemple suivant, nous serons plus subtils.

Alors, supposons que nous avons établi que nous sommes en jeu et que nous maintenons un état de base. Votre personnage a lancé sa première compétence, et nous voulons enregistrer ce changement comme un effet. L’effet pour “Compétence 1 lancée” a été désigné comme état “1” et s’activera lorsque nous communiquerons l’état “1” à notre intégration. Pour ce faire, je modifie légèrement les couleurs de base des pixels 1 et 2 (depuis la gauche) pour créer le 001.

Cela ne semble pas beaucoup, mais le pixel 1 a eu sa luminosité diminuée d’environ 30%, et le pixel 2 a gagné 50% de saturation. Puisque notre système peut facilement détecter ces changements, l’état passera de manière fiable à “1” et l’effet de compétence sera déclenché. Les compétences avec des durées définies peuvent se terminer elles-mêmes, mais disons également que celle-ci s’active avec une pression de touche et se termine avec une autre. Pour maintenir un effet indéfini, l’état “1” l’activerait, et l’état “2” pourrait le terminer en fonction des entrées utilisateur ultérieures. Certains effets sont très analogiques et devraient toujours être gérés individuellement par nos développeurs, mais pour les autres, ce système se veut fiable. La principale limitation est la visibilité des “pixels”, qui devront être constants pendant l’état de jeu et devraient probablement être plus grands que la résolution du pixel d’état “1”.