跳到正文
cccskills
免费在 GitHub 公开

godot-genre-idle-clicker

Expert blueprint for idle/clicker games including big number handling (mantissa + exponent system), exponential growth curves (cost_growth_factor 1.15x), generator systems (auto-producers), offline progress calculation, prestige systems (reset for permanent multipliers), number formatting (K/M/B suffixes, scientific notation). Use for incremental games, idle games, or cookie clicker derivatives. Trigger keywords: idle_game, big_number, exponential_growth, generator_system, offline_progress, prestige_system, number_formatting.

中文简介正在准备中。当前显示原文说明。

实测评分 未实测

查看安装方法

包含的文件(19)

  • SKILL.md12.6 KB
  • references/expert-idle-clicker-patterns.md5.7 KB
  • references/migration-notes.md3.5 KB
  • scripts/big_int_save_parser.gd1.5 KB
  • scripts/big_number.gd2.6 KB
  • scripts/big_real.gd603 B
  • scripts/click_juice_manager.gd626 B
  • scripts/decoupled_economy_signal_bus.gd1.3 KB
  • scripts/functional_income_reducer.gd1.4 KB
  • scripts/generator.gd1.9 KB
  • scripts/idle_performance_setup.gd1.3 KB
  • scripts/lightweight_upgrade_resource.gd1.2 KB
  • scripts/offline_progress_calculator.gd1.4 KB
  • scripts/offline_progression_manager.gd692 B
  • scripts/precision_cost_validator.gd1.2 KB
  • scripts/scientific_notation_formatter.gd2.2 KB
  • scripts/scientific_notation_math.gd1.3 KB
  • scripts/thread_safe_ui_updater.gd1.4 KB
  • scripts/threaded_catchup_simulator.gd1.6 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

NEVER Do (Expert Anti-Patterns)

Economics & Math

  • NEVER use standard floats for currency; strictly implement a BigNumber (Mantissa/Exponent) system (e.g., 1.5e300) to prevent INF crashes at 1e308.
  • NEVER use Timer nodes for revenue generation; strictly use a manual accumulator in _process(delta) to prevent drift during frame fluctuations.
  • NEVER hardcode generator costs or growth; strictly use an exponential formula: Cost = BasePrice * pow(GrowthFactor, OwnedCount) (industry standard 1.15x).
  • NEVER evaluate exact float equality (==); strictly use is_equal_approx() or >= to prevent "stuck" progress due to precision loss.
  • NEVER parse scientific notation strings with to_int(); strictly use to_float() or a dedicated BigNumber parser.

Performance & Optimization

  • NEVER update all UI labels every frame; strictly use Signals to update labels ONLY when values change, or throttle updates to 10 FPS.
  • NEVER ignore Low Processor Usage Mode for mobile; strictly enable OS.low_processor_usage_mode = true to preserve battery life.
  • NEVER instantiate/delete hundreds of text nodes per second; strictly use Object Pooling or MultiMeshInstance for click-feedback.
  • NEVER update massive logs by modifying the text property; strictly use append_text() to prevent main thread blocking.

Player Experience & Persistence

  • NEVER ignore Offline Progress; strictly calculate seconds_offline * total_revenue using system UNIX timestamps (Time.get_unix_time_from_system()).
  • NEVER make the "Prestige" reset feel like a loss; strictly provide a global multiplier that makes the next run significantly faster (2-5x).
  • NEVER calculate offline time using Time.get_ticks_msec(); strictly use Persistent UNIX timestamps as ticks reset on app restart.
  • NEVER use Node hierarchies for raw data; strictly use RefCounted or Resource objects for lightweight, serializable logic.

🛠 Expert Components (scripts/)

MANDATORY reads before implementing the matching system:

  1. big_number.gd — mantissa + exponent beyond float INF
  2. generator.gd — exponential cost / rate units
  3. scientific_notation_formatter.gd — K/M/B/T + scientific display
  4. offline_progress_calculator.gd — UNIX offline catch-up (not ticks_msec)

Original Expert Patterns

Modular Components


Core Loop

  1. Click → 2. Buy generators → 3. Idle income → 4. Upgrade → 5. Prestige

Decision Trees

Numbers & display

NeedAction
Values past ~1e308MANDATORY big_number.gd
Labels / abbreviationsMANDATORY scientific_notation_formatter.gd
Cost curve ~1.15^ngenerator.gd + precision_cost_validator.gd

Offline & perf

NeedAction
Offline catch-upMANDATORY offline_progress_calculator.gd (UNIX time)
Long catch-upthreaded_catchup_simulator.gd
Battery / idle CPUidle_performance_setup.gd

Do not re-inline BigNumber/Offline tutorials in the skill body — load the scripts above.

Skill Chain

PhaseSkillsPurpose
1. Mathgodot-gdscript-masteryBig-number arithmetic
2. UIgodot-ui-containers, labelsScientific / suffix labels
3. Datagodot-save-load-systemsOffline timestamps + prestige
4. LogicsignalsThrottled economy UI
5. Balancegodot-monte-carlo-balancerMinutes-to-milestone bands

Common Pitfalls

