I wrote a blog post on the current trend of game decompilations using AI and where we’re going with this. It’s all very promising but oh boy are the implications scary.

  • sem@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    3
    ·
    4 days ago

    This is all very new to me, but I think I get what you’re saying. Could I ask you to check my understanding of this part?

    but i was able to build clean specs from that source, and then with as clean of context of possible, stage the production and testing of features.

    Does this mean that Civ 4 has its source available – and you fed it into the LLM and asked it for a human -readable design spec for what the source code does.

    Then you took that spec sheet and asked a new LLM to generate source code that matches the spec sheet, with some modifications you desired (e.g. 64 bit and different controls).

    I guess i have a follow up question which is, is it possible that the Civ IV source code was included in the training data of the LLM, and would there be any way to know?

    Thanks for considering

    • ChrysanthemumIndica@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      3
      ·
      3 days ago

      Could I ask you to check my understanding of this part?

      I think your understanding is basically correct, but i just want to clarify what i did with the specs:

      I found the source code, which doesn’t include the rendering engine, is composed of Python and C++ and contains the game logic.

      I then fed the LLM the source code I had available to turn them in to a set of specs for that specific codebase, for important APIs and the logic that connects then.

      I then took those specs and made the LLM genericize them, and in particular creating a structured, human readable description of all game rules.

      With those new generic specs, i was able to creat a development plan and architecture (with heavy aid of LLM), the new engine is written in Godot with json data store.

      Project was bootstrapped like normal, start with the smallest core functionality, especially including debug infrastructure. Get it stable and then keep adding features and testing until everything seems okay.

      I guess i have a follow up question which is, is it possible that the Civ IV source code was included in the training data of the LLM, and would there be any way to know?

      Agreed, that’s actually part of why I said I don’t think i can prove it’s fully clean room!

      But I did try my best to make it unlikely, and even if it did, I imagine it was closer to broken bits and pieces.