Replace (rp.lc)


What is this?

Replace is a (very unfinished) open source Kotlin engine & ecosystem for creating simulations that act based on input images.

For example, there could be an “Anthill” recipe that defines the rules for an ant colony and the life within. An image would then provide the “seed” for this colony, which would be converted by the sim rules into a full simulation.

The project aims to only use official Kotlin libraries and be entirely open source, and (for now!) is by JakeSteam.

What can it do currently?

It can load an image from /input/ and perform a set of JSON-derived rules on it. These rules identify the most common border pixel, colour all matching pixels blue, and all other pixels green.

These rules are currently hardcoded in Main.kt (export & import from JSON supported), this is the logic flow.

How can I use rp.lc?

Run Main.kt with an image file in /input/. You might also want to play with the rules and chain them together in novel ways


Milestone 1: Proof of concept (Completed March ‘23)

Goal: A Kotlin project that can use a JSON config to apply image manipulation rules to any input image, and output the result.

Milestone 2: Functionality complete (ETA April ‘23)

Goal: A Kotlin project that can generate worlds with tiles, structures, and game ticks based on input configs & tiles.

Milestone 3: Ready to share (ETA May ‘23)

Goal: A GUI program for generating worlds from configs & images, with a high quality codebase.

Milestone 4: Ready for non-technical use (ETA July ‘23)

Milestone 5: Community forming?