游戏截图

截图1

截图2

截图3

游戏主界面

游玩截图

游戏介绍

玩家控制飞船飞向终点,途中会受不同星球的引力影响,玩家需要合理利用飞船燃料避免撞到星球飞到终点。

大一下学期学校游戏创作课程第二周我制作的游戏,用了6天课余时间制作完成。

基本信息

平台:PC

类型:3D跑酷

主题:流浪地球

我们组抽到的图片

玩法简介

通过鼠标移动视角,按W飞船将向视角正前方自动摆正船身,按shift飞船可喷射燃料进行加速。燃料箱的燃料在未喷射燃料时会逐渐恢复,当燃料耗尽时需等待燃料箱恢复所有燃料时才可再次喷射燃料。星球越大引力越大,距星球越近引力越大。屏幕下方的两个UI显示的分别是飞船当前速度方向与当前引力方向。

分工

组内一共有四位同学:我、赵宇涵、九叶、若浪,分工如下:

  • 我:玩法程序、飞船贴图以及材质、技术美术;
  • 赵宇涵:策划、地图设计、飞船模型;
  • 九叶:策划、音乐、音效;
  • 若浪:主界面背景图、按钮设计以及绘制;

技术路线

此游戏使用纯蓝图制作。

整体的飞船操作逻辑比较简单,这里不做赘述。

飞船蓝图

众所都周知,引力的表达式是下面这个公式:

引力公式

按照小学二年级的方法稍微简化一下就成了下面这样:

引力正比于距离的三次方与半径平方的比值

可以看出,在不计密度差别的情况下,星球的引力只与星球的半径和离星球中心的距离油管(当然是得把星球看做质点)。所以在集散星球引力的逻辑中,星球Actor只有一个公开性质,就是半径(Radius)。飞船每帧遍历所有星球,分别获得自己与星球的距离和星球的半径,并计算出引力大小向量,将表示引力大小的向量相加,就是最终的引力。

因为是在太空,缺少参照物,所以为了给玩家了解自己当前的运动情况和受引力情况,所以在我添加了显示玩家运动方向和引力方向的UI箭头指示。

拿指示引力方向的箭头为例,传入引力方向和引力大小,并进行一系列运算之后施加在箭头的缩放和角度上。

引力方向指示箭头

其他的就是通过碰撞胶囊体防止玩家飞的过远,在离星球很近的时候有视觉效果提示,都是比较简单的细节了。

美术设计

飞船模型为组员自己使用3DMax制作,外形借鉴的是星球大战中的飞船。然后我使用Maya进行模型整理、分UV等工作之后导入引擎。

飞船模型

更新日志

Beta 0.1——最初版

Beta 0.2

  • 增加太空垃圾

  • 更新更清晰的宇宙贴图

  • 添加死亡、获胜简单的程序过场动画

Beta 0.3

  • 增加测试人员设置,测试人员可以直接更改游戏数据,方便测试

  • 修复未死亡直接重生会直接死的bug

Beta 0.4

  • 为警告标识添加闪烁动画

  • 修复死亡或者胜利之后警告标识还在的小bug

  • 修了无数个其他的小bug

  • 添加多关卡机制

  • 添加主界面选关卡机制

  • 添加一部分音效和音乐

  • 添加一些私货

Beta 0.5

  • de掉了上万个bug

  • 添加7个关卡

  • 添加About界面

  • 新增宇宙贴图

  • 更新主界面美术资源

  • 星球设置为固定,可以预先烘焙AO贴图,节省性能

Beta 0.6

  • 解决了上亿个bug,包括版本号写错导致报一堆错吓死个人…

  • 迭代各种窗口的美术资源

  • 星球变得五颜六色

  • 优化选关卡界面

Beta 0.7

  • 没解决啥bug,因为懒得解决了

  • 添加教程加载界面

  • 添加一关奖励关卡

其他

部分音乐以及音效为爱给网下载

飞船喷气粒子效果为虚幻商城免费官方资源

其余资源均为组员自己制作

不足

计算引力的时候不应该遍历所有星球,现在星球少还好,星球多了后就会出现卡顿。应该给每个星球加大小合适的碰撞盒,只有进入了碰撞盒后才进行引力计算。

游戏链接

链接:https://pan.baidu.com/s/1nWhqRz0WZOK2CBGTFChZ2Q
提取码:y9ke