游戏循环 (Game Loop)

游戏的核心是主循环:处理输入 → 更新状态 → 渲染画面。Frame Rate 不稳定时先看循环里哪一步耗时最长。

详细了解 →

增量开发 (Prototype First)

最快验证玩法的方式是做一个可玩原型。用方块确认核心机制是否有趣,48小时内见分晓。

详细了解 →

有限状态机 (FSM)

用状态机管理角色行为(Idle→Run→Attack→Death)。状态清晰、易于调试——比嵌套if-else强100倍。

详细了解 →

对象池 (Object Pool)

频繁创建/销毁GameObject会造成GC卡顿。对象池预分配并回收对象,移动端优化的基本功。子弹、粒子、敌人——池化它们。

详细了解 →

组件模式 (Component Pattern)

Unity/Godot的灵魂设计:不是「角色继承树」而是「角色=一堆组件」。移动+渲染+碰撞各自独立,组合出千变万化的行为。

详细了解 →

观察者模式 (Observer)

事件驱动架构:成就系统「订阅」杀敌事件、音效系统「订阅」跳跃事件。各模块解耦,加新功能不改旧代码。

详细了解 →

命令模式 (Command)

将操作封装为对象。RTS的单位指令序列、格斗游戏的按键缓冲、回放和撤销都基于此。一个command队列记录一切。

详细了解 →

美术先行or玩法先行?

玩法先行——用方块验证趣味性。确认好玩了再投入美术资源。90%的独立游戏死在「做了很多漂亮素材但游戏不好玩」。

详细了解 →

核心循环 (Core Loop)

玩家在30秒内重复的操作闭环:打怪→得金币→买装备→打更强的怪。优秀的核心循环让人停不下来——先设计好它。

详细了解 →

最小可行产品 (MVP)

只实现验证核心玩法所需的最少功能。第一个可玩版本应该只有1个关卡、1种敌人、1种武器——能跑通就行。

详细了解 →

果汁效应 (Juice)

屏幕震动+粒子特效+音效反馈+缓动曲线=让简单的操作「有感觉」。同一个移动方块——加了加速度和拖尾就变成了爽快的冲刺。

详细了解 →

风险清单 (Risk List)

项目开始时列出所有「不确定能不能做出来」的部分,优先攻克。先解决技术风险最高的模块——而不是先做菜单页面。

详细了解 →

Git是安全网

用Git管理项目,即使只有一个人。分支开发让你大胆尝试新功能而不怕弄坏主线。每次都写有意义的commit message。

详细了解 →

C#/GDScript的陷阱

避免在Update()里使用Find()和GetComponent()——缓存引用到Awake()。Godot中用@onready替代运行时查找。

详细了解 →

序列化与存档

存档系统不要直接序列化GameObject——创建SaveData类(纯数据),游戏对象从SaveData重建状态。记得给存档加版本号。

详细了解 →

性能分析三件套

Unity Profiler、Godot Debugger、RenderDoc——卡顿时先用它们定位瓶颈再优化。DrawCall太多?合批。GC频繁?对象池。

详细了解 →

字符串表做本地化

从第一天就用字符串表管理文本——CSV或gettext格式。后期翻译只需替换字符串文件,不用翻遍代码找硬编码的中文。

详细了解 →

调色板的秘密

优秀的像素游戏只用16-32种颜色也能惊艳。Lospec.com有数百套经典游戏调色板。先选定调色板再画素材——全局色彩会自然统一。

详细了解 →

精灵图集 (Sprite Atlas)

把大量小图拼成一张大图——渲染时一次DrawCall画完。Unity和Godot都内置了自动打包。省DrawCall、省内存、加载还快。

详细了解 →

九宫格缩放 (9-Slice)

UI素材拉伸不变形的秘诀:把图片切成9块,四角保持原样,边缘拉伸,中间填充。做血条、对话框、按钮背景的标配。

详细了解 →

像素艺术入门

从16×16或32×32开始,用Aseprite或LibreSprite。先画轮廓→填色→加暗部→加高光→加抗锯齿。不懂透视也能画出可爱的角色。

详细了解 →

2D光照技巧

不用2D Light也能做光照——在角色脚下放个半透明椭圆阴影、场景上加一层深色叠加图+挖空区域=低成本但效果好的伪光照。

详细了解 →

3D模型从哪里来

Blender免费建模→Mixamo自动绑骨+动作→导入引擎。Solo开发者的3D资产工作流。加后处理(Bloom+Color Grading)立刻提升质感。

