前言:
  俄罗斯方块和五子棋一样, 规则简单, 上手容易. 几乎每个开发者, 都会在其青春年华时, 签下"xx到此一游". 犹记得大一老师在布置大程作业的时候提过: "什么都可以写, 唯一不能写的是俄罗斯方块".
  这次想借学Html5的机会, 重温下俄罗斯方块. 当然不是单一的实现, 希望有所创新, 在可玩性/趣味性上有所突破.

调研:
  在4399这个游戏平台上, 选择了几款俄罗斯方块相关的游戏进行试玩. 大致总结了下各类俄罗斯方块的新意.
  • 引入场景
  
  码头俄罗斯方块: 借用大型运输船作为游戏主场景, 而傍边的卡车作为下个方块的提供者. 画风让人舒服, 游戏忠于原版算是中规中矩.
  • 方块组成和消除规则创新
  
  烟火俄罗斯方块: 方块由六边形组成, 消除不在拘泥于行, 而在同色的连接区域.
  彩泡俄罗斯方块: 由圆来代替方块, 消除不在拘泥于行, 而在同色的连接区域.
  • 结合物理引擎
  
  外星俄罗斯方块: 借助7种形状的方块, 来堆一个最高的塔(类似于搭积木).
  大部分游戏都在图形和消除效果上做足个功夫, 为了提高用户的粘度, 有的引入排行版等功能. 总之只有变化, 才能在同质化的产品中脱颖而出.

初步设想:
  上述的同类产品, 好归好. 但单机游戏缺少变化 容易让人觉得单调.
  由此想参考QQ游戏的火拼俄罗斯的实现.
  
  多人PK对战, 引入攻击/防守道具, 最终决出胜负. 游戏激烈, 且充满偶然性.
  俗话说: "他山之石, 即可攻玉". 取其精华, 多人PK和引入道具, 都是很好的点.
  1). 两人PK对战, 当然这边不联网, 采用机器人AI的方式实现.
  
  游戏AI分等级, 用户可从易到难依次挑战.
  2). 引入道具, 使得游戏更加刺激和紧凑.
  减行道具: 消去本方的行数.
  加行道具: 增加对方的行数.
  其余类型的道具, 后续再添加.
  3). 引入排名, 若获胜, 则把当前局的得分计入排行榜
  游戏规则可简单描述如下: 有限的时间内, 用户玩家得分超过游戏AI, 即表示玩家获胜.

总结:
  单机游戏没有网络, 也意味着社交元素的缺失. 如果能尝试去弥补下, 比如引入排行榜, 引入社会化分享组件, 都是提高游戏用户黏性的好办法.
  该文讲述了俄罗斯方块的初步目标, 后续文章将以此为依据, 进行扩充和实现. 敬请期待...

写在最后:
  
如果你觉得这篇文章对你有帮助, 请小小打赏下. 其实我想试试, 看看写博客能否给自己带来一点小小的收益. 无论多少, 都是对楼主一种由衷的肯定.

  

