-
Qu’est-ce que coreCore ?
- coreCore est une méthode expérimentale d’écriture de jeux vidéo sous la forme d’un outil et moteur de création de jeux d’action-RPG, avec un éditeur de propriétés
- Il utilise un système de composants simple, où les composants sont des vecteurs Clojure de la forme
[keyword value]
- Les différentes entités sont composées de maps Clojure
- Les effets de bord dans le jeu sont traités via des composants comme
[:tx/foo param], dans une structure similaire à Datomic
- L’état global du jeu est stocké dans un unique atom appelé
app/state, et les entités existent elles aussi comme des atoms à l’intérieur de l’atom principal
- L’intégralité du contenu de l’application est stockée dans
resources/properties.edn, validée avec des schémas Malli et modifiable via une interface GUI
-
Captures d’écran
-
Comment démarrer le développement
- Saisir la commande suivante :
- L’application démarre et effectue aussi les opérations suivantes :
- démarrage du serveur NREPL
- à la fermeture de l’application (ESC dans le menu principal), clojure.tools.namespace recharge les fichiers modifiés et redémarre l’application
- en cas d’erreur, il suffit de corriger le problème et d’appeler
dev-loop/restart! sans avoir à redémarrer la JVM
- dans VIM, on peut lier la touche F5 à la commande suivante :
nmap <F5> :Eval (do (in-ns 'dev-loop)(restart!))
-
Licence du code
-
Licence des assets
- Les assets utilisés sont propriétaires et ne sont pas open source
Résumé de GN⁺
- coreCore est un outil permettant de créer facilement des jeux d’action-RPG, en gérant l’état du jeu avec un système de composants simple
- Le stockage de tout l’état du jeu dans un seul atom et l’édition des propriétés via une interface GUI en font un outil utile pour les développeurs
- Il est proposé sous licence MIT, mais les assets utilisés sont propriétaires
- Parmi les outils aux fonctionnalités similaires, on peut citer RPG Maker ou Unity
1 commentaires
Commentaires sur Hacker News
Il est intéressant de voir différentes approches du développement de jeux
Ce projet GitHub paraît ridicule aux développeurs de jeux
Le projet prétend simplifier le développement de jeux, mais utilise beaucoup de jargon
Ce projet semble avoir échoué
Ce dépôt, presque sans documentation, a suscité beaucoup de discussions
On voit souvent un « je veux créer un jeu » se transformer en création d’un moteur de jeu
J’adore Clojure, mais je me demande si un langage fonctionnel avec des structures de données immuables est adapté au développement de jeux
L’état du jeu est stocké dans un seul atom, et les entités y sont elles-mêmes stockées sous forme d’atoms
Il serait intéressant d’analyser les données « temps/complexité consacrés au moteur de jeu » vs « complexité/intérêt du jeu produit »
Il existe déjà Core, une plateforme commerciale de création de jeux fonctionnant avec Unreal Engine 4