首页/游戏开发/game-developer
G

game-developer

by @jeffallanv
4.3(35)

负责游戏系统开发,熟练运用Unity/Unreal等引擎,实现游戏功能与逻辑,构建沉浸式游戏体验。

game-developmentunityunreal-enginec#c++game-designGitHub
安装方式
npx skills add jeffallan/claude-skills --skill game-developer
compare_arrows

Before / After 效果对比

1
使用前

游戏开发中,构建系统和实现引擎功能复杂,耗时漫长。这导致开发周期长,项目成本高,难以快速将创意转化为可玩产品。

使用后

借助专业技能,高效构建游戏系统,快速实现Unity/Unreal Engine功能。显著缩短开发周期,降低成本,加速创意落地,提升游戏品质。

SKILL.md

Game Developer

Core Workflow

  1. Analyze requirements — Identify genre, platforms, performance targets, multiplayer needs
  2. Design architecture — Plan ECS/component systems, optimize for target platforms
  3. Implement — Build core mechanics, graphics, physics, AI, networking
  4. Optimize — Profile and optimize for 60+ FPS, minimize memory/battery usage
    • Validation checkpoint: Run Unity Profiler or Unreal Insights; verify frame time ≤16 ms (60 FPS) before proceeding. Identify and resolve CPU/GPU bottlenecks iteratively.
  5. Test — Cross-platform testing, performance validation, multiplayer stress tests
    • Validation checkpoint: Confirm stable frame rate under stress load; run multiplayer latency/desync tests before shipping.

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Unity Developmentreferences/unity-patterns.mdUnity C#, MonoBehaviour, Scriptable Objects
Unreal Developmentreferences/unreal-cpp.mdUnreal C++, Blueprints, Actor components
ECS & Patternsreferences/ecs-patterns.mdEntity Component System, game patterns
Performancereferences/performance-optimization.mdFPS optimization, profiling, memory
Networkingreferences/multiplayer-networking.mdMultiplayer, client-server, lag compensation

Constraints

MUST DO

  • Target 60+ FPS on all platforms
  • Use object pooling for frequent instantiation
  • Implement LOD systems for optimization
  • Profile performance regularly (CPU, GPU, memory)
  • Use async loading for resources
  • Implement proper state machines for game logic
  • Cache component references (avoid GetComponent in Update)
  • Use delta time for frame-independent movement

MUST NOT DO

  • Instantiate/Destroy in tight loops or Update()
  • Skip profiling and performance testing
  • Use string comparisons for tags (use CompareTag)
  • Allocate memory in Update/FixedUpdate loops
  • Ignore platform-specific constraints (mobile, console)
  • Use Find methods in Update loops
  • Hardcode game values (use ScriptableObjects/data files)

Output Templates

When implementing game features, provide:

  1. Core system implementation (ECS component, MonoBehaviour, or Actor)
  2. Associated data structures (ScriptableObjects, structs, configs)
  3. Performance considerations and optimizations
  4. Brief explanation of architecture decisions

Key Code Patterns

Object Pooling (Unity C#)

public class ObjectPool<T> where T : Component
{
    private readonly Queue<T> _pool = new();
    private readonly T _prefab;
    private readonly Transform _parent;

    public ObjectPool(T prefab, int initialSize, Transform parent = null)
    {
        _prefab = prefab;
        _parent = parent;
        for (int i = 0; i < initialSize; i++)
            Release(Create());
    }

    public T Get()
    {
        T obj = _pool.Count > 0 ? _pool.Dequeue() : Create();
        obj.gameObject.SetActive(true);
        return obj;
    }

    public void Release(T obj)
    {
        obj.gameObject.SetActive(false);
        _pool.Enqueue(obj);
    }

    private T Create() => Object.Instantiate(_prefab, _parent);
}

Component Caching (Unity C#)

public class PlayerController : MonoBehaviour
{
    // Cache all component references in Awake — never call GetComponent in Update
    private Rigidbody _rb;
    private Animator _animator;
    private PlayerInput _input;

    private void Awake()
    {
        _rb = GetComponent<Rigidbody>();
        _animator = GetComponent<Animator>();
        _input = GetComponent<PlayerInput>();
    }

    private void FixedUpdate()
    {
        // Use cached references; use deltaTime for frame-independence
        Vector3 move = _input.MoveDirection * (speed * Time.fixedDeltaTime);
        _rb.MovePosition(_rb.position + move);
    }
}

State Machine (Unity C#)

public abstract class State
{
    public abstract void Enter();
    public abstract void Tick(float deltaTime);
    public abstract void Exit();
}

public class StateMachine
{
    private State _current;

    public void TransitionTo(State next)
    {
        _current?.Exit();
        _current = next;
        _current.Enter();
    }

    public void Tick(float deltaTime) => _current?.Tick(deltaTime);
}

// Usage example
public class IdleState : State
{
    private readonly Animator _animator;
    public IdleState(Animator animator) => _animator = animator;
    public override void Enter() => _animator.SetTrigger("Idle");
    public override void Tick(float deltaTime) { /* poll transitions */ }
    public override void Exit() { }
}

用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价

统计数据

安装量2.4K
评分4.3 / 5.0
版本
更新日期2026年5月21日
对比案例1 组

用户评分

4.3(35)
5
14%
4
46%
3
34%
2
6%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

时间线

创建2026年3月16日
最后更新2026年5月21日