手游《奥林劈图》的开发日记(三)

77 篇文章 1 订阅
19 篇文章 0 订阅

        你一定要过得好,不然对不起我的不打扰。虽然我有一万个想见你的理由,但唯独少了一个见你的身份,不是我们不够好,只是时间不凑巧。

        感谢你们,那无数个陪伴我熬夜的灿烂星空!

 

[2016年5月23日]

数据,状态,动作,事件

上层:StateMachine

1. 界面 (setData, getData)

2. 主体A的Action: (setData, getData)

3. 主体B的Action: (setData, getData)

 

下层:

Data(树形管理,路径作为id) , 如: NotifyData

ChangedEvt

 

当客户端接受到服务器push来的新关卡:XYZ123时,

数据库中增加记录, 同时在Notify树中,把newStage的数量+1. (Action1)

ChangedEvt广播发出,界面更新(显示有几个新关卡)

 

玩家进入最新关卡界面,打开一个新关卡,把newStage的数量-1. (Action2)

ChangedEvt广播发出,界面更新(显示有几个新关卡)

 

NotifyDataTree:

|----newStage

|----count (1+1=2)

 

[2016年5月25日]

关卡界面分为三种:

1. Play

2. Edit

3. Hint

 

Play (SplitLayer, SplitMab)

Edit (EditLayer, EditMab)

Hint (SplitLayer, SplitMab)

 

关卡布局数据库

字段包括:

_id uid name vers src dst blks time src_area dst_area src_w src_h dst_w dst_h src_g dst_g src_edge dst_edge blk_num

src_blank dst_blank src_corner dst_corner fence limit src_fc dst_fc

 

[2016年5月26日]

1. 关卡的背景图

2. 关卡选择界面的设计

3. 主界面的背景设计

4. 关卡的字符串表达,通过json传递关卡信息。

5. 玩家创建关卡,点赞,收藏,评论。

6. parsermap只取boundingrect范围解析

 

昨晚把关卡的远程数据库读写打通了。这样我就可以在手机上编辑关卡,保存到服务器,再从服务器读关卡编辑或运行。

今天要做的就是关卡列表了,或者说也是关卡选择器。把数据库的关卡表(shape)按照某个查询条件传回本地,然后显示关卡列表,在列表里选择关卡编辑,或查看某一个关卡的详细信息。

 

 

 

[2016年5月27日]

关卡数据表示

blks:["001001", "00101112","0010011213"] //matrix

 

src:{

"blks":["00","23","33"], //origin

"size":{"w":4, "h":3},

 

"limit":{

"pear":["11","20","23"],

"orange":["23","33","34"]

}

}

 

dst:{

"blks":["00","23","33"], //origin

"size":{"w":4, "h":3},

 

"fence":{

"wall":["340","231","330","431"],

"stone":["11","20","23"],

}

 

ShapeList表示:

"shapes":[

{"blks":["00","11"],"src":{"blks":["20","01"]},"dst":{"blks":["00","11"]}},

{"blks":["00","11"],"src":{"blks":["20","01"]},"dst":{"blks":["00","11"]}}

]

 

 

[2016年5月31日]

关卡设计备忘

长变宽,宽变长,锯齿变平滑。

分离伸展变聚合,窟窿被填充。

劈分有限制,填充有障碍。

方块拼接要不同。

 

[shape特征]:

width, height

area (目标会与源不同)

hole (blank)

inside corner

wall capacity (一共可以添加多少个wall,用来计算wall选择的空间量,可以反应出劈分难度)

wall (提示答案中添加的wall数)

girth

feature code

 

[stage描述]:

1. 所有srcShape和dstShape的描述

2. block的类型(featurecode)和数量

 

Block, srcShape, dstShape都可以使用g2Shape计算特征。

Block是简单的形状,srcShape和dstShape是复合的形状。

 

 

应该让有特点的图形作为被劈分的源图形,玩家会有新鲜感,兴奋。

 

劈分的方块数应尽量控制在3个以内,如果超过3三个,可以增加提示以降低难度。提示包括:

1. 目标图形提示方块形状。

2. 源图形使用“形影不离”道具,源图形采取分离式布局,提供更多信息给用户。

 

墙的数目应该控制在7个以内.

 

源图形的形状采取仿生设计: 字母型,动物型, 数字型,楼房,家具 ...

目标图形尽量对称,规则,与源图形差异显著,与源图形相映对仗...

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

峻峰飞阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值