I just put Dead Reckoning into public beta. It’s a turn-based colony ship sim built in Godot 4, and the central mechanic is Drift — the slow, invisible erosion of your civilization’s values across generations.

You start with 1000 colonists, five resource bars, and five drift meters all sitting at 0%. By the time you arrive at a new world, those meters tell a story you didn’t mean to write.

What’s in the beta: — 20-minute runs — Five interlocking drift paths (genetic, ideological, AI takeover, generational regression, class stratification) — Terminal-aesthetic UI — no HUD outside the fiction — Ten hard-coded events to validate the decision feel — One ending that tells you what civilization you built

It’s rough. That’s intentional. Looking for people who want to play it and tell me what broke, what landed, and what civilization they ended up with.

Free to play, Windows + Linux: https://garanlorn.itch.io/dead-reckoning

#godot4 #indiedev #gamedev

  • Garan LornOP
    link
    fedilink
    arrow-up
    2
    ·
    7 days ago

    v0.1.9 — Crash Fix

    FINALLY!

    If you hit a silent freeze or crash between years 18–24, this update is for you.

    What was happening

    The event log panel used a RichTextLabel with fit_content = true. That sounds innocuous, but it meant every character the typewriter animation drew triggered update_minimum_size(), which cascaded up through the entire UI tree — scroll container, events panel, main layout, all five tab panels, 200+ nodes. At 60 FPS in watch mode, that’s roughly 30 full-tree layout recalculations per year. Over a 20-year run, the engine’s internal message queue filled up and died with Container::_sort_children — Message queue out of memory.

    A secondary culprit: the drift threshold glitch effect was calling add_theme_stylebox_override() with varying content margins, which kicked off the same cascade 8 more times per threshold event.

    What was fixed

    fit_content = false on the event log label. Text changes now call queue_redraw() — a cheap repaint with no layout impact. The label fills its container via size flags instead.
    Glitch effect rewritten to use modulate tinting only. No style overrides, no margin changes, no cascade.
    Choice button removal is now properly deferred. The previous free() call was causing signal-emission crashes during decision handling.
    Message queue ceiling raised to 256MB as a secondary safety net.
    

    Minor layout change

    The decision choices panel now sits below the event log rather than scrolling inside it. Choices are always visible without scrolling — which is an improvement regardless.

    Thanks to Efflixi and waterSticksToMyBalls for the reports.

    • Efflixi@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 days ago

      Thank you so much for addressing these issues. This is a great little game and I honestly enjoying it more than I expected when it simply stopped working. I just paid you for this because most games like this are simply made in a day or two, posted on itch.io and then never thought about again. You clearly are working through this and I want to help.