Une nouvelle charte graphique
2023-01-183 façons dont les jeux vidéo peuvent enseigner
2023-02-10Alors que tout le monde utilise Unity, pourquoi avons-nous créé notre propre moteur de jeu personnalisé ?
CRISPR Crunch, comme tous nos jeux chez Play Curious, est basé sur les technologies web, parfois appelées HTML5, et utilise notre propre moteur de jeu que nous avons appelé Booyah.
C'est loin d'être la norme dans le développement de jeux. La plupart des studios, y compris les développeurs indépendants, utilisent des moteurs de jeu populaires tels que Unity, Unreal ou Game Maker. Ces outils disposent d'une base d'utilisateurs importante et bien établie, d'environnements d'édition 3D et de magasins de ressources où vous pouvez acheter du contenu existant pour votre jeu, comme des graphiques 3D ou des systèmes de menus.
Alors pourquoi avons-nous choisi de nous lancer seuls en utilisant HTML5 et notre moteur personnalisé ? Eh bien, il y a plusieurs raisons, en fait :
- Jouez n'importe où, sur n'importe quoi - Ce que j'aime dans le web, c'est l'omniprésence des navigateurs. Vous pouvez les utiliser sur un téléphone, sur une tablette ou sur un ordinateur de bureau. Il est donc tout aussi agréable de jouer sur son téléphone pendant un trajet en bus que sur un écran géant à la maison.
- Temps de développement et de déploiement rapides - Le développement web est généralement très rapide. Avec la génération précédente d'outils - JavaScript et HTML , il suffit de rafraîchir votre navigateur pour voir les nouveaux changements. Les outils plus récents tels que TypeScript et Webpack nécessitent souvent une étape de compilation supplémentaire, mais celle-ci reste assez rapide - de l'ordre de quelques secondes - par rapport aux 20 minutes de compilation de votre projet Unity ou C++. Il en va de même pour le déploiement : envoyer une mise à jour est presque aussi simple que de copier de nouveaux fichiers sur le serveur.
- Une meilleure structure - J'ai constaté que le modèle de système de composants et d'entités à la base des projets Unity entrave le développement de bases de code flexibles. Dans mon précédent emploi, j'ai développé un moteur de jeu intégré à un environnement de programmation visuelle appelé RedWire. Bien que l'outil se soit avéré difficile à utiliser dans la pratique, il m'a donné de nombreuses idées qui ont été reprises dans Booyah. J'en parlerai plus en détail dans un prochain article, mais il suffit de dire que Booyah se concentre principalement sur la façon de structurer votre code, au lieu d'y intégrer des fonctionnalités telles que la physique ou le rendu avancé. Nous supposons que vous pouvez trouver d'autres bibliothèques qui font ces parties très bien.
Bien sûr, le HTML5 a aussi des inconvénients :
- L'accès hors ligne est toujours un problème - Malgré des années d'efforts, les applications web ne sont pas aussi bien intégrées aux systèmes d'exploitation des smartphones ou des ordinateurs de bureau que les applications natives. J'étais favorable à l'infortuné Mozilla OS, qui aurait fait des applications web des citoyens de première classe, mais ni Apple ni Google ne semblent prendre les applications web aussi sérieusement.
- Pas de magasins d'applications - Cela signifie que pour le mobile, vous devez essentiellement présenter votre application comme une application mobile native. Bien que ce ne soit pas particulièrement difficile à faire, cela représente beaucoup plus de travail que de simplement mettre en ligne une nouvelle version de votre site web.
- Pas de consoles - Il n'est pas aussi facile de conditionner son application web pour les consoles. Même sur PC, il n'y a pas une grande intégration avec les contrôleurs de jeu. Il existe une API pour les contrôleurs de jeu, mais elle ne bénéficie pas d'un support omniprésent. Étant donné que nous nous concentrons sur les jeux occasionnels conviviaux pour les téléphones portables avec une interaction avec le toucher et la souris, ce n'est pas un gros problème pour nous.
Maintenant que nous avons parlé du pourquoi du choix d'une technologie web, qu'en est-il du comment ? Ce sera le sujet de mon prochain post. Restez à l'écoute, amis curieux !
- Écrit par Jesse