introduction
Développer et produire des jeux par moi-même est un rêve depuis l'enfance. Surtout après avoir été exposé pendant longtemps à l'éditeur mondial de Warcraft 3, j'ai également un intérêt particulier pour les moteurs de jeu et les outils de développement. Après être entré en contact avec la programmation lorsque j'étais étudiant, l'extension de mon rêve a commencé à se répandre. Je n'étais pas satisfait d'utiliser divers langages de programmation pour le développement, j'ai commencé à maintenir un projet de langage de programmation que j'aimais, Yuescript. , pour avoir écrit la logique métier du jeu. Parce que j'étudiais les graphismes et que je les réécrivais dans le cadre d'un projet pratique, Cocos2d-x possède le moteur de jeu Dora SSR. Après avoir travaillé, en raison de mon amour pour les consoles de jeux, j'ai commencé à coopérer avec des partenaires pour développer une console de jeu programmable gratuite et ouverte - Jixiang Machine, réalisant ainsi la liberté numérique ultime de mon rêve de jeu.
Le plaisir et les défis des langages de script de jeux
Le processus d'apprentissage de divers nouveaux langages de programmation est très amusant, et vous ressentirez également différents concepts et idées de programmation lorsque vous entrerez en contact avec différents outils linguistiques. Afin d'apprendre à créer des jeux, j'ai également développé ma propre préférence de programmation pour la création de scripts de gameplay complexes et modifiables, c'est-à-dire l'utilisation d'un langage de programmation aussi concis et expressif que possible pour écrire une logique métier facile à modifier. Le projet open source en langage Yuescript qui peut être traduit en langage Lua pour exécution est mon produit pour répondre à ce besoin. Plus tard, alors que je rencontrais davantage de scénarios de développement de jeux utilisant mon propre moteur de jeu Dora SSR, j'ai introduit Teal (un langage qui ajoute des capacités de vérification de type statique au langage Lua) et Typescript (pour améliorer encore l'éditeur de code) pour l'open source Dora SSR. moteur de jeu. langages pour les invites et les inspections de code), TSX et XML (langages qui fournissent un code descriptif pour le développement de composants), et plus encore. Chaque langage de script peut tirer parti de scénarios de développement de jeux spécifiques et peut être interopérable de manière transparente en traduisant vers le même langage Lua que celui utilisé lors de l'exécution finale. Non seulement basé sur l'extension du langage Lua, le projet de moteur de jeu Dora SSR tente également d'utiliser la machine virtuelle WASM pour prendre en charge des langages plus divers pouvant être utilisés pour la programmation de scripts de jeu, tels que Rust et C++ et Go qui sont prêts à être pris en charge, en tenant compte des performances et de l’évolutivité du moteur.
La route vers l’innovation dans les moteurs de jeux
Lorsqu'il s'agit de moteurs de jeu, tout le monde pense toujours à un rendu graphique performant et de haute qualité pour créer des scènes de jeu complexes. En fait, en tant que développeur de jeux indépendant ou passionné de production de jeux, tout le monde n’est pas qualifié pour poursuivre la capacité de production des jeux 3A (ils n’ont peut-être pas la capacité de gagner de l’argent). Je pense que de nombreux jeux 2D ou avec des effets 2D mélangés à des effets 3D peuvent également exprimer des jeux très créatifs et uniques. De plus, il est préférable que les terminaux pouvant exécuter les jeux que vous créez ne soient pas soumis à des restrictions. De plus, les terminaux et les systèmes d'exploitation pouvant être utilisés pour développer des jeux peuvent également être illimités. Par conséquent, l'objectif du projet de moteur de jeu open source Dora SSR est de fournir aux passionnés de développement de jeux un environnement pratique et facile à utiliser et même un IDE de développement de jeux sur autant d'appareils que possible.
Le développement de jeux a toujours fait partie de ma vie personnelle au quotidien. Même si je ne dispose que d'un temps fragmenté et d'équipements aléatoires pouvant être utilisés pour le développement et l'exécution de jeux, j'aimerais l'utiliser lorsque j'ai le temps d'écrire deux lignes de code de jeu en fragments, ou de déboguer une fonction de jeu et de la transformer en un jeu. Une activité de loisir et de divertissement plus décontractée et confortable.
J'ai donc également essayé de créer un serveur Web IDE pour le développement de jeux sur Dora SSR, intégré lorsque le moteur de jeu est en cours d'exécution. Il est accessible via un navigateur Web via d'autres appareils pratiques pour la saisie et peut être directement utilisé. sur n’importe quel terminal. Expérimentez l’écriture, l’exécution et le débogage du code d’un programme de jeu directement. Dans le même temps, les utilisateurs peuvent bénéficier de services d'invite visuelle dans l'éditeur de code et utiliser d'autres outils visuels pour le développement de jeux et la gestion des ressources. À l'heure actuelle, Dora SSR a la capacité de développer des jeux sur Windows, macOS, iOS, Android et plusieurs distributions Linux grâce à un travail acharné.
Vers le rêve d’une console de jeu gratuite et ouverte
À ce stade, j’estime que la quête d’une expérience libre et ouverte en matière de capacités de développement de jeux est loin d’être terminée. En tant qu'ancien joueur qui aime toutes sortes de consoles portables, je me sens profondément insatisfait après avoir expérimenté de nombreux produits commerciaux de consoles portables open source nationales. Jouer à des jeux avec des consoles de jeux portables se concentre toujours sur les paramètres matériels et la conception de l'apparence pour offrir une expérience différenciée. La console portable que j'attends avec impatience ne concerne pas seulement l'expérience de jouer à des jeux, mais aussi une console de jeu portable qui peut être utilisée librement. développer, exécuter et même Un appareil pour publier des jeux homebrew. De nombreux fabricants de consoles portables ont leurs propres modèles commerciaux et des boucles fermées pour réaliser des bénéfices, ils ne permettront donc pas aux périphériques matériels d'acquérir trop de capacités de personnalisation programmables. J'ai donc travaillé avec des partenaires également passionnés par le matériel pour rechercher et construire un appareil portable entièrement gratuit et ouvert. Et essayez de fournir la possibilité de modulariser et de remplacer le cœur de calcul, les périphériques et l'apparence de la machine (afin que la technologie ne soit plus basée sur le remplacement de la coque). Il y a donc eu un autre projet appelé "Lucky Machine".
Retour à l'intention initiale de la création du jeu
Alors après avoir longtemps lutté, notre jeu est-il enfin terminé ? La réponse est bien sûr que je l’ai fait, mais pas complètement. En 2020, à la veille de la popularité grandissante du grand modèle d'IA générative, nous avons imaginé une telle histoire de jeu sur l'IA du futur. Dans le futur, les besoins matériels des gens ont été pleinement satisfaits et le seul but de la vie est de jouer à des jeux. , et en collectant des données interactives qui reflètent la créativité et la sagesse humaines pendant le processus de jeu et en les utilisant comme matériel de formation pour l'IA. La valeur de la vie est entièrement distribuée et évaluée par la future banque (banque de données) en évaluant la qualité et la valeur des données intelligentes créées par les personnes dans les activités de jeu. L'IA formée par les données finales aidera les gens à réaliser toute la production matérielle, depuis l'éducation des êtres humains individuels jusqu'à la gouvernance sociale. L'intrigue du jeu explorera le genre d'histoires que les humains auront dans un tel contexte. En fin de compte, les valeurs véhiculées par le jeu sont que les gens doivent naître pour être le sujet du changement du monde, plutôt que d'être des objets transformés qui ne peuvent que s'adapter à la situation actuelle. Cela fait également écho à ce que mes partenaires et moi poursuivons dans la réalité. Si nous ne voulons pas être définis par tout ce avec quoi nous sommes nés, nous pouvons tout redéfinir de notre propre initiative.
Si vous êtes intéressé par les langages de programmation, les moteurs de jeu, les consoles de jeux ou les projets de jeux indépendants open source sur lesquels nous travaillons, vous êtes invités à Star notre entrepôt ou à rejoindre notre groupe Q pour discuter. Les projets en cours sont encore en phase d'amélioration progressive, mais plusieurs projets s'intégreront, se vérifieront et itéreront. En nous suivant, vous pourrez également voir dans le temps comment nos projets sont réalisés et l'avancement actuel.
adresse du projet
- Moteur de jeu :
https://gitee.com/pig/Dora-SSR
https://github.com/IppClub/Dora-SSR - Langage Yuescript :
https://gitee.com/pig/Yuescript
https://github.com/pigpigyyy/Yuescript - Projet de jeu open source « Lingsense Digital » :
https://luv-sense-digital.readthedocs.io
Groupe Q de développement de jeux et de communication portable : 512620381
Un camarade de poulet "open source" deepin-IDE et a finalement réalisé l'amorçage ! Bon gars, Tencent a vraiment transformé Switch en une « machine d'apprentissage pensante » Examen des échecs de Tencent Cloud le 8 avril et explication de la situation Reconstruction du démarrage du bureau à distance RustDesk Client Web La base de données de terminal open source de WeChat basée sur SQLite WCDB a inauguré une mise à niveau majeure Liste d'avril TIOBE : PHP est tombé à un plus bas historique, Fabrice Bellard, le père de FFmpeg, a sorti l'outil de compression audio TSAC , Google a sorti un gros modèle de code, CodeGemma , est-ce que ça va vous tuer ? C'est tellement bon qu'il est open source - outil d'édition d'images et d'affiches open source