KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

RPG游戏引擎开发计划

[ 23379 查看 / 14 回复 ]

最近开始计划用半年业余时间做一个简单的2D RPG游戏引擎。设计目标就是参照RPG Maker系列,实现它的主要功能,并且在某些方面做得比它更好一些。
引擎使用Allegro(http://alleg.sourceforge.net 汗...居然写错了)作低阶API,Python(http://www.python.org)为脚本语言(类似RMXP用的Ruby),UTF-8为默认脚本编码。屏幕分辨率可变,地图为三层网格,图像素材兼容RMXP,显示文本用Unicode点阵字库。
今天是计划开始第11天,做了一个简单的演示脚本出来,总算有了一点看得见的进展,有兴趣的朋友可以在这里下载:
http://wdx04.cech.com.cn/space/wdx04
进入后切换页面到"储存柜",有4个文件:
SimpleRPG_Dist.rar 引擎环境和演示脚本
SimpleRPG_src.rar  源代码
Python22RE_Mini.rar Python 2.2运行环境,带有标准库的常用部分
Python22RE_Max.rar  Python 2.2运行环境,带有更多的标准库组件和Psyco、ctypes等有用的第三方库
目前这个演示脚本很傻,只有标题画面和一张不能再简单的地图,可以用方向键控制主角走路。
[关于源代码]
本软件开放源代码(C++),不过写得很烂,而且没有注释(框架稳定下来以后重构时再写注释和文档)。编译需要Allegro 4.0以上及Python 2.2以上版本。
附带的工程文件分别对应VC6.0/VC7.1+Python 2.4+Allegro 4.2.1。
1

评分次数

    分享 转发
    KEYFC第二届版杀 - 川澄 舞
    TOP

    回复:RPG游戏引擎开发计划

    只能纯支持一下,我只会点JAVA而已,只能下来试着用用看了。
    -----------------------

    看来光缆还是没有修好,SF还是上不去……上去了,只是很慢

    对了,为什么游戏的上面总是会有一条黑线呢?
    学无止境兮路漫漫,苦中作乐兮一堆汗
    TOP

    回复:RPG游戏引擎开发计划

    JAVA....很8错了额
    ただの人间には兴味ありません。宇宙人、未来人、超能力者がいたら、あたしのところに来なさい。以上
    TOP

    回复:RPG游戏引擎开发计划

    虽然本人完全看不懂上面的说,但还是很支持的.
    TOP

    回复:RPG游戏引擎开发计划

    支持一个~

    执行效率貌似不比RMXP高啊?
    还有为啥确认不是空格键 enter很不顺手啊
    TOP

    回复:RPG游戏引擎开发计划

    RPG Maker具备友好的开发界面,楼主的计划中是否包含这一部分呢?


    看没有注释的代码果然比较郁闷。还有,这东西对运行环境有什么要求?

    还有,貌似这游戏里的start_game函数是游戏的“消息循环”(借用用Win32程序中的称呼)吧?这个循环既然是自己建立的,也就是说,它不接受windows消息?
    KCDDP KR/KAG区值班室常驻义务值班员

    现在在KCDDP的论坛也已经开始潜水了Orz
    但是QQ群还是长期在线的
    TOP

    回复:RPG游戏引擎开发计划

    现在没有用脏矩形优化和硬件加速的Blit,所以速度慢。以后会有所改善。
    响应键盘事件以前是在C++代码中做的,今天已经上移到Python脚本。可以在脚本中可以取到任一键的即时状态。
    计划中的开发工具只有地图编辑器,以及自动生成脚本框架的向导程序。
    程序对软硬件没有特殊要求,Pentium MMX + Win98的配置应该也可以跑。
    一个程序的流程总是从main脚本(scripts/main.py)的start函数开始。这个函数主要设置显示驱动和屏幕分辨率,加载一些资源,然后调用start_game进入主循环。start_game所做的事情也就是等待1 frame的时间,然后执行游戏逻辑和更新画面,不会响应Windows消息。
    ---------------------------------------------------------
    至于上面的黑线,主要是因为RMXP的标准行走图是32*48而画砖是32*32,为了保住主角半边头所以我在上面留了16像素的空区域。当然也可以把地图第一排做成不可移动的物体。
    KEYFC第二届版杀 - 川澄 舞
    TOP

    回复:RPG游戏引擎开发计划

    话说地图编辑器和开发环境本身也使用你编写的引擎的相关功能的话……就不会出现某些东西被编辑器定死的情况了……
    这个算是最小重复原则吧……尽量对相同的功能使用相同的代码……

    话说Python的效率一点也不高……
    なのに、春を待ちわびる心消せない。
    いつか、晴れた空のような笑顔に会えるよね?

    ……陽だまりの中で……
    TOP

    回复:RPG游戏引擎开发计划

    Allegro的HP素http://alleg.sourceforge.net/……
    なのに、春を待ちわびる心消せない。
    いつか、晴れた空のような笑顔に会えるよね?

    ……陽だまりの中で……
    TOP

    回复:RPG游戏引擎开发计划

    只会用那些什么什么大师..
    这些还真是连看都看不懂.
    TOP