太阳神三国杀吧 关注:38,361贴子:468,941

新的基于Qt的三国杀——FreeKill简介

只看楼主收藏回复

1L不给看,游戏战局截图镇楼


IP属地:湖北1楼2023-02-03 12:26回复
    Q1: FreeKill基于什么框架?是否开源?
    A: 当然是开源了的。FreeKill基于Qt6 QML和Lua语言制作,采用GPLv3协议开源。项目主页截图:

    从新建文件夹到现在,FreeKill已经经历了一年的开发历程。编程语言占比如下:


    IP属地:湖北2楼2023-02-03 12:30
    回复
      Q2: 有安卓版吗?
      A: 有。事实上,fk致力于支持尽可能多的平台,目前支持Windows和Android平台,Linux用户可以自行编译。安卓版的游玩体验与Windows版几乎没有区别(除了聊天打字不太方便),有截图为证:

      安卓版的安装包体积约为40MB,与Windows版基本上持平,这是因为Qt本身的库比较占空间。


      IP属地:湖北3楼2023-02-03 12:35
      回复
        Q4: 支持DIY吗?
        A: 支持。事实上,由于同和神杀使用Qt+Lua开发,因此DIY技能的语法整体上接近于神杀的DIY语法,以下是一些代码片段:

        这段代码演示了标黄月英的两个技能的写法。事实上,不仅是DIY,FK涉及的所有武将都是用Lua编写的,因此无需顾虑找不到参考。
        FK相较于神杀而言,对CPP扮演的角色大大减弱,在这里Cpp只用来提供网络通信支持(当然,以及Lua语言和QML语言支持)。与三国杀这款游戏相关的所有细节都由Lua进行管理,而UI方面则使用QML开发。QML语言是Qt自创的一门语言,但是说白了其实就是标准的JavaScript加了些许语法而已。


        IP属地:湖北5楼2023-02-03 12:42
        回复
          除了用Lua进行DIY之外,FK还提供了另外一种可能:使用一门中文编程语言进行拓展,就像直接写技能描述那样。示例:


          游戏中有一个编译器,能把这种中文语言翻译成Lua代码,这样就能被游戏执行了。至于这种中文语言功能尚未完全,只能说敬请期待了。


          IP属地:湖北6楼2023-02-03 12:46
          收起回复
            Q5: 闪退率大吗?会不会越玩内存占用越大?
            A: 目前几乎不闪退,至少我自己玩的时候没遇到过闪退的情况。编程的时候不可避免会出现bug,但由于现在主角成为Lua/qml语言了,如果Lua/qml中出现了问题,游戏并不会闪退,而是在旁边的一个黑窗口(Windows特供)中显示出报错信息,玩家可以据此反馈给开发人员(或者自己成为开发者修掉bug)。报错的例子:

            如上,故意写出会出错的代码,看看游戏中的报错效果:

            在出现错误的时候,游戏会卡住不动,这种时候就得点击右上角Quit走此小道了,然后回到大厅中新创建一个房间即可。


            IP属地:湖北7楼2023-02-03 12:56
            回复
              Q6: 游戏大厅?有什么作用?
              A: 游戏大厅是玩家刚连接到服务器里面会面对的画面了:

              如果服务器有房间的话,会在房间列表中显示。没有房间的话可以自己创建房间。
              游戏大厅的重要作用就是如果玩家想要更换游戏模式的话,服主无需重启服务器。以前我玩神杀联机的时候,神杀不支持大厅功能,所以一个服务器中总共只有一种游戏模式,想要换游戏模式的话得再次启动服务器才行。而有了大厅之后,将会对联机有很大的便利。


              IP属地:湖北8楼2023-02-03 13:01
              回复
                Q7: 开服方便吗?联机又如何呢?
                如果你用的服务器是Windows Server的话,那么开服很方便,在cmd中输入.\FreeKill.exe -s即可开服。服务器会自动监听9527号端口。可以在命令行的-s后面加上一个数字,手动指定绑定的端口号。
                Linux server的开服不算非常方便,因为他要求用户自己动手编译FreeKill。这就要求服务器的系统不能太老旧,因为fk依赖于Qt6,至少也要有Debian11那么新的服务器系统才行。编译的话,git仓库中有详尽的编译流程。
                联机倒是不难。在刚打开游戏的初始界面中输入服务器IP、对应于那台服务器的自己的用户名和密码就能联机。

                欲连接到服务器的话,需要满足客户端和服务端的文件完全一致,这件事就去联系服主解决吧。
                至于用户名和密码,这种是关联到每一个服务器的,也就是说服务器保存着你的用户名和密码。进服不需要额外的注册流程,输入用户名和密码然后连就完事了。如果这是你的第一次登录的话,那么就相当于自动注册账号了。不要忘记自己的密码哦。
                “单机启动”的话,其实就相当于你自己在本机开了个服务器,然后自己连接进去。因此单机启动后你依然发现自己在大厅里面。
                顺便一提,我已经为群里提供的版本开了一个服务器,域名notify.love。欢迎前来联机游玩。


                IP属地:湖北9楼2023-02-03 13:10
                回复
                  Q8: 说了这么多,你游戏做完了没?
                  A: 还没,一个人做的累死了。希望有会Lua或者QML的大佬来协力开发。目前差不多做完了标准包,可以上手玩玩看看。


                  IP属地:湖北10楼2023-02-03 13:12
                  回复
                    希望有会Lua或者QML的大佬来协力开发


                    IP属地:湖北11楼2023-02-03 13:18
                    回复
                      mbns


                      IP属地:浙江来自Android客户端12楼2023-02-03 13:27
                      回复


                        IP属地:上海13楼2023-02-03 14:35
                        回复


                          IP属地:陕西14楼2023-02-03 14:55
                          回复
                            mbns


                            IP属地:广东来自Android客户端15楼2023-02-03 16:28
                            回复


                              IP属地:陕西来自Android客户端16楼2023-02-03 18:01
                              回复