Hybrid game plugin system design
Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt3.5_8/hybrid-game-plugin-system-design
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
npx -y skills add ECNU-ICALK/AutoSkill --skill hybrid-game-plugin-system-designAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
2.3 KB, as published. Nobody here has run it
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
- Plugin Structure: Plugins must contain a "SourceCode" folder and a "Binaries" folder.
- Editor Execution: When the designer runs GameEditor.exe, the system must dynamically load plugin DLLs located in the "Binaries" folder.
- 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.
- Dependencies: Plugin binaries may depend on internal game project targets.
- 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