0.16.0 multiprocess parallelism
This release adds full multiprocess support: by default, LiSE will run your rules' triggers in subprocesses, so it'll be faster than before when there are lots of triggers.
If you know a bit about parallel programming in Python already, you can use LiSE's new Engine.pool.submit(..) function, just like the one in Python's basic concurrent.futures module, to run whatever code you've stored in the engine's function and method attributes. Putting your functions in a file function.py with the rest of the game code, then accessing the functions in that file as Engine.function.whatever, will work fine.
An additional optimization is available if your rule is meant to run only when something changes near the entity it runs on. Set a neighborhood, now demonstrated in the README, to take advantage.
ELiDE also responds to changes in graphics that the LiSE engine tells it to do, like setting thing["_image_paths"] to a list of image files in the Awareness example. This isn't so much a new feature as an old one that I seem to have turned off on purpose at some point. I don't remember why anymore, so here it is.
Files
Get LiSE
LiSE
Rules-based, time-traveling Life Simulator Engine
Status | In development |
Category | Tool |
Author | clayote |
Genre | Simulation |
Tags | agent-based-simulation, cellular-automata, Game engine, Life Simulation |
Leave a comment
Log in with itch.io to leave a comment.