冲锋岛吧 关注:15,487贴子:131,720

开个坑,记录Tenvi同人游戏开发

取消只看楼主收藏回复


2019年底,我开始着手制作一款Tenvi的同人游戏。
最初的动机是要自学CocosCreator,想通过一个项目边做边学。本来初步计划要做一款桌游的电子版,但翻找素材时,看到存放已久的Tenvi资源,心生感慨。恰逢冲锋岛复活群里的大佬动作频繁,就萌发了制作同人游戏的念头。
制作的过程必然面临诸多问题,其中最令人难过的是信息缺失。毕竟国服倒闭至今已有10年了,随着韩服关闭、官网注销和传统端游的没落,网络上有关Tenvi的资料越来越少。
之前一直有种错觉,互联网是个无比广阔的存在,可以穿越古今,容纳世间一切。但现在发觉,其实它跟现实世界一样,需要足够的生命力才可能有一席之地。很显然,Tenvi没有那么顽强的生命力,它就在我们可感知的速度逐渐消失。
You live only as long as the last person who remembers you.
或许几百年以后,绝大部分Tenvi有关的信息都将不在,世上也没有活人知道或关心这个游戏。到那时,Tenvi就真的死了。作为当下健在的,对Tenvi念念不忘的活人,我想自己可以做一些微小的工作,留住与Tenvi的这份念想。
接下来,我将在此持续更新这个同人游戏的制作过程,加油喵。
附网页端试玩地址: tenvix.meow42.cn/web


