十字军之王吧 关注:201,241贴子:5,477,296

回复:【Mod开发日志】EEE 萌新Modder手搓Mod日志

取消只看楼主收藏回复

其他已完成的零碎小功能
(1)多语言选项
EEE对多语言友好,可以通过右上角的语言选项进行调整。
虽然现在只有中文和英文两种……(因为杂鱼阿芙只会这俩)
中文:

英文:

欢迎有懂其他语言的小伙伴待EEE较为完善之后帮忙补充其他语种,需要翻译的文字量并不大(大概)


IP属地:北京55楼2025-03-19 21:19
回复
    (2)Mod的新建与删除功能
    现在EEE可以新建被游戏识别到的Mod了!
    在加载Mod之后,可以通过EEE修改事件,保存后直接在游戏中呈现修改后的效果(热调试)

    以及现在可以通过EEE自定义设置Mod的预览图片(没有的话,就是默认的图片啦~)

    同时也可以删除Mod,不过此功能要慎用,Mod内的一切东西都会被删掉!删掉之后可就找不到了哦~~

    以上。


    IP属地:北京56楼2025-03-22 20:44
    回复
      2026-05-06 02:22:05
      广告
      不感兴趣
      开通SVIP免广告
      嗨多磨~
      这里是阿芙罗拉!
      向各位献上清明节的问候。
      顺便给大家分享一下EEE的开发进度。
      此前EEE已经实现了创建、编辑、删除Mod的功能,以及在Mod中添加、编辑单个事件的可视化编辑功能。
      本次更新则在此基础上实现了编辑事件链的功能,将EEE从只能编辑单个事件的劣等杂鱼,超进化成为拥有编辑并管理复杂事件链的能力的苏帕咸鱼!!!
      真是可喜可贺~可喜可贺啊!
      (但现阶段只能编辑文字、背景和人物动画,所以还是咸鱼。)


      IP属地:北京60楼2025-04-04 12:07
      回复
        本次EEE新增的事件链,包括有以下功能:
        1、事件的增加;
        2、事件的跳转;
        3、事件的删除;
        4、事件链的总览视图。
        ————————
        在正式介绍【Chain 链】之前,先给大家放一张图,先对事件链【Chain 链】有个概念:

        每个事件链【Chain 链】都至少拥有一个【Event 事件】,而每个【Event 事件】都至少拥有一个【Option 选项】。
        图中,紫色代表【Chain 链】与根事件(第一个事件)相绑定。
        蓝色部分代表【Event 事件】,每个事件都有自己独一无二的ID号。
        绿色部分代表【Option 选项】,一个事件里的选项是互斥的,玩家只能选择其中一个选项。
        橙色部分代表【Effect 效果】,也就是玩家在游戏中经常能看到的,对游戏中角色产生各种影响的东西。
        红色部分代表事件触发过程中的一些特殊触发时机,比如图中的【After】,它的含义是,无论玩家选择堂堂正正地决斗还是偷袭,最后都会触发【事件0003:决斗结果】。
        由以上这些【Event 事件】、【Option 选项】、【Effect 效果】等构成的复杂事件集合,就是【Chain 链】。
        ——————
        很好,现在我们来介绍EEE有关事件链的几个功能:
        1、事件的增加;
        用户可以在【Option 选项】以及【After】的编辑框中的“New”按钮新建【Event 事件】,新建的事件会自动与前一事件建立链接。

        2、事件的跳转
        用户可以通过左侧的后退按钮,返回上一事件。如果当前是根事件,则会返回【Chain 链】视图。
        也可以通过【After】与【Option 选项】编辑框内的【Jump】跳转按钮跳转至后续事件。如果当前位置有复数可跳转事件,则会有弹出窗让用户进行确认。

        3、事件的删除;

        如果删除红框内的【事件0001】:开始决斗,除了【事件0001:开始决斗】被删除之外,【事件0003:决斗结果】也会被一并删除。
        同样的,如果删除【根事件0000】的【选项1:决斗】,也会删除【事件0001:开始决斗】与【事件0003:决斗结果】。
        如果删除的是根事件,那么整个【Chain 链】都会被删除。

        4、事件的链视图
        当EEE具备增加与删除事件的功能之后,便可以迅速编织出一张事件链出来。其形式十分接近PPT。
        但当事件链的规模上升到一定程度之后,就需要一个总览的视角去管理事件链中的事件。
        我这边借助PYQT5自带的树控件完成了这一功能,虽然还有很多不足,层级显示不是那么的清晰,但目前只能先凑活着用一下了。

        (1)查看功能
        事件链的总览视图在事件链界面,可通过顶部导航栏,或者根事件后退按钮抵达。
        可以看到,事件链由根事件为起始,下面有对应的事件选项和After槽位,而每个槽位下面还有后续可触发的事件。
        (2)跳转功能
        双击拥有事件ID的选项,就能直接跳转到对应的事件编辑页面。
        (3)拖拽功能
        拥有事件ID的选项,可以被拖拽并放置到没有事件ID的槽位点上。
        可以快速调整事件之间的链接关系,也可以通用调整后续的事件的位置,避免删除事件时被波及到。


        IP属地:北京63楼2025-04-04 14:18
        回复
          额外的小功能:调试决议
          为了方便用户调试事件,我加了一个生成调试决议的按钮。
          在事件链视图的右上角。

          点击之后,EEE会自动生成一个决议,以触发根事件。


          IP属地:北京65楼2025-04-05 14:32
          回复
            加载Mod,然后测试一下新写的事件。

            进入游戏,打开决议,可以看到有一个EEE调试决议

            然后就会触发我们写的根事件,然后再试一试几个选项:




            IP属地:北京66楼2025-04-05 14:39
            回复
              可以看到,事件的背景主题,文字,触发逻辑,人物肖像以及动画都跟EEE中的编辑界面保持一致!
              是EEE开发的里程碑!!
              好耶!(撒花)
              等后续添加辅助系统、演员系统以及调度器,差不多就可以开始公测了~
              不过在那之前,我还得规整一下代码,完善一下异常处理机制……现在的EEE还有不少恶性Bug,一个操作不对就直接闪退了(捂脸)
              总之,EEE当前就是这个样子啦,感谢各位的观看!还请继续关注EEE的后续开发哦~


              IP属地:北京67楼2025-04-05 14:46
              回复
                我还在,不过前些阵子忙着结婚,出差,搬家。现在忙着装修ing


                IP属地:北京来自Android客户端79楼2025-06-05 09:28
                回复
                  2026-05-06 02:16:05
                  广告
                  不感兴趣
                  开通SVIP免广告
                  我还没死啦,只是被工作,加班,装修,新娘修行塞满了日程安排表


                  IP属地:北京来自Android客户端83楼2025-11-21 14:34
                  回复
                    吐魂~装修终于差不多弄完了。
                    打算趁着年底不太忙的时候,赶紧把EEE的这个坑填一填。
                    总之……I will be back!


                    IP属地:北京84楼2026-01-28 16:00
                    收起回复
                      嗨多磨~
                      这里是阿芙罗拉desu!!
                      首先祝大家马年吉祥!
                      在新的一年健健康康!快快乐乐!
                      咱也在春节假期的尾巴尖上,抽时间给大家讲讲最近EEE的开发进度。
                      假期这段时间主要解决的是游戏效果部分——也就是让完全没有编程基础的一般路过玩家也能轻松实现游戏中的一些简单效果。
                      例如让一个角色获得or失去金钱/威望/虔诚、获得or清除某个特质、与某个角色成为情人/朋友/仇敌、甚至是杀死某个角色或令某个女角色受孕。
                      听起来有点复杂是吧?实际上一点也不简单。
                      而且咱的工作不仅要实现代码,还要在保证界面简单直观的同时,兼顾游戏效果的多样性和可扩展性。
                      以及更加麻烦的……咱还得需要重新花时间复习P社语言的结构啥的,毕竟我上次写EEE代码时都已经是一年多前的事情了(悲)。
                      这一年基本都在忙装修了,看各种攻略指南,现场盯工地,后续安排家具电器的进场与安装……在把我时间掏空的同时,顺带把咱的钱包也给掏空了。(泪)


                      IP属地:北京89楼2026-02-24 23:10
                      回复
                        咳咳,言归正传……言归正传……
                        由于2025年EEE写的代码实在是太烂了,难以忍受,所以这段时间咱将之前的写的代码删掉之后,以更易懂和更具维护性的方式重写了一遍。
                        并在此基础上,以全新的思路实现了游戏效果这部分的核心功能:
                        简单来说,游戏内的一切变化,都可以被归结为两点:
                        【谁】以及【发生了什么事】
                        如果用专业术语来说的话:
                        【谁】=【作用域Scope】
                        【发生了什么事】=【效果Effect】
                        为了方便大家理解,这里举个栗子🌰:
                        比如在游戏中,我想做一个给孩子们发压岁钱的事件,那么这个事件需要包含以下的变化:
                        1、玩家的所有(未成年)子女获得300金币。
                        2、玩家每有一个(未成年)子女,就失去300金币。
                        3、玩家的所有兄弟姐妹的(未成年)子女获得100金币。
                        4、玩家每有一个(未成年)侄子/侄女/外甥/外甥女,就失去100金币。
                        相信你一定可以注意到,上面这段话中有一些被()括起来的文字。
                        (未成年)是作为【谁】=【作用域Scope】的筛选条件,以更精确地锁定具体的角色个体。
                        游戏中的专业术语是【触发器Trigger】,你可以理解为,满足这个条件后,才触发相应的【效果Effect】
                        如果你能看到这里,且能理解咱上面说的话,就可以明白EEE在这个过程中需要实现的功能了。
                        EEE需要一个简洁直观的界面,向用户展示,并编辑【作用域Scope】、【效果Effect】以及【触发器Trigger】,使其可以理解用户的意图,并编写出一段可以被游戏识别的代码,最终令游戏完成用户所希望发生的变化。
                        也就是咱最近的成果:

                        呃……咱在美工方面没什么建树,UI有点丑,但基本的功能都是可以实现的。
                        鉴于EEE面向的用户基本没有编程经验,对P社语言更没有什么了解,所以【作用域Scope】、【效果Effect】和【触发器Trigger】咱都用的下拉框。



                        当然了,咱知道肯定有人会说这些选项也太少了什么的……但这个不是问题,因为咱把这些下拉框的选项都做到Excel表里了,后续完全可以根据需要随时添加。


                        IP属地:北京90楼2026-02-24 23:37
                        回复
                          目前已经可以根据EEE的编辑界面写出可以被游戏正确识别的代码啦。
                          比如上面提到的压岁钱的代码就长这个样子:


                          IP属地:北京91楼2026-02-24 23:40
                          回复
                            顺便扔游戏里测试一下:
                            因为新开档好多角色都没孩子,所以用兄弟姐妹替代一下。

                            输出代码,然后扔进测试用的决议里面:

                            游戏内的呈现效果:


                            IP属地:北京92楼2026-02-24 23:46
                            回复