123ishaTest/ludiek

[Generator] Create a Generator plugin

オープン

#137 opened on 2026/01/26

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)TypeScript (4 件のフォーク)auto 404
help wantedplugin

Repository metrics

Stars
 (12 個のスター)
PR merge metrics
 (PR metrics pending)

説明

A Generator is a mechanic that produces an Output over time, optionally consumes an Input

interface GeneratorDefinition {
  id: string
  output: Output | Output[]
  conditions?: Condition | Condition[]
  input?: Input | Input[]
}

interface GeneratorState { isActive: boolean }

TODO

  • How to deal when you cannot consume the input, does it turn off or not produce/consume that tick?
  • Currently outputs don't have support for being applied fractionally over time, which would be needed for this plugin. We could add something like fracture(fraction: number) next to modify(). Since all input and output is handled through the engine, you could update engine.produce() to add a fraction. I think that is fine for now as it is always a linear scaling fraction
  • This would work for now, but not when we have complex outputs that require functions to calculate their amount, which is always static now.

Other

  • This is similar to a previous mechanic I had designed called Boosters, which are more focused on modifiers
  • This is also similar to another mechanic call Actions, but those are transactions after time has elapsed

But it is probably best to keep them separated into different plugins!

コントリビューターガイド