Skip to content
forked from damn/moon

Experiment - can videogame development be simple?

Notifications You must be signed in to change notification settings

danieltanfh95/core

 
 

Repository files navigation

core

Core is an experimental new way to write videogames in the form of an Action-RPG Maker Tool&Engine&Property-Editor. The only thing missing is a game ;)

It uses a simple component system, where components are just clojure vectors of [keyword value] and the different entities are clojure maps.

Side effects in the game are just components like [:tx/foo param] named 'tx=transaction' similar to the datomic structure.

The whole game state is stored in one atom: app/state and entities are again atoms inside the main atom (like in our universe).

The whole content of the application is stored in one resources/properties.edn and uses malli-schemas for validation and can be edited with a GUI as seen in the screenshot below.

Screenshots

screenshot Screenshot 2024-09-08 at 11 53 59 PM

How to start developing

Just type:

lein dev

It will start the application and also:

  • Starts an NREPL-Server
  • On application close (ESC in the main menu), clojure.tools.namespace will do refresh on any changed files and restart the app.
  • On any error the JVM does not have to be restarted, you can fix the error and call dev-loop/restart! I have bound it on my VIM to F5 with: nmap <F5> :Eval (do (in-ns 'dev-loop)(restart!))

Code Licensed under MIT License.

Asset license

The assets used are proprietary and not open source.

About

Experiment - can videogame development be simple?

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Clojure 94.7%
  • Java 5.3%