PitfallSolution
Wrong Expert Component hrefsLinks above point at canonical big_number / generator / formatter
Time.get_ticks_msec offlineUse UNIX via offline calculator
UI every frameSignal-throttle via economy bus / performance setup

Expert knowledge (on demand)

LLM-ignorance rule: If a general agent would not know it before reading, load the reference — never delete expert deltas.

Reference

Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.

Official Documentation

  • Idle and physics processing — Revenue must accumulate in _process(delta) (or a fixed sim tick), not drifting Timer nodes, so generators stay frame-rate independent.
  • Time — Offline catch-up uses Time.get_unix_time_from_system(); never get_ticks_msec(), which resets when the app restarts.
  • Saving games — Persist currency, generator counts, prestige multipliers, and last-save UNIX timestamps so welcome-back earnings survive restarts.
  • Data paths — Keep save blobs under user:// so offline timestamps and big-number strings remain writable across platforms.
  • Resources — Generators, upgrades, and prestige curves belong as .tres Resources so designers retune cost_growth_factor without code changes.
  • GDScript exports — @export base costs, revenue rates, and growth factors so balance sheets stay Inspector-driven.
  • Using signals — Emit currency_updated only when balances change so HUD labels do not rewrite every frame.
  • OS — Enable OS.low_processor_usage_mode (and sleep usec) for mobile idle sessions that spend most time waiting on generators.
  • Using multiple threads — Long offline catch-up sims belong on WorkerThreadPool; UI must not block while thousands of ticks replay.
  • Thread-safe APIs — Marshaling sim results to Labels requires call_deferred / main-thread rules from this page.
  • Formatting strings — K/M/B suffixes and %.2fe%d scientific display depend on correct format strings (and String.num_scientific when appropriate).
  • RefCounted — BigNumber and upgrade payloads should be lightweight RefCounted/Resource data, not Node trees.

Related Skills

Prerequisites

  • godot-gdscript-mastery — Mantissa/exponent classes, pow growth, and precision-safe compares (is_equal_approx) are core GDScript patterns before building idle economies.
  • godot-resource-data-patterns — Generator and upgrade definitions should be Resource-first so balance curves stay data-driven .tres assets.
  • godot-signal-architecture — Decoupled currency buses must signal up to UI and never let Labels mutate the simulation wallet.
  • godot-save-load-systems — Offline progress and prestige state need versioned save handlers that store UNIX timestamps and big-number strings safely.

Complements

  • godot-economy-system — Soft-currency wallets, sinks, and transaction APIs compose with idle generators when the game grows shops or prestige shops.
  • godot-ui-containers — Generator lists and upgrade grids are GridContainer/VBoxContainer layouts bound to throttle-friendly labels.
  • godot-ui-rich-text — Scientific notation, suffix strings, and append-only logs belong in Label/RichTextLabel patterns rather than rebuilding huge text blobs.
  • godot-performance-optimization — Low-processor mode, UI throttling, and pooled click-juice keep idle loops battery-friendly on mobile.
  • godot-autoload-architecture — Simulation managers and economy buses that survive scene reloads should follow Autoload ownership rules.
  • godot-particles — Click-feedback bursts should use batched GPUParticles2D.emit_particle rather than spawning Label nodes per tap.

Downstream / consumers

  • godot-monte-carlo-balancer — After cost curves and prestige multipliers are Resource-driven, Monte Carlo career sims prove minutes-to-milestone bands (not win%) before shipping growth factors.
  • godot-platform-mobile — Shipping idle on phones consumes low-processor mode, background resume, and offline catch-up patterns from this genre skill.

Master

  • godot-master — Library router and mirrored module entry; use when discovering peer skills or syncing shared script mirrors after Domain Skill edits.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Bevy ECS skill for 2D sprite animation. Keywords: Bevy, sprite, animation, AnimationPlayer, AnimationClip, 2D.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Dev-Agentic-Skills8882026年10月17日 更新

Spawn and tune Bevy 0.20 directional, point, and spot lights, cascade shadows, distance fog, and a nearest-light shadow budget. Use when a 3D scene needs a sun, local lights, or fog on the camera. Keywords: DirectionalLight, PointLight, SpotLight, CascadeShadowConfig, DistanceFog, bevy_light.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Dev-Agentic-Skills8882026年10月17日 更新

Bevy ECS skill for PBR materials. Keywords: Bevy, StandardMaterial, PBR, material, ExtendedMaterial.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Dev-Agentic-Skills8882026年10月17日 更新

Bevy ECS skill for 3D level assembly. Keywords: Bevy, level, scene, mesh, world, ECS.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Dev-Agentic-Skills8882026年10月17日 更新

Bevy ECS skill for abilities. Keywords: Bevy, ability, cooldown, ECS, gameplay.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Dev-Agentic-Skills8882026年10月17日 更新

Rewrite Bevy 2D actors and cameras into 3D meshes and Camera3d while keeping gameplay components. Use when a Bevy 2D game should gain a perspective camera, mesh draw, and a planar velocity lifted onto XZ. Keywords: Camera2d, Camera3d, Sprite, Mesh3d, StandardMaterial, WishVelocity.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Dev-Agentic-Skills8882026年10月17日 更新

查看 thedivergentai 的全部技能

报告此技能的问题