用QML/QT 制作卡牌游戏

Posted by

精灵图引擎是有极限的!

Wo Zieh-ju Schu-o-de

开个新坑。探索一下,用设计UI交互的方式,快速做一个游戏原型出来。只要一个东西能摆弄,有反馈,那不就是个游戏了么?UI开发库封装了超多的动画控件,可以呈现你想要的任何信息。在时间轴动画或者空间变换上比较麻烦。但对于(目前)没有美术的组来讲,本来也做不了那个 ……

下面是正式版(骗经费版)摘要:

The Sprite-based universal game engine (Sprite-based UGE) has dramatically accelerate the working pipeline for individual developer. A typical UGE is a integrate development environment containing assets editors for sprite, audio, map and scripts, along with extension manager and packaging scripts. An minimal example is the pico-8 engine. However, the highly dependency on extensions abuse the generality and usability  in development of specific game genre. In the blog, an UI-based  QT/QML method is introduced towards the informatic genre like deck building, management simulation, etc. With the help of DataModel concept, asychronized Signal-Slot mechanism and rigorous QWidgets library,  we can separate the logics and visualization of data, In fact, UI-based approach is one of popular ways for prototype developing. Recently, QML 2 (javascript) and PySide2/PyQt5 (python) improve such advantages even further. In our demo applications, the UI-based QML/QT method shows high efficiency, but we finally fall into pigeons and can not stop touching fish. 
基于精灵图(Sprite-based )的通用游戏引擎,极大地加速了个人开发者的游戏制作。通用游戏引擎一般指一个完整的制作环境,包括针对精灵图、音频、地图和代码的资产编辑器,以及插件支持和打包脚本。一个极端精简的例子是pico-8引擎。但是,对于特定的游戏类型,通用引擎需要更多的自定义插件来辅助,其标准性、易学性大打折扣。本文针对强调信息传达的游戏类型(卡牌类、经营类),引入QML/QT方法,从UI设计的角度进行游戏设计。利用QT的DataModel模型,Slot-Signal的异步交互机制以及功能繁多的QWidget封装,将数据逻辑与渲染交互相分离。事实上,这已经是被开发者广泛使用的原型开发方法之一。在最近,基于javascript的QML 2和基于python 3的移植(PySide2/PyQt5)让这种流程的简便性大大增加。在我们的程序实例中,QML/QT方法极大地简化了设计,但由于种种原因,我们还是鸽了,因为摸鱼停不下来。

Leave a Reply