home.social

#lisien — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #lisien, aggregated by home.social.

fetched live
  1. #renovel requires #python version 3.12 or later, because that is what #Lisien requires. I can use the improvements in type annotation and the standard library to clean up the code...probably redoing work that's been done in #renpy mainline, but that's what I signed up for

  2. Thinking of how to word #Lisien's own policy against AI contributions. The Godot one seems...fine... although I'd really like some way to restrict the autocomplete to something that doesn't serve Sam Altman's interests

    Maybe "local models only" would be adequate for that purpose? Then again, getting a local model confused for a remote hosted one seems easy to do, and banning a contributor who does that feels petty

    How about an inverse approach, like in the code of conduct? Autocomplete isn't banned banned, but we encourage you to use models you control, and to help other contributors to do the same

  3. I've meant to write a #Renpy integration of some kind for #Lisien for some time, but haven't got around to it. Now that it's become apparent that lots of people are unhappy with the fact that Ren'py has been using LLM code generation since 2021, it might be time for a hard fork, and that fork could use Lisien as its save/load system.

    Anyone want to help me with this? I'm good at #Python, but haven't really hacked on Ren'py before.

    codeberg.org/clayote/renovel

  4. Version 0.23.3 of #Lisien, which manages the rules and world state of your #Maxis-style sim game, fixes the Android build.

    Get it on itch: clayote.itch.io/lisien/devlog/

    Or in your Python interpreter: python -m pip install -U lisien elide

    #lifeSim #gameDev #python #itch #itchio #aLife #artificialLife #cellularAutomata

  5. Version 0.23.2 of #Lisien, which manages the rules and world state of your #Maxis-style sim game, improves the overall quality of the code by means of the attrs.org library and continuous integration. Many thanks to @Codeberg for hosting it with @WoodpeckerCI

    Get it on itch: clayote.itch.io/lisien/devlog/

    Or in your Python interpreter: python -m pip install -U lisien elide

    #lifeSim #gameDev #python #openSource #foss

  6. It's going to get a lot easier to run #Lisien in the browser with the next release. It won't be the most performant way to do it, probably, and for the time being you'll need to use XML dumps of the database for persistence, though I've heard of ways to avoid that.

    #Python #WASI lazyweb: is there a good, pure Python library I could use to store cookies? I guess I could compile SQLite in, if I have to, but it seems like needless overhead.

  7. @billseitz @dpk I think I might reimplement Micropolis in #Lisien, so that changing a lot of things about the simulation doesn't require editing the actual code
    codeberg.org/clayote/Lisien/is

  8. Release 0.22.4 of Lisien adds the ability to use the Elide frontend to edit the Method and Function stores, not just Trigger, Prereq, and Action like before.

    There wasn't really a good reason those two were missing, and without them, users on Android couldn't write rules that presented options to the player.

    #gameDev #openSource #python #lifeSim #lisien

  9. Released version 0.22.0 of Lisien, the life simulator engine for systemically complex games like those of Maxis or Paradox Interactive.

    This release adds a proper, XML based export format. You can open files with the .lisien extension in any old decompressor, since they're just zip files, but now they have world.xml in them, describing the history of the game in a way you can edit with a text editor, and which Lisien can import into whatever database it happens to be running.

    Read more on itch, and get Lisien there, or in your Python interpreter:

    python -m pip install --upgrade lisien elide

    #gameDev #openSource #python #lifeSim #lisien

  10. Released version 0.20.2 of the persistent state container and rules engine for life simulation games, #Lisien, in which you keep your game's state, and forget that such a thing as a save file ever existed.

    This release overhauls a lot of internals related to caching and deltas. A lot of intermittent crashes and data losses can't happen anymore.

    View detailed release notes on itch clayote.itch.io/lisien/devlog/

    Get it in your Python interpreter: python -m pip install --upgrade lisien elide

    #lifeSim #gameDev #python

  11. I'm trying to add good #Python type annotations to #Lisien

    Everything stored in it needs to be serializable in messagepack, so I've annotated all its function signatures with one of the type aliases

    Key: TypeAlias = (
    str | int | float | None | tuple["Key", ...] | frozenset["Key"]
    )
    Value: TypeAlias = (
    Key
    | dict[Key, "Value"]
    | tuple["Value", ...]
    | list["Value"]
    | set["Value"]
    | frozenset["Value"]
    )

    Works ok so far.

    But now I'm trying to use NewType to distinguish generic keys from those that name a Lisien entity, such as a node, edge, or graph.

    You can't use NewType on type annotations, so I have to make a class for it. I did it like this:

  12. Released the rules-based persistent state container for life sim games #Lisien version 0.20.1.

    This is a bugfix release, but a pretty big one. A lot of intermittent bugs related to subtle errors in deltas and interprocess serialization have been fixed.

    Get it on itch: clayote.itch.io/lisien#download

    Or in your Python interpreter: python -m pip install --upgrade lisien elide

    #gameDev #lifeSim #lifeSimulation #cellularAutomata #aLife #python

  13. Released version 0.20.0 of #Lisien, the persistent state container and rules engine for systemically complex life simulation games.

    This release adds Android support and a main menu. You can develop Lisien games on Android now.

    Get it on Itch: clayote.itch.io/lisien/devlog/

    Or in your Python interpreter: python -m pip install --upgrade lisien elide

    #lifeSim #lifeSimulation #lifeSimulatorGame #ALife #gameDev #python #android

  14. Released version 0.19.3 of #Lisien, the time-traveling rules engine for #lifeSimulation games.

    There was quite a major performance issue where the engine would get stuck snapping keyframes every tick. I've fixed it.

    Get it in your #Python interpreter: python -m pip install --upgrade lisien elide

    Or on Itch: clayote.itch.io/lisien/devlog/

    #lifeSim #gameDev

  15. I did a post-release update of Elide so that it has graphics. I forgot to update a file that said what graphics it had for all versions since I changed the capitalization of the name.

    programeing

    #Lisien

  16. Released version 0.19.2 of #Lisien, the time-traveling rules engine for systemically complex life simulation games.

    This release adds the ability to run Lisien with no database, nor any files open at all. It's mainly useful for testing Lisien itself--but could be of use in testing your game, too.

    It also fixes the string store, so you can change what strings are in it within the Python interpreter, if you want.

    Get it in your Python interpreter: python -m pip install -U lisien elide

    Or on Itch: clayote.itch.io/lisien/devlog/

    #gameDev #customEngine #lifeSim #lifeSimulation

  17. Released version 0.19.1 of #Lisien, the time traveling rules engine for making life sim games.

    This is a bugfix release. The biggest bug was that big rules weren't resetting the time at the end of planning blocks, which meant that if you had a big rule that set a lot of things to traveling, such as the pathfind example, they would wait for each other to finish travel before starting their own, which would take a really long time.

    Get it in your #Python interpreter: python -m pip install --upgrade lisien elide

    Or on Itch: clayote.itch.io/lisien/devlog/

    #lifeSim #lifeSimulation #gameDev #customEngine

  18. Just released version 0.19.0 of #Lisien, the time-traveling rules engine for life simulation games in #Python. clayote.itch.io/lisien/devlo...

    v0.19.0 small files

  19. Just released version 0.19.0 of #Lisien, the time-traveling rules engine for life simulation games in #Python.

    This release switches the default storage engine to #ParquetDB. In practice, game history takes around 1/20 as much of your hard drive as it did with SQLite.

    I did a lot of refactoring for this release, finding and fixing loads of mysterious crashes.

    Get it in your Python interpreter with python -m pip install lisien elide, or download on #itchio: clayote.itch.io/lisien/devlog/

    #lifeSim #lifeSimulation #gameDev #customEngine

  20. Looks like I can't support #Python 3.13 in #Lisien yet. The inspect.getsource function sometimes gives me more source than what's really part of the function I call it with, and that means I can't copy decorated functions into place for the rules engine to find them.

  21. Released #Lisien 0.18.3

    This fixes a major memory leak that made Lisien unusable after a few thousand rules ran.

    The upcoming 0.19 release will switch to a new on-disk storage format that will use far less of your hard drive.

    #python #gameEngine #gameDev #lifeSim #lifeSimulation

  22. Released #Lisien 0.18.2

    This release fixes a crash that could happen when the unloader got too eager. Usually the crash wouldn't happen until you thereafter closed the engine.

    clayote.itch.io/lisien/devlog/

    #lifeSim #gameDev #customEngine #python

  23. Version 0.18.1 of #Lisien fixes a couple of common crashes.

    The graphics are kind of messed up right now, but I think it's most important to improve test coverage on the time travel features, and fix whatever I find in that.

    clayote.itch.io/lisien/devlog/

  24. Version 0.18.0 of #Lisien, formerly #LiSE, the rules-based, time-traveling engine for life simulation games, has been released. clayote.itch.io/lisien/devlog/

    This release improves support for rules that make a lot of changes to the world. Most won't, so decide which ones will, and set the big property to True for those.

    #python #lifeSim #gameDev #customEngine

  25. @aeva the next release is going to be a lot better at handling rules that make big changes to the world. also I'm renaming #LiSE to #Lisien

    Probably going to implement the Sugarscape model for an example sim next...

  26. The workflow I have in mind for #Lisien is "incremental gameness"

    1. have an idea for a simulation
    2. implement it in the IDE using only the default interface
    3. slap an easy, menu based interface on it to get some kind of player interaction going. iterate until fun
    4. implement a minigame for a key aspect of the simulation. iterate until fun. repeat until you have a minigame that is more fun than the main game
    5. redesign the interface around the minigame. while you're at it, make it pretty
    6. in fact the default interface kit isn't doing this game justice anymore, let's rewrite the frontend in Unreal
    7. video game

  27. New instance, new #introduction

    I messed around with a lot of old Maxis games as a kid and kind of expected more would come out that would teach me how the world "really worked" in a way I could use to decide how to live my life. I still don't know what that would be like, exactly, but I figure *somebody* does, so I'm making a tool to help them, whoever they are: the Life Simulator Engine, #Lisien.

    The core feature is time travel. The development kit for Inform 7 had this, and it seemed so obviously useful that I needed to have it. This replaces save files; now, everything that ever happened in any playthrough of your game lives in a database.

    There's also a rules engine, similar to the one in Ren'Py's Dating Sim Engine. By compartmentalizing the complexity of your game's rules, it should make them easier to reason about, and there's a way to time travel to just before or after any particular rule, to see if it did the right thing.

    Take a look:

    vimeo.com/815795673