美文网首页
《消亡的海》游戏开发日志 01

《消亡的海》游戏开发日志 01

作者: 杰克有茶 | 来源:发表于2019-11-29 19:58 被阅读0次

写在前面

我是一名初学的游戏开发者,写日志有三理由:

1、分享过程,希望能帮到其他开发者

2、暴露问题,让大佬指出我的问题所在

3、希望受到监督

游戏简要构思

《消亡的海》(暂命名)是一款RPG游戏,我心目中对游戏的各项元素排名:剧情 > 战斗(核心玩法) > 商业 > 技术架构,因此我会以一个自己原创短篇小说作为剧情支撑。游戏整体玩法大致是传统日式RPG,但战斗模式不想做成回合制。所以我会先做出一个无战斗的游戏,再在后期加入战斗(因此战斗发生的模式会像轩辕剑、八方旅人那样的遭遇式)。

技术架构

开发平台选择Unity,核心语言就是C#了。

由于游戏本身不大,所以用单场景+多单例模式,组件构造大致如下:

主要的单例有:

①ControlManager.cs,玩家的操作行为写在这里;

②UIManager.cs,控制切换场景(由于我是单场景,这里切换场景指的是切换Panel)UI组件变换、生成预置体等;

③GameCore.cs,不继承Mono,游戏所有数据都在这个单例中;

④PrefabCollection.cs,以及其他的Collection单例,收集Unity的绑定组件,方便找到调用的地方。

为了后期便于管理,我把类分为两大类:

1、Unity类,我称为UI类,即继承Mono的类,例如PrefabCollection.cs、AnimationManager、HUDWindowCollection.cs(场景组件),统一由UIManager.cs进行管理;

2、原生类,我称为数据类,即不继续Mono的类,例如Dialog.cs、City.cs,统一由GameCore.cs(GameCore也是原生类)进行管理。

实现UI类和数据类分离(MVC模式吧),统一由ControlManager.cs来控制GameCore和UIManager。

实例化

我打算不考虑玩家内存大小,因为游戏本身不大,所以在每次实例化类时,都会先Copy一份实例,这样做起来比较方便玩家进行不同存档。例如:

对话类(class Dialog) 将所有实例化的对象加入List,从而在GameCore直接调用 深复制对象

关于深复制(之前踩过的坑)

如下图,我原本以为nums1.a应该是5,但实际上它变成了8,因为nums2和nums1指向的是同一个内存地址。所以如果要复制一个独立的新对象,一定要深复制。

尾:先写这些吧,最近要先写小说,写小说也是开发的一部分。

相关文章

  • 《消亡的海》游戏开发日志 01

    写在前面 我是一名初学的游戏开发者,写日志有三理由: 1、分享过程,希望能帮到其他开发者 2、暴露问题,让大佬指出...

  • 游戏开发日志01

    03/16/2017 此日志用于记录个人开发进度,随时更新新的想法方便以后查看,早上或者晚上都有可能更新进度。(划...

  • 《代号-奥罗拉岛》 开发日志 01 技术选型和基于组件开发的游戏

    《代号-奥罗拉岛》 开发日志 01 技术选型和基于组件开发的游戏框架搭建 项目简介 《奥罗拉岛》是我今年开始尝试制...

  • 游戏开发日志

    If you like, please give me a star. Thank you! 如果你喜欢,请点一下...

  • 海与泡沫

    泡沫会消亡 海不会 不会吗 其实也会 泡沫消亡归于海 海水消亡化为泡沫 涛声淹没了泡沫破碎的声音 万千泡沫的破碎汇...

  • 游戏开发日志1

    这两天迷上了橙光文字游戏制作工具,挺好玩的。 摸索了两天以后勉强上手了,于是决定用这个来开发一个游戏。 故事从18...

  • 游戏开发日志2

    这两天学习了如何设定数值和条件分歧,大致来讲,就是可以通过某些数值的变化来触发剧情。 做了一个半成品,模拟宏观层面...

  • 游戏开发日志3

    研究了一下,可以通过分歧条件做到地点转换,还可以设置数值条件来做到模拟地理边缘。 我有必要写一个故事大纲,然后按着...

  • 游戏开发日志02

    03/18/2017 -- 更新了一张简陋的地图 -- 重写了角色朝向的代码,现在能稳定的指向鼠标的方向了 --...

  • 游戏开发日志03

    03/21/2017 -- 增加了npc的击退效果 -- 重构装备控制器,对武器tag进行了整理分类,加入了Bow...

网友评论

      本文标题:《消亡的海》游戏开发日志 01

      本文链接:https://www.haomeiwen.com/subject/bhogwctx.html