前面提过,这个游戏的核心玩法基于我做的第一个Unity游戏,名字就叫《Invert》,现在在应用宝上面还能搜到。不过那个游戏也不是我原创的,它的玩法设计来自github上的一个开源项目(https://github.com/gorried/inverter),那时候我正在上培训班,它本来是我的一个课下练习。当时主要是为了熟悉游戏从制作到发布的流程,所以几乎完全模仿了原项目的设计,连方块的配色都没改(因为我觉得那配色挺好看的,还特意用Photoshop取了人家的色值)。

  但是现在回过头来看,这种设计其实是有待商榷的。前两天看了IndieACE上的一篇文章(http://www.indieace.com/topic/137),感触颇深。诚然,现在扁平风大行其道,极简风格的游戏受众也越来越多,但这只能说明用户越来越适应这种设计,并不能证明它本来就应该是这样的。我们停下来想一想,排除人造物品,自然界中哪种东西是由纯色的小方块整齐排列组成的?反正我是想不出来。我甚至可以作出一个大胆的假设:如今我们身边所有的东西都是四四方方的,大抵是由于人类早期生产活动形成的思维惯性。

  我们文明刚刚迈入农耕时代的时候,使用“刀耕火种”的作业方式种植作物。而由于人体的生理基础,我们倾向于在负重的情况下走直线而非曲线,这就形成了我们对直线最初的好感。到后来我们使用木材作为建筑材料,因为树干大部分都是直线形的,建成的房子自然也就四四方方的了,我们开始习惯使用直线和矩形。手工业逐渐发展,我们很容易就发现直线形的切口是工艺上最简单的,立方形的材料也是用起来最方便,所以你会发现埃及金字塔是用Cube拼成的。今天跟埃及法老建金字塔的时候并没有太大差别,我们住在立方形的房子里,因为盖房子的钢筋是直线形的;我们拿着矩形的手机,因为矩形的模具更容易制作和量产……甚至在计算机的世界里也是如此,了解一点图形的朋友应该都清楚,计算机里所有的图片都是矩形,所谓的圆形图片其实只是它的边角部分像素alpha值为0而已。

  我们再看这个游戏的玩法:

  玩家点击红色标注区域获得反馈。排除人造物品,自然界中哪样任务是需要我们用手指点击一个面去完成的?我能想到的就是键盘和开关,可惜它们都是人造的。其中原因跟我们前面的讨论一脉相承,工业革命初期,为了操作方便发明了开关,于是开关的设计一直延续至今。但是电子游戏不是工业生产,矩形和开关节省不了多少成本,没有现实寓意的设计却很可能降低玩家的游戏体验。于是我想做这样的改变:

  虽然还是点击操作,但是将交互区域从面转移到点上,由点的变化影响线的变化,由线的变化影响面的变化。其实从数学上看,这两种设计完全等价。但是点、线、面的联动更容易让人产生对现实世界的联想,同时也可以增加游戏表现上的层次感。我第一个联想到的就是农田和灌溉,虽然实际农业生产的情况肯定不是这样,但能映射到现实世界中的事物,总比单纯的思维游戏更容易让人接受。

  这就是游戏的核心玩法,说白了其实就是一个平面几何领域的数学游戏。我总是倾向于避免把游戏变成人与人之间对抗的工具,首要原因当然是这样的强联网游戏需要服务器端的大量工作,不太适合独立开发;更重要的原因是我一直怀念当初单机时代的游戏体验,我总觉得电子游戏应该是作者思维和情感的具现,玩家经由游戏的玩法、剧情、画面、音乐与作者形成思想共鸣,最终完成个性化的解读和理解。就像一首歌,一本书,一部合格的电影。

  核心玩法设计至此结束,接下来将确定游戏的整体表现风格……

《Invert》开发日志01:核心玩法设计的更多相关文章

  1. Rokid开发者社区skill之【历史上的今天】之简介+玩法+设计+实现+心得

    Skill简介: 来源:好奇心.探索欲.趣味性: 资源:百度百科: 方式:实时获取,自动更新: 技能玩法: 想要进入历史上的今天这个skill,则对若琪说:若琪,打开历史上的今天. 想要了解某天的历史 ...

  2. 《Invert》开发日志00:缘起

    按照所有程序员的惯例,编号从0开始.本系列日志将记录一款独立游戏 发起->构思->设计->实现->完善->测试(如果需要)->上线->后期维护(如果有人玩) ...

  3. 《Invert》开发日志03:一些想法

    本来标题想写“详细设计”,但是由于独立游戏开发有很强的探索性,最终项目一定是经过原型调整迭代而来的,所以在实际效果出来之前把设计做得太细并没有太大意义,现在只能先陈列目前的一些想法,不能定义“它是什么 ...

  4. 基于Spring框架怎么构建游戏玩法服务

    说明:本篇阐述的问题,是基于前面的游戏服务器架构设计的. 问题 众所周知,Spring最擅长的领域是无状态服务的构建,而游戏(尤其是玩法部分)是有状态的.以棋牌游戏为例,玩法服务里面大概涉及以下两类对 ...

  5. 《Invert》开发日志05:终止

    今天终于看了久闻大名的<独立游戏大电影>,然后我就做了一个坑爹的决定:终止“Invert”项目的开发.没错,在还没正式开工之前,我就决定停掉这个项目,而且是永久终止.做这个决定并不是因为觉 ...

  6. [课程设计]任务进度条&开发日志目录

    任务进度条&开发日志目录 周期 时间 任务 Sprint One   11.14     ●  Scrum团队分工及明确任务1.0    Sprint One   11.15   ●  Scr ...

  7. ExceptionLess新玩法 -- 审计日志

    审计日志 这算是一个挺酷的功能,把每个请求都记录下来,之前在abp中看到过这个功能,配合可视化的界面,简直是在装逼 看到了exceptionless后,心念一动,我也可以根据它做一个审计日志的功能.这 ...

  8. ExceptionLess新玩法 — 记日志

    ExceptionLess 之前也有介绍过这个框架,其实网上也有很多的资料,无论是部署还是一些详细的高级玩法都讲的很清楚也很棒,博主也学习了一些他们的博文,因为很多的东西比如本地部署别人已经写了,我再 ...

  9. 简单Elixir游戏服设计- 游戏玩法介绍

    抄以前的,做了点修改. 到目前为止,我们完成了玩家的数据和进程建模,现在介绍游戏玩法. 为什么我们还不做客户端接入.协议指定呢?为什么还没有网关和数据存储呢.在我接手的游戏, 这些通常已经定下来了,我 ...

随机推荐

  1. (转)JavaScript一:为什么学习JavaScript?

    Web程序不论是B/S(Browser/Server)还是C/S(Client/Server)架构,分为客户端程序与服务器端程序两种.ASP.NET是开发服务器端程序的强大工具,但是有时候为了降低服务 ...

  2. css中的background属性

    第一次写博客,我就写写今天在编写网页的过程中,对background的两种运用,一是background中的线性渐变,对背景的渐变我其实是很少使用的,所以今天在写的时候我用css3的帮助手册,back ...

  3. JavaScript学习05 定时器

    JavaScript学习05 定时器 定时器1 用以指定在一段特定的时间后执行某段程序. setTimeout(): 格式:[定时器对象名=] setTimeout(“<表达式>”,毫秒) ...

  4. Ubuntu 安装Samba服务器

    1.安装 sudo apt-get update sudo apt-get install samba (如果出现库依赖问题可用命令sudo apt-get install samba libwbcl ...

  5. cocoapods pod setup

    在终端  输入 pod setup  之后 你会发现 一直没有反应    会出现这种情况   如下图   你要耐心等一下. 直到看到Setup completed    就算是成功了.(你的网络要好) ...

  6. 如何优化TableView

    关于UITable的优化: 1.最常用的就是不重复生成单元格,很常见,很实用: 2.使用不透明的视图可以提高渲染速度,xCode中默认TableCell的背景就是不透明的: 3.如果有必要减少视图中的 ...

  7. 【代码笔记】iOS-翻书效果的实现

    代码: RootViewController.m #import "RootViewController.h" @interface RootViewController () @ ...

  8. UIView属性

    UIView属性 1.alpha 设置视图的透明度.默认为1. // 完全透明 view.alpha = 0; // 不透明 view.alpha = 1; 2.clipsToBounds // 默认 ...

  9. IT软件开发常用英语词汇

    Aabstract 抽象的abstract base class (ABC)抽象基类abstract class 抽象类abstraction 抽象.抽象物.抽象性access 存取.访问access ...

  10. 华为S5700S-52P-LI-AC千兆网管交换机web登录界面配置

    研究一下午,包装附的说明书根本就是错误的,通过技术售后和官方的文档结合,总算可以登录交换机的web管理界面. 首先需要使用通讯控制线缆(包装中附)连接电脑和交换机,一头接交换机的Console口,一头 ...