-
¿Qué es coreCore?
- coreCore es una forma experimental de crear videojuegos en formato de herramienta y motor para juegos Action-RPG, además de un editor de propiedades
- Usa un sistema simple de componentes, y los componentes son vectores de Clojure con la forma
[keyword value]
- Las distintas entidades están compuestas por mapas de Clojure
- Los efectos secundarios dentro del juego se manejan con componentes como
[:tx/foo param], similares a la estructura de Datomic
- Todo el estado del juego se almacena en un solo atom llamado
app/state, y las entidades también existen como atoms dentro del atom principal
- Todo el contenido de la aplicación se guarda en
resources/properties.edn, se valida usando esquemas de Malli y puede editarse desde una GUI
-
Capturas de pantalla
-
Cómo empezar a desarrollar
- Ingresa el siguiente comando:
- La aplicación se inicia y también realiza las siguientes tareas:
- Inicia el servidor NREPL
- Al cerrar la aplicación (ESC en el menú principal),
clojure.tools.namespace recarga los archivos modificados y reinicia la app
- Si ocurre un error, no hace falta reiniciar la JVM; basta con corregirlo y llamar a
dev-loop/restart!
- En VIM, puedes vincular la tecla F5 al siguiente comando:
nmap <F5> :Eval (do (in-ns 'dev-loop)(restart!))
-
Licencia del código
- Se ofrece bajo la licencia MIT
-
Licencia de los assets
- Los assets usados son propietarios y no son de código abierto
Resumen de GN⁺
- coreCore es una herramienta para crear fácilmente juegos Action-RPG y usa un sistema simple de componentes para gestionar el estado del juego
- Almacena todo el estado del juego en un solo atom y permite editar propiedades mediante una GUI, lo que resulta útil para desarrolladores
- Se ofrece bajo licencia MIT, pero los assets utilizados son propietarios
- Herramientas con funciones similares incluyen RPG Maker y Unity
1 comentarios
Comentarios en Hacker News
Es interesante ver distintos enfoques para el desarrollo de videojuegos
Este proyecto de GitHub parece ridículo para los desarrolladores de juegos
Afirma que puede simplificar el desarrollo de juegos, pero usa demasiada terminología
Parece que este proyecto fracasó
Este repositorio, que casi no tiene documentación, generó mucha conversación
Muchas veces se ve que la idea de "quiero hacer un juego" termina convirtiéndose en hacer un motor de juegos
Me encanta Clojure, pero dudo que un lenguaje funcional con estructuras de datos inmutables sea adecuado para el desarrollo de juegos
El estado del juego se guarda en un solo átomo y las entidades dentro de él se guardan otra vez como átomos
Sería interesante analizar datos de "tiempo/complejidad invertidos en el motor del juego" vs "complejidad/interés del juego producido"
Ya existe Core, una plataforma comercial para crear juegos impulsada por Unreal Engine 4