H5版俄罗斯方块(1)---需求分析和目标创新的更多相关文章

  1. H5版俄罗斯方块(2)---游戏的基本框架和实现

    前言: 上文中谈到了H5版俄罗斯方块的需求和目标, 这次要实现一个可玩的版本. 但饭要一口一口吃, 很多东西并非一蹴而就. 本文将简单实现一个可玩的俄罗斯方块版本. 下一步会引入AI, 最终采用coc ...

  2. H5版俄罗斯方块(3)---游戏的AI算法

    前言: 算是"long long ago"的事了, 某著名互联网公司在我校举行了一次"lengend code"的比赛, 其中有一题就是"智能俄罗斯方 ...

  3. H5版俄罗斯方块(4)---火拼对战的雏形

    前言: 勿忘初心, 本系列的目标是实现一款类似QQ"火拼系列"的人机对战版俄罗斯方块. 在完成了基本游戏框架和AI的算法探索后, 让我们来尝试一下人机大战雏形编写. 本系列的文章链 ...

  4. H5版俄罗斯方块(5)---需求演进和产品迭代

    前言: 产品的形态是不断迭代的, 从粗糙到精致, 从简易到立体. 有了最初的技术积累和时间思考后, 终于明确了该游戏的方向. 我想说的是: 技术不是重点, 产品/用户体验才是核心议题. 结合朋友的游戏 ...

  5. Android版俄罗斯方块的实现

    学习Android的基本开发也有一段时间了,可是由于没有常常使用Android渐渐的也就忘记了. Android编程学的不深,不过为了对付逆向,可是有时还是会感到力不从心的.毕竟不是一个计算机专业毕业 ...

  6. JS国际化网站中英文切换(理论支持所有语言)应用于h5版APP

    网页框架类APP实现国际化参考文案一 参考:https://blog.csdn.net/CSDN_LQR/article/details/78026254 另外付有自己实现的方法 本人用于H5版的AP ...

  7. Delphi版俄罗斯方块-前奏

    前言 基础知识讲了很多,但是并没有串联起来,所以我最近一直在准备个小项目,但是这个项目的要求不含有数据库部分,也就是数据持久存储的功能,此外不能含有网络功能,它只是对基础知识的一个总结,最后一点是这个 ...

  8. OpenPAL3:仙三开源版的第二个小目标 Accomplish!

    去年的时候,OpenPAL3 的第一个版本发布 之后,我给 0.2 版本设定了一个小目标:让景天能跑出永安当.当时的第一个版本还只能算是概念验证的版本,没有音乐支持.输入支持,不能直接读取仙剑三的打包 ...

  9. H5版定点投篮游戏(1)--物理模型抽象

    前言: 前几天目睹了大学同学开了个微店, 算是间接体验微信公众平台的使用. 觉得非常便捷和方便, 于是自己也想捣鼓一个. 公众号取名: "木目的H5游戏世界", 定位做成一个, 个 ...

随机推荐

  1. 【OOAD】OOP的主要特征

    聚合 “虚包含” 不明确组合 “实包含” 明确 抽象(abstract)抽象:抽象是通过特定的实例抽取共同特征以后形成概念的过程.它强调主要特征,忽略次要特征.一个对象是现实世界中一个实体的抽象,一个 ...

  2. 1074, "Column length too big for column 'err_solution' (max = 21845); use BLOB or TEXT instead"

    一个注意点,就是sqlalchemy 使用create_all()建表的时候,要在 create_all()所在页面import那些表的model sqlalchemy.exc.Operational ...

  3. 学习mongo系列(一) win/mac安装 解析 连接

    一.安装mongo数据库 下载链接https://www.mongodb.org/downloads, 在执行如下命令的时候事先按照目录新建如下的目录:(如果数据库安装在D盘就在D盘的根目录下建)&q ...

  4. redis 安装及相关问题解决

    安装redis 下载,或者用scp命令从其他服务器拷贝 一.安装 解压:tar -zxvf redis-3.0.1.tar.gz 进入:cd redis-3.0.1 编译: make 二.解决问题 1 ...

  5. springMVC的两种下载方式

    1:通过httpServletResponse对象实现下载,觉得LOW的自行跳过 2:有人觉得既然使用的是MVC就要使用spring的方式

  6. Python_Day2_基础2

    python基础之数据类型与变量 一.变量 变量作用:保存状态(程序的运行本质是一系列状态的变化,变量的目的就是用来保存状态,变量值的变化就构成了程序运行的不同结果.) Age=10 ----> ...

  7. 利用SVN进行任意文件对比

    都知道SVN可以比较已经上传的文件的内容,看到两个文件有什么不同的地方. 但是有时候并不想上传想要比较的文件,能不能利用SVN这样一个功能去比较别的两个文件呢? 琢磨来琢磨去, 发现只要在资源管理器里 ...

  8. 读javascript高级程序设计05-面向对象之创建对象

    1.工厂模式 工厂模式是一种常用的创建对象的模式,可以使用以下函数封装创建对象的细节: function CreatePerson(name,age){ var p=new Object(); p.n ...

  9. Android学习(未完)

    Android四大组件1.Activity活动活动Activity是一种可以包含用户界面的组件,主要用于和用户进行交互活动之间使用intent进行通信,激活组件,分为1.显式intent2.隐式int ...

  10. iOS开发Swift篇—(七)函数(1)

    iOS开发Swift篇—(七)函数 一.函数的定义 (1)函数的定义格式 func 函数名(形参列表) -> 返回值类型 { // 函数体... } (2)形参列表的格式 形参名1: 形参类型1 ...