Skip to main content
  1. Posts/

翻到 2017 年的简历,我才想起自己还做过一个游戏

·1145 words·3 mins
Table of Contents
Note: This article is available in Chinese only. 本文暂无英文版本。 View original

很多项目随着工作年限增加,会自然从简历里消失,这很正常。但从简历里消失,不代表这些事情没有发生过。

最近翻到了自己 2017 年的简历,用 LaTeX 写的。看到这一段:

塔防类游戏《像素战争》(类似《部落冲突》) 小组合作;使用 Unity 3D 以及 PlayMaker,主要负责 AI 算法和游戏逻辑的编写。

《像素战争》。看到这几个字,我才发现自己已经快忘记当时到底做了什么。要不是这份简历还在,我大概不会想起自己做过这么一个东西。

于是想趁还记得一些,把能想起来的写下来。

这是个什么项目
#

2017 年的大三暑假,学校组织了一次工程实训,我们小组合作做了这个叫《像素战争》的游戏。

玩法大致类似《部落冲突》:玩家把角色放到地图上,之后就不直接控制它们了,角色会自己行动、找目标、战斗。

用到的技术,能确定的有 Unity、C# 和 PlayMaker。PlayMaker 是 Unity 上一个可视化的状态机插件,不用写代码也能搭逻辑。当时应该有一部分逻辑是用它搭的,具体哪些用了它、哪些是自己写的 C#,记不清了。

我在小组里负责游戏 AI 和游戏逻辑。简历上写的“AI 算法”,和今天大家说的 AI 完全是两回事。2017 年说的游戏 AI,指的是游戏里角色行为的逻辑,也就是放下去的角色怎么自己动起来,跟机器学习没有关系。现在再看简历上“主要负责 AI 算法”这一行,还挺有意思的。

还记得的部分
#

游戏里应该有好几种角色。印象里近战和远程都有,具体几种、各自叫什么,想不起来了。

角色放下去之后怎么行动,具体实现我已经记不清了。按玩法推测,大致过程应该是:寻找目标,移动,进入攻击范围,攻击,目标死了再找下一个。不过这也只是合理猜测,当时的实现我没法确认,有没有做寻路也说不准。NavMesh 我没什么印象,就不猜了。

还有一个词,到现在都记得很清楚:空气墙。

空气墙在这个项目里至少有两个用途。一是限制玩家可以在哪些区域放置角色,不是哪里都能放;二是防止这些自动行动的角色跑出地图边界。角色会自己移动,没有这个限制,大概会直接走出地图。

项目里那么多逻辑都忘了,我却还记得这个词。

最后那几天
#

这个项目还有一件事,我一直记得。

当时我正准备出去实习。实训到了最后阶段,我需要提前离校,第二天就要到海翔广场旁边的酒店报到。

项目最后是做完了的。只是到了最后调试阶段,我已经不在学校,还有一部分游戏逻辑没调通,就和室友远程结对编程,一点一点把剩下的逻辑调完。

那几天,工程实训还没完全收尾,实习又已经开始,最后一部分游戏逻辑就是在这中间调完的。

收尾
#

这个项目没有留下什么。代码不知道还在不在,截图大概率也没有了。如果现在去翻硬盘,估计翻不出什么。

所以只能先写这么多。至少下次再想起《像素战争》的时候,这篇东西还在。

从简历上消失的项目不代表没有发生过。只是如果不记下来,它们可能就真的只存在于几年前的一份 LaTeX 文件里了。

Related

使用github actions来部署 github pages

·1240 words·3 mins
目前我的博客是部署在 GitHub Pages 上,源码是一个 repo,渲染出来的静态页面是一个 repo。更新的时候是把后者作为前者的 submodule。 感觉这种方式有些落后了,简直和某司内部的平台有的一比。因此尝试用 GitHub Actions 来自动化这个部署流程。

2020年终总结

·1280 words·3 mins
本来不知道写什么所以不打算写了,不过后来觉得可以把今年做的一些重大的决定写出来,把当时的分析和想法记录下来。这样若干年后再回看,就能找到:是哪些明智或愚蠢的决定对人生产生了巨大的影响。