《Invert》开发日志01:核心玩法设计
前面提过,这个游戏的核心玩法基于我做的第一个Unity游戏,名字就叫《Invert》,现在在应用宝上面还能搜到。不过那个游戏也不是我原创的,它的玩法设计来自github上的一个开源项目(https://github.com/gorried/inverter),那时候我正在上培训班,它本来是我的一个课下练习。当时主要是为了熟悉游戏从制作到发布的流程,所以几乎完全模仿了原项目的设计,连方块的配色都没改(因为我觉得那配色挺好看的,还特意用Photoshop取了人家的色值)。
但是现在回过头来看,这种设计其实是有待商榷的。前两天看了IndieACE上的一篇文章(http://www.indieace.com/topic/137),感触颇深。诚然,现在扁平风大行其道,极简风格的游戏受众也越来越多,但这只能说明用户越来越适应这种设计,并不能证明它本来就应该是这样的。我们停下来想一想,排除人造物品,自然界中哪种东西是由纯色的小方块整齐排列组成的?反正我是想不出来。我甚至可以作出一个大胆的假设:如今我们身边所有的东西都是四四方方的,大抵是由于人类早期生产活动形成的思维惯性。
我们文明刚刚迈入农耕时代的时候,使用“刀耕火种”的作业方式种植作物。而由于人体的生理基础,我们倾向于在负重的情况下走直线而非曲线,这就形成了我们对直线最初的好感。到后来我们使用木材作为建筑材料,因为树干大部分都是直线形的,建成的房子自然也就四四方方的了,我们开始习惯使用直线和矩形。手工业逐渐发展,我们很容易就发现直线形的切口是工艺上最简单的,立方形的材料也是用起来最方便,所以你会发现埃及金字塔是用Cube拼成的。今天跟埃及法老建金字塔的时候并没有太大差别,我们住在立方形的房子里,因为盖房子的钢筋是直线形的;我们拿着矩形的手机,因为矩形的模具更容易制作和量产……甚至在计算机的世界里也是如此,了解一点图形的朋友应该都清楚,计算机里所有的图片都是矩形,所谓的圆形图片其实只是它的边角部分像素alpha值为0而已。
我们再看这个游戏的玩法:

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

虽然还是点击操作,但是将交互区域从面转移到点上,由点的变化影响线的变化,由线的变化影响面的变化。其实从数学上看,这两种设计完全等价。但是点、线、面的联动更容易让人产生对现实世界的联想,同时也可以增加游戏表现上的层次感。我第一个联想到的就是农田和灌溉,虽然实际农业生产的情况肯定不是这样,但能映射到现实世界中的事物,总比单纯的思维游戏更容易让人接受。
这就是游戏的核心玩法,说白了其实就是一个平面几何领域的数学游戏。我总是倾向于避免把游戏变成人与人之间对抗的工具,首要原因当然是这样的强联网游戏需要服务器端的大量工作,不太适合独立开发;更重要的原因是我一直怀念当初单机时代的游戏体验,我总觉得电子游戏应该是作者思维和情感的具现,玩家经由游戏的玩法、剧情、画面、音乐与作者形成思想共鸣,最终完成个性化的解读和理解。就像一首歌,一本书,一部合格的电影。
核心玩法设计至此结束,接下来将确定游戏的整体表现风格……
《Invert》开发日志01:核心玩法设计的更多相关文章
- Rokid开发者社区skill之【历史上的今天】之简介+玩法+设计+实现+心得
Skill简介: 来源:好奇心.探索欲.趣味性: 资源:百度百科: 方式:实时获取,自动更新: 技能玩法: 想要进入历史上的今天这个skill,则对若琪说:若琪,打开历史上的今天. 想要了解某天的历史 ...
- 《Invert》开发日志00:缘起
按照所有程序员的惯例,编号从0开始.本系列日志将记录一款独立游戏 发起->构思->设计->实现->完善->测试(如果需要)->上线->后期维护(如果有人玩) ...
- 《Invert》开发日志03:一些想法
本来标题想写“详细设计”,但是由于独立游戏开发有很强的探索性,最终项目一定是经过原型调整迭代而来的,所以在实际效果出来之前把设计做得太细并没有太大意义,现在只能先陈列目前的一些想法,不能定义“它是什么 ...
- 基于Spring框架怎么构建游戏玩法服务
说明:本篇阐述的问题,是基于前面的游戏服务器架构设计的. 问题 众所周知,Spring最擅长的领域是无状态服务的构建,而游戏(尤其是玩法部分)是有状态的.以棋牌游戏为例,玩法服务里面大概涉及以下两类对 ...
- 《Invert》开发日志05:终止
今天终于看了久闻大名的<独立游戏大电影>,然后我就做了一个坑爹的决定:终止“Invert”项目的开发.没错,在还没正式开工之前,我就决定停掉这个项目,而且是永久终止.做这个决定并不是因为觉 ...
- [课程设计]任务进度条&开发日志目录
任务进度条&开发日志目录 周期 时间 任务 Sprint One 11.14 ● Scrum团队分工及明确任务1.0 Sprint One 11.15 ● Scr ...
- ExceptionLess新玩法 -- 审计日志
审计日志 这算是一个挺酷的功能,把每个请求都记录下来,之前在abp中看到过这个功能,配合可视化的界面,简直是在装逼 看到了exceptionless后,心念一动,我也可以根据它做一个审计日志的功能.这 ...
- ExceptionLess新玩法 — 记日志
ExceptionLess 之前也有介绍过这个框架,其实网上也有很多的资料,无论是部署还是一些详细的高级玩法都讲的很清楚也很棒,博主也学习了一些他们的博文,因为很多的东西比如本地部署别人已经写了,我再 ...
- 简单Elixir游戏服设计- 游戏玩法介绍
抄以前的,做了点修改. 到目前为止,我们完成了玩家的数据和进程建模,现在介绍游戏玩法. 为什么我们还不做客户端接入.协议指定呢?为什么还没有网关和数据存储呢.在我接手的游戏, 这些通常已经定下来了,我 ...
随机推荐
- javascript中关于数组的一些鄙视题
一.判断一个数组中是否有相同的元素 /* * 判断数组中是否有相同的元素的代码 */ // 方案一 function isRepeat1(arrs) { if(arrs.length > 0) ...
- DOM事件类型详解
一.表单事件: input事件当<input>.<textarea>的值发生变化时触发.此外,打开contenteditable属性的元素,只要值发生变化,也会触发input事 ...
- TABLE CONTROL隐藏列和固定列的实现
一.设置固定列 需求:为了方便对主要关心信息地查看,用户希望TABLE CONTROL左边的一列或者几列在屏幕上固定.针对用户这样子的需求, 我们首先会想到类似与屏幕编辑/可见等字段属性设置,但是此方 ...
- SharePoint 2013必备组件离线包安装:AppFabric无法安装问题解决
由于没有网络,无法使用sharepoint2013的安装必备软件的在线下载向导安装,当要安装 SharePoint 2013 的服务器与 Internet 隔离时,通常需要从脱机位置安装必备组件.即使 ...
- SharePoint Online 创建门户网站系列之创建栏目
前 言 SharePoint Online的栏目,简单描述即显示在首页上的各个模块信息,这里,我们主要介绍我们首页上的栏目,包括简介类型.新闻列表类型.图片类型: 下面,让我们开始在SharePoin ...
- 开发者账号续期后,itunes停止付款了
开发者账号过期后,没有及时续期,等再续期后,itunes停止付款到公司银行账户了.过了一个多月了还是没有收到itunes的付款.然后开始联系苹果客服和技术支持,他们都说只能通过itunes的“联系我们 ...
- Android 杀死进程
当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用: 第一种方法:首先获取当前进程的id,然后杀死该进程.android.os.Process.killProcess(an ...
- Cordoval在iOS中的运用整理
一:关于Cordoval理论知识 1:PhoneGap是手机平台上流行的一款中间件.它构建在各种手机平台所提供的WebView(浏览器内核)组件的基础之上,使用javascript语言对应用开发者提供 ...
- iOS 用webView加载后台返回的HTML数据
返回数据: <p><b>\U516c\U53f8\U7b80\U4ecb</b></p><p> \U5584\U76c8\U7ba1\ ...
- 【代码笔记】iOS-判断中英文混合的字符长度的两种方法
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...