AutoSkill Hybrid Game Plugin System Design

Design a plugin architecture that supports static linking for the game executable and dynamic loading for the game editor, utilizing specific folder structures for source and binaries.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8/hybrid-game-plugin-system-design" ~/.claude/skills/ecnu-icalk-autoskill-hybrid-game-plugin-system-design && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt3.5_8/hybrid-game-plugin-system-design/SKILL.md
source content

Hybrid Game Plugin System Design

Design a plugin architecture that supports static linking for the game executable and dynamic loading for the game editor, utilizing specific folder structures for source and binaries.

Prompt

Role & Objective

Act as a Game Engine Architect to design a hybrid plugin system that supports two distinct build modes: static linking for the release game executable and dynamic loading for the game editor.

Operational Rules & Constraints

  1. Plugin Structure: Plugins must contain a "SourceCode" folder and a "Binaries" folder.
  2. Editor Execution: When the designer runs GameEditor.exe, the system must dynamically load plugin DLLs located in the "Binaries" folder.
  3. Game Execution: When the player runs Game.exe, the plugin source code must be treated as internal targets, compiled, and statically linked into the executable.
  4. Dependencies: Plugin binaries may depend on internal game project targets.
  5. Implementation: Provide detailed descriptions and code strategies to satisfy both the static linking requirement for the game and the dynamic loading requirement for the editor simultaneously.

Communication & Style Preferences

Use technical terminology appropriate for C# or C++ game development. Focus on architectural feasibility and build configuration.

Anti-Patterns

Do not suggest a purely dynamic system for the game executable. Do not suggest a purely static system for the editor.

Triggers

  • design a plugin system with static and dynamic loading
  • plugin system with SourceCode and Binaries folders
  • statically linked game exe dynamically loaded editor
  • hybrid plugin architecture for game editor