文凭的游戏开发和辩护或“我是如何用一块石头先烤煎饼杀死两只鸟的”

毕业设计


通常将游戏和高等教育的创建称为不兼容的事物,通常是非常正确的。 许多知名的独立开发商都退出了大学。 我将谈论相反的经历。 关于他相当不寻常的项目,以及他如何设法将商业与娱乐结合在一起。

我曾在RSUH学习应用计算机科学,与此同时也从事我的业余爱好。 因此,当需要选择最终排位赛作品的主题时,我想到:“为什么要为她的选择感到困惑,而当已经有一个实际上已经完成的项目时写一些左撇子程序:我的第一个益智游戏。”

它是由科学过程来描述开发过程,并向副教授和教授传达游戏的非常抽象的想法。 并非没有提交:我进行了演示,视频评论,展示了一个原型,并向主管报告说我还活着并从事着业务。 但是,我们必须对他们表示应有的敬意,并感谢他们支持非标准倡议。

结果,在开发过程中获得的材料足以完全凭我的头脑和经验写出独特的文凭(diploma窃率为0%)。

最初,我的主题是“根据几何原理开发逻辑视频游戏。” 后来(按照ISO / IEC标准),“开发”一词被“设计”代替,这与工作内容更加一致。

关于游戏


我的游戏是Android上无与伦比的组合益智游戏。



游戏目的:变换一个数字,使其与第二个数字完全相同。

游戏具有三种模式。
在“转换模式”中,通过单击按钮来更改表格。



在“旋转模式”中,将模拟三维旋转。



精致的“运动模式”结合了前两个功能,旨在播放唱片。



还有一个交互式的图形集合,可随着您的进度进行补充。

背景知识


我长期致力于从多个多维数据集构建人物,这促进了游戏概念的发展。 从笔记本边缘的草图中,我得出了更复杂的形式。 最近的徒手画,这些分形:



重叠面孔的图像技巧和受过训练的空间思维有助于创建由三角形组成的新图形。 这就是用CorelDRAW(尚未在等轴测视图中)和Blender中的3D模型之一绘制的早期概念艺术的样子:



后来,我放弃了3D图形,转而使用Anime Studio Pro中的矢量动画。 基于形状的层次结构以及它们之间的过渡动​​画,决定做出一个难题。

逻辑学


游戏的逻辑与几种有趣的几何形状相关。 因此,三角形的轨迹平行于假想的星形八面体的边缘,并沿着穿过其中心和边缘相交的直线延伸。



第一游戏模式的逻辑图(变换)是超立方体。 首先,将配置互连为2立方体(正方形)的顶点。 每过一次,就会增加一个新的数字空间。 在下一个起点,逻辑已经是3D多维数据集,然后是tesseract,最后是具有tesseract截面的pentect。



旋转模式具有其自己的逻辑,这使得每个图形只有几个旋转动画可提供四个方向和三个展开角度的旋转可见性。



实作


因此,我将告诉您一个有关如何实现游戏设计软件的秘密。 可以这样表述:复杂的系统是一个简单的实现。

一个简单的实现意味着要使用Construct 2 2D游戏来设计设计师,就我而言,使用它具有一些缺点,但是却节省了时间,并且更加专注于创造力。

我将上述“超级逻辑”描述为完整的二叉树的森林,并使用嵌套事件在构造函数中对其进行了线性实现。 为了避免动作之间的冲突,他引入了阻塞变量。

最佳化


考虑到游戏中存在大量动画(大约500个),优化问题就出现了。 我不会在构造2中对“代码”进行特定的改进,但我会说一下图形组件的更一般的优化。 为了最大程度地减少系统资源的消耗,我们需要:

  • 子画面的组成(由于对称,可以将图形切成碎片,并根据镶嵌类型将子画面副本的副本放在一起);
  • 裁剪图像的空白边缘(这对于大量图像很重要);
  • 反向动画(与其以帧的相反顺序创建单独的动画,不如反转现有的动画更好);
  • 将帧速率降低到12 fps,并降低动画中间帧的分辨率;
  • 使用8位颜色(由于游戏调色板的特性,这种颜色深度是完全不可见的)。

图片素材:tesseract,pentect,星状立方八面体取自维基百科。

Source: https://habr.com/ru/post/zh-CN435542/


All Articles