- 面向人群:
- 有一定的JavaScript基础
- 难度:
- 难
重要说明
百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计。我们尽力保证课程内容的质量以及学习难度的合理性,但即使如此,真正决定课程效果的,还是你的每一次思考和实践。
课程多数题目的解决方案都不是唯一的,这和我们在实际工作中的情况也是一致的。因此,我们的要求不仅仅是实现设计稿的效果,更是要多去思考不同的解决方案,评估不同方案的优劣,然后使用在该场景下最优雅的方式去实现。那些最终没有被我们采纳的方案,同样也可以帮助我们学到很多知识。所以,我们列出的参考资料未必是实现需求所必须的。有的时候,实现题目的要求很简单,甚至参考资料里就有,但是背后的思考和亲手去实践却是任务最关键的一部分。在学习这些资料时,要多思考,多提问,多质疑。相信通过和小伙伴们的交流,能让你的学习事半功倍。
任务描述
- 基于第三阶段「王牌特工」任务,让你的特工潜入一个庞大的地下迷宫执行任务!(Roguelike Game)
-
首先,我们需要建造一个迷宫:
- 迷宫由许许多多的房间构成
- 房间被走廊连接起来:迷宫中的任意一点,都有一条道路通往另外一点
- 「不完美」迷宫:两点之间可能会有多条通路(可选)
-
迷宫生成效果可参考以下图例:
-
然后,将第三阶段「王牌特工」的核心玩法融入到这个迷宫内:
- 特工在迷宫中寻找过关目标,抵达后通往下一个迷宫
- 特工与守卫可以互相击杀:开发时可自行选择守卫 AI 方式,基于任务 47 或任务 49 皆可
- 房间内有随机生成的墙,但不会把通往其它房间的走廊堵死
- 游戏摄像机跟随特工移动,屏幕可见范围是迷宫的一个局部
- 界面上设置小地图,方便玩家了解特工当前所处位置及附近守卫动向(可选)
- 战争迷雾效果(Fog of War):未探索区域不可见、特工可视范围以外的区域不可见、未打开门的房间不可见(可选)
-
最后,发挥想象,为游戏扩展更多有趣的元素!
-
以下为类似玩法的游戏截图,供参考:
任务注意事项
- 请注意代码风格的整齐、优雅
- 代码中含有必要的注释
- 在 PC 端和移动端上良好的适应性和流畅度
- 保证游戏关卡可通
- 较高的迷宫生成效率
- 可以合理使用第三方框架、类库
任务协作建议
- 团队内进行头脑风暴,共同讨论和设计游戏新要素
- 如果是各自工作,可以按以下方式:
- 团队集中讨论,明确题目要求,保证队伍各自对题目要求认知一致
- 各自完成任务实践
- 交叉互相Review其他人的代码,建议每个人至少看一个同组队友的代码
- 相互讨论,最后合成一份组内最佳代码进行提交
- 如果是分工工作,可以按照以下模块来分配任务
- 迷宫生成
- 核心玩法移植
- 房间内元素安排
- 小地图、战争迷雾等额外要素
- 图形样式
参考资料
- 房间和迷宫:一个地牢生成算法 中文 英文
- Dungeon-Building Algorithm 中文 英文
- 游戏项目: Random Dungeon Generation
- 游戏项目: Tiny Stealth