python能制作游戏吗_python制作galgame引擎(一)

写这个项目的直接原因是最近推galgame推得有点过头,gal推过头的直接结果就是YY能力上涨,抱着“我也想写好玩的剧本”的轻率念头,也就开始了这个项目。不过从直接感觉来说,galgame毕竟也是开发成本(个人)以及技术要求最低的游戏类别之一,这当然也算是原因。

于是到了现在,一个半成品式的框架就搭好了。实话实说,gal引擎开发,技术难度不算大。但是,需要考虑的方面却相当多,许多看起来很简单的东西开发起来却很麻烦,看上去很麻烦的东西只要换个思路,就会大为简化。

这篇文章涉及的只是一个Galgame引擎,剧情和素材方面,直接使用guochaoer君的Sakia。后者是一个自制的galgame,在google code上托管,开发时间先于我一年。guochaoer君的代码,给了我不少思路和代码方面的启迪,在此给予深深感谢。有兴趣的话,请务必拜会guochaoer君的项目,地址 Sakia

不多说了,现在考虑引擎的编写。

我们需要几个初期的目标,我的初期目标为:

1.一个能稳定运行的,可扩展的框架

2.代码逻辑和剧情内容彻底分开

第一个目标是显然的,关键是第二个。之所以提出这个目标也正是因为guochaoer君的代码,他的代码实际上写得不错,但是最大的弊病是代码和剧情文本混在一起,整体上来看,就显得比较凌乱,耦合度太高。这样做还导致一个问题:代码扩展性不太好。如果后面需要增添功能的话,很有可能大改,在效率上不太划算,也容易失误。

所以,我做了这样的设计:代码的执行部分放在run.py这个程序中,而剧情,图片,音乐,放在一个script文本中,代码和文本通过一个Parser解析器来联系。

文本的解析,就我掌握的部分---也是通常的手段,就是正则式。

为了解析方便,规定特定的语法是必要的。

在定义语法之前,先明确哪些语法是必须的,这涉及到一个问题是:一个gal,最基本的元素是什么。也就是说,舍弃掉哪些内容,gal才是gal,而不会被认为是别的什么?

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值