「Super Mario」基于EGE实现的超级马里奥

作者: 图小贝

B站链接: https://www.bilibili.com/video/BV1ba411z7tv

项目地址:

Gitee: https://gitee.com/tuxiaobei/mario(有发行版)

Github:https://github.com/juruoyyx/mario

Summary

这个视频其实就是我们游戏项目报告的一部分,就顺便传到B站水个视频了~

这真的是我第一次从 0 开始构建一个这么大的项目,也是第一次接触C++中的面向对象编程

本次项目最难的点就是程序整体项目的构建,之前我从来没接触过面向对象编程,而且编程出这么大的项目。前期构建是非常重要的,如果前期基础没有构建好,那么后面就会非常难写代码。最开始的几周我几乎所有时间都在设计角色接口,调试物理引擎。造型的处理也是非常复杂的,一个角色在不同状态下有不同的造型,而且造型有时还需要定时切换。角色类型众多,角色之间的交互就成了大问题,不同角色,在各自不同状态下,在不同的碰撞角度下,结果都有可能不同,之间的可能性真的太多太多了,此时既要有整体思想,又要有特殊判定。物理引擎的实现也是一个大问题,在处理如此多复杂角色的交互上,物理引擎就是基础,必须以一个统一的解决方案应对复杂多变的情况。接下来就是动画细节了,游戏中真的有很多动画细节,比如状态改变动画,问号砖动画,分数显示动画,摸旗动画,击杀动画等等,这些动画看着简单,但是放在复杂的关卡环节中并不容易实现。程序总体的流程控制也是一个难点,要让所有角色知道现在是处于什么状态,听从统一的指挥。最后就是版本控制了,此项目用了 Git 进行版本控制,能很好地展示项目的发展情况,略有遗憾的是因为是我一个人开发项目没有用到 Git 的多人协作。

其实还有好多功能因为时间原因没有实现,
首先就是关卡编辑器,希望能实现可视化编辑关卡
希望能实现更多的角色,更多的游戏风格
实现里世界和表世界,管道的传送
终极目标就是实现多人联机(几乎不可能,但梦想还是要有的

希望大家喜欢~

文章分类 技术分享 标签: ,