详细了解 →

音效分层思维

UI反馈音(清脆短促)→ 角色动作音(有力感)→ 环境氛围音(沉浸)。三层各司其职,混音时分别调音量——别让背景音乐压过游戏音效。

详细了解 →

SFXR做8-bit音效

Bfxr/sfxr——拖动几个滑块就能生成射击、跳跃、拾取音效。无需任何音频知识,Ludum Dare传奇工具。Chiptone是它的网页版。

详细了解 →

免费配乐从哪找

Incompetech(Kevin MacLeod的CC BY配乐库)、Pixabay Music(CC0免署名)、OpenGameArt Audio(开源许可)。标注来源即可商用。

详细了解 →

自适应音乐

根据游戏状态切换音乐层次——探索时只有低音+环境音→进入战斗加入鼓和旋律。简单实现用Audio Mixer淡入淡出即可。

详细了解 →

关卡设计第一课

先教玩家走路,再教跳跃,最后才需要走路+跳跃。每个新机制引入后给玩家安全环境练习,再加挑战。马里奥1-1是教科书。

详细了解 →

难度曲线不是直线

好游戏是「紧张→释放→紧张→释放」的波状曲线。打完Boss后给探索/剧情/休息段——一直高强度玩家会累,一直轻松玩家会无聊。

详细了解 →

叙事与环境叙事

不用大段文字讲故事——场景中的血迹、墙上的涂鸦、桌上的日记都能「被发现的叙事」。Dark Souls和Inside是环境叙事的大师。

详细了解 →

分支叙事工具选择

Ink(接近自然语言)、Yarn Spinner(类似写剧本)、Twine(零代码入门)。小项目推荐Yarn,大项目Ink——都用过再选。

详细了解 →

Steam愿望单是生命线

Steam算法靠愿望单推动曝光。商店页面上线第一天就开始收集愿望单,越早越好。发布前攒够7000愿望单才有机会上「热门即将推出」。

详细了解 →

独立游戏定价策略

Steam上$9.99-$14.99是独立游戏的甜蜜区间。太低(<=$5)暗示廉价品质,太高(>=$20)在没口碑前难转化。发布折扣15-20%即可。

详细了解 →

营销从第一天开始

不要等到游戏做完才开始推广。从原型阶段就发DevLog、GIF截图到社区。#gamedev #indiedev #screenshotsaturday标签走起。

详细了解 →

本地化回报率高

Steam上支持中文的游戏比仅英文的平均多30%销量。用Crowdin管理翻译协作,DeepL做初译——专业审校对语境把握更好。

详细了解 →

Jam前夜准备

提前搭好项目模板:引擎版本、基础场景、输入管理、UI框架。Jam开始后不用浪费前2小时搞配置——直接从创意开始。

详细了解 →

Jam中的范围控制

Jam最大的敌人是「再加一个功能」。先做核心玩法可玩→再加音效→再加菜单→最后才考虑额外关卡。宁可做好一个机制,不要做十个半成品。

详细了解 →

范围蠕变 (Scope Creep)

游戏开发的最大杀手。你的目标不是做一个「完美」的游戏,而是「完成」一个游戏。砍掉80%的点子,把剩下20%做到极致。

详细了解 →

完美主义是敌人

发布一个80分的游戏 > 永远在做99分的游戏。先Ship再Iterate——第一款游戏卖100份就很成功,目标是学到经验而不是一鸣惊人。

详细了解 →

游戏开发者的健康

久坐是慢性病温床。每45分钟起来走动5分钟,每天运动30分钟。背痛和腕管综合征会让你的项目停摆——提前预防。

详细了解 →

Jam后复盘

Jam结束后花1小时复盘:什么做对了?什么卡住了?下次怎么做?连续3次Jam+复盘,进步速度远超看书看教程。

详细了解 →

Ludum Dare评级攻略

LD评分维度:创新、乐趣、主题契合、画面、音频。画面和音频最后突击提升——好看的GIF截图吸引更多人来玩。创新和乐趣才是高分关键。

详细了解 →

Steam新品节

Steam Next Fest是最重要的免费曝光机会。活动期间平均增长2000-5000愿望单。提前准备好试玩Demo和直播计划,抓住每年三次的窗口期。

详细了解 →

游戏众筹策略

Kickstarter不是提款机——需要提前3-6个月积累社区和邮件列表。成功的游戏众筹=30%已有粉丝+40%平台流量+30%活动期间新增。先建社区再众筹。

详细了解 →