IP属地:四川1楼2020-06-02 16:04回复
    当前制作进度和计划
    我在做的这个Tenvi同人游戏,是利用游戏原始素材进行再创作,目的是重现一些当年游戏里吸引我的要素。所以不会去复刻网游原作,而是搞成移动端优先的横版平台动作游戏,便于随时怀旧之用。
    这是目前的开发环境:
    - 游戏引擎:Cocos Creator 2.3.0
    - 脚本语言:TypeScript
    - 素材来源:Tenvi 1.26 (国服)
    - 代码托管:coding.net (暂未开源)
    用 CocosCreator 做2D游戏,在打包发布方面相对比较便利,新做的内容可以很快分享出来。TS写脚本有利于维护,毕竟这个项目肯定要持续好几年。比较大的资源都已经上传到七牛云,后续也会把再加工过的素材合图后上传,这样能提升浏览器访问的加载速度。
    目前处于开发初期,首先要做一些基础性的工作,主要是以下内容:
    1. 原始素材加工拼合
    游戏UI素材需要根据移动端的特征进行再加工,人物动作、道具、技能、地图等素材需要摸清楚拼合的规则。
    2. 设计通用操作模块
    游戏是移动端优先,但操作模式并不仅限于触屏,我希望能够同时支持键盘、手柄,或者还未出现的操控设备。实现这点需要设计一个介于游戏逻辑和设备之前的中间模块。
    3. 制作基础工具
    至少需要制作 角色动作编辑器 和 地图编辑器 。
    这部分内容完成之前,大体是出不来具有可玩性的版本。

    在当前的最新版本 ver2020.06.01 中,完成的内容:
    1. 小人儿的素材整理与上传,其部件的拼接规则,提供试装功能
    2. 背景音乐整理与上传,提供试听功能
    3. 主界面UI搭建,提供统一入口


    IP属地:四川3楼2020-06-02 16:19
    收起回复
      本次更新主要针对UI和素材资源进行优化,尝试提升加载速度。

      ver 2020.06.06 更新内容:
      1. 调整UI布局
      根据统一的UI布局对现有场景进行调整,并且行为保持一致。
      2. 更换图片素材
      将各类图片素材压缩并整合为图集,以便提升首次加载速度。将来会增加清晰度设置,开启则二次加载高清版本替换当前素材。
      3. 调整加载策略
      目前全部使用懒加载,即只有用到时才加载资源。首次打开的体验可能比较糟糕,主要想测试下效果。
      4. 增加换装场景的种族切换
      虽然能换种族了,但小人儿的特征并未完美变更,并且守护者也还没实现。
      下一步制作计划:
      1. 重写人物模型类
      初期写的人物module过于粗糙,当下要完善部件组装,必须得先重写这个了。
      2. 整理守护者素材
      这是个大工程,之前小人儿素材整理就花了小半个月。只能,慢慢来吧。


      IP属地:四川9楼2020-06-06 18:38
      收起回复
        冲锋岛复活QQ群里有很多成员,内心是想要为游戏复活出一份力的。但要落实到行动时,很容易被开发工具的技术门槛劝退。所以我近期在考虑一个方案,能让有兴趣的朋友参与进来。
        当前阶段最容易参与的部分应该是地图场景编辑,借助通用地图编辑器 Tiled (mapeditor.org),全民参与开发也是有可能的。大致流程如下:
        1. 按照规格切割原始素材(需掌握基本PS操作技能)
        2. 将切割好的素材制作为Tiled图块集
        3. 给地形类的图块集添加碰撞区域
        4. 按照区域风格分类,上传并共享图块集(.tsx)
        5. 新建地图,设定好图层,导入相关图块集
        6. 对照原作中的缩略图,分层摆放图块
        7. 检查制作完成的地图,上传并共享地图文件(.tmx)
        这样做下来期望达到如下效果:
        1. 降低工具门槛
        无需编程,涉及到的工具成熟度高(Tiled、PS),本身操作简便,也拥有大量教程。
        2. 降低学习门槛
        每个划分过的步骤内需要做的操作,涉及的知识点比较窄,可跟着傻瓜式教程逐步操作。
        3. 劳动成果可复用
        Tiled生成的地图格式开放,Cocos、GameMaker、Unity都可以导入使用,也能导出为整张图片。
        4. 雁过留声
        做出过贡献的朋友,自愿留下昵称,将展示在项目的参与者名单之中。


        IP属地:四川16楼2020-06-15 23:00
        收起回复
          因工作繁忙加+入坑两个新手游,开发停滞了一个月。接下来将逐渐恢复开发,除非通宵加班或不可抗力,否则每天保底要花半小时在游戏制作上。鉴于贴吧写东西不便,以后我就只在这里随手记录当天的开发内容,阶段性的内容更新汇总就直接开传送门了。
          这段时间里,热心群友 一只 加入到开发中,并做完了tile图块的原始素材加工。在此对这位小哥的付出表示感谢!
          同人游戏的开发,真就是用爱发电,全凭兴趣。但是活儿不能白干,所有贡献过力量的小伙伴,将来会化身为NPC,跟这个游戏一起走下去。
          道阻且长,行则将至。加油喵~


          IP属地:四川26楼2020-07-15 00:35
          回复
            今天主要整理了一下群友 一只 加工的tile素材,并创建分类目录存放。
            另外设想了个支持自定义刷怪的方案:在tiled制作的地图上增加一个 NPC图层,自定义参数中设置其刷出的数量、间隔、强度、异化特征等信息。
            其实按照这个思路,还可以支持添加各类障碍物,让大家可以自行设计考验跳功的地图。


            IP属地:四川27楼2020-07-15 23:49
            回复
              今天整理项目git仓库,把跟游戏开发相关的仓库都集中在同一个coding项目下。目前有三个仓库:cocos代码(暂未开源)、tiled地图、文档与日志。明天应该可以都规整好并推送。


              IP属地:四川29楼2020-07-17 00:31
              回复
                还是整理文件,没啥可讲的,说说这个同人游戏的一些基础设定吧。
                1. 这是个2D横版卷轴动作游戏,整体感觉上会比较像洛克人。
                2. 游戏带有Roguelike元素和轻度的养成,在 街机模式 和 故事模式 中各有所侧重。
                3. 街机模式下,玩家的操作水平是核心,没有繁复的属性配置,也不会用数值验证卡关。
                4. 故事模式下,单一存档槽下可培养多角色,共享剧情进度。整体感觉偏向 最终幻想战略版 那种组社团接委托任务的形式。
                5. 没有普通的消耗类道具,生命值恢复代价较高,引入护盾值来处理一般损耗。整体感觉参考 超越光速(FTL)中的飞船耐久与护盾。


                IP属地:四川30楼2020-07-18 02:41
                回复
                  还是说一些基础设定:
                  1. 冒险者(小人儿)和守护者不进行种族绑定,可以支持龙人开机甲或者人类进入精灵化身(阿凡达!)
                  2. 能否进行守护者的乘骑,取决于冒险者的对应属性值。分别是:机械(人类守护者)、魔法(龙人守护者)、异能(精灵守护者)
                  3. 冒险者的通用能力属性设置为三种:狂热、敏锐、专注,大致对应传统的力敏智。这里描述的是冒险者性格特质,在此基础上影响其战斗风格。
                  举个例子:守护者是机甲,那么 狂热属性 偏向近战暴力输出;敏锐属性 偏向射击和暴击伤害;专注属性 偏向防御能力和机械召唤物。
                  4. 我希望能将整个守护者的技能打散,不使用技能树,让玩家自行构建技能体系。当然,技能的效果会受到冒险者能力属性的影响,避免出现万金油式的搭配。


                  IP属地:四川33楼2020-07-19 02:41
                  回复
                    补上一张冒险者能力值雷达图:

                    上图中描述的两位冒险者都是开机甲战斗,绿色区域描述的是典型的射手,蓝色区域偏向单手持盾的近战格斗。
                    不过,即使同一种属性模式,实际的战斗方式也可能存在较大差异。


                    IP属地:四川34楼2020-07-19 02:59
                    回复
                      周末两天,没有实质性的开发进度。重要的是保持每天都有在做,绝对不能咕咕咕。
                      随便聊聊一些关于HP设定的想法。
                      电子游戏中HP的概念源于桌游的“可承受伤害总量(Hit Points)”,这个设定使得敌我双方不再是一击必杀,扩展了交战时的策略深度。HP既然能被消减,也应该能恢复,只是这个设定在某些情况下解释起来比较牵强。
                      个人不是很喜欢HP作为一种能快速消耗/恢复的资源,HP的降低变得缺少紧张感。我希望通过增加 护盾值(SP) 的设定,能够突出HP的重量,同时也增加伤害防护方面的策略深度。


                      IP属地:四川36楼2020-07-20 00:54
                      回复
                        今天开始加工tiled地图的地砖图集(tile)。
                        之所以叫它地砖图集,是因为这个图集里的图块都是地面、平台、墙体等地形相关的内容,并且这些图块被设计成可以像瓷砖那样拼接的形态。
                        地砖图块是构建地图的骨架,在地图文件(.tmx)中使用单独的图层绘制。在绝大多数情况下,绘制地砖是制作地图的首要步骤。
                        我在制作地砖图集时,比较在意图块取用的便利性,希望通过合理的排列顺序,优化图块展现的视觉效果。但是tiled本身不支持所以排序图块,所以想达到理想的效果其实还挺费工夫。这里放一张之前已经制作完成的图集,里面添加了一些占位图来帮助排版。


                        IP属地:四川38楼2020-07-21 00:55
                        收起回复
                          今天制作的是人类主城tile图块集。制作过程中对比视频发现平台地面并不包含在tile之中,其分类为obj\building。
                          人类主城的地形结构相对简洁,重点在建筑物和装饰物上。城内还悬挂着若干滚动播放的大屏幕,需要用自定义属性描述播放速度和初始帧下标,然后配合程序实现效果。

                          参考视频:https://www.bilibili.com/video/BV1dE411o7mS?p=42


                          IP属地:四川39楼2020-07-22 01:12
                          收起回复
                            今天给人类主城的tile图块集增加了碰撞区域。唔,困


                            IP属地:四川43楼2020-07-23 02:03
                            回复
                              连续熬夜有点撑不住啊...
                              今天稍微研究了一下tiled的数据导出,因为开发使用TypeScript,格式自然首选JSON。看了下官网文档,地图导出也支持命令行操作。这样倒不必关心编辑的时候保存为什么格式了,用之前通过脚本转换为JSON即可。


                              IP属地:四川46楼2020-07-24 01:43
                              回复