自制小游戏开发日记(一)

2026-06-18 · 游戏

← 返回 游戏 · ← 返回首页

一直以来都有一个想法:做个自己的小游戏。虽然玩过的游戏很多,但真正动手去开发是另一回事。上个月我终于下定决心开始行动了。选择的引擎是 Unity,主要考虑是它的社区生态比较成熟、网上教程多、中文资料也丰富,遇到问题容易找到解决方案。做的第一个项目是一个简单的 2D 平台跳跃游戏,目标定得很低——先让角色能动起来、能跳、能踩死敌人就行。

第一周的进度比我预期的要慢。光是搞清楚 Unity 编辑器的界面布局和基本操作就花了大半天。Scene 窗口、Game 窗口、Hierarchy、Inspector、Project 面板……刚打开的时候信息量确实很大。跟着官方教程做完 Roll-a-Ball 之后才算大致理解了各个面板的作用。然后就开始着手做自己的平台跳跃项目。

实现角色移动和跳跃算是第一个有成就感的小里程碑。Unity 的 Input System 比我想象的要好理解,用 GetAxis 获取水平输入,用 AddForce 或者直接修改 velocity 来实现移动。跳跃用了一个简单的状态机逻辑——在地面上才能跳,跳起来之后不能二段跳。这个逻辑看起来简单,但写代码的时候还是踩了几个坑:最开始把跳跃检测写在了 Update 里而不是 FixedUpdate 里,导致在不同帧率下角色的跳跃高度不一样。这个问题在社区论坛里搜到之后才理解,物理相关的操作都要放在 FixedUpdate 里执行。

然后是摄像机跟随。第一版的方案是直接把摄像机作为角色的子物体,这样它就会同步移动。但做出来之后发现画面看起来很僵硬,没有任何缓冲,角色的每个微小的抖动都会直接反映到画面上。后来改成用 LateUpdate 里做平滑插值——每一帧摄像机的位置用 Vector3.Lerp 向角色的位置平滑跟进。加了一个 offset 之后,画面看起来就舒服多了,有种流畅的「追赶」感。

第一周最终的状态是:一个可以左右移动的小方块角色,按空格能跳,摄像机会平滑跟随,场景里放了几个平台可以跳上去,还加了一个静态的「敌人」方块(碰到会扣血)。虽然看起来还非常简陋,但对于零基础的第一周来说,我觉得完全可以接受。接下来第二周计划实现的内容是:敌人 AI 巡逻、收集道具、以及关卡重置机制。到时候再写开发日记更新进度。如果有也在自学游戏开发的朋友,欢迎交流踩坑经验。