前面提过,这个游戏的核心玩法基于我做的第一个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. jQuery cxSlide 焦点图轮换

    cxSlide 是一个简单易用的焦点图展示插件,支持水平.纵向切换,透明过渡切换. 已支持 CSS 动画过渡切换.通过 CSS 动画切换,可以展示更多效果. 版本: jQuery v1.7+ jQue ...

  2. C#利用SqlDataAdapte对DataTable进行批量数据操作

    C#利用SqlDataAdapte对DataTable进行批量数据操作,可以让我们大大简化操作数据的代码量,我们几乎不需要循环和不关心用户到底是新增还是修改,更不用编写新增和修改以及删除的SQL语句, ...

  3. ScrollReveal.js – 帮助你实现超炫的元素运动效果

    ScrollReveal.js 用于创建和管理元素进入可视区域时的动画效果,帮助你的网站增加吸引力.只需要给元素增加 data-scrollreveal 属性,当元素进入可视区域的时候会自动被触发设置 ...

  4. 《Javascript高级程序设计》:创建对象

    工厂模式 function createPerson(name,age, job){ var o = new Object(); o.name = name; o.age = age; o.job = ...

  5. datagridview的数据存取

    这里主要是复习DataSet等数据或ADO.NET方面的知识.下面是一个简单的数据存储(在DataGridView上增加一行然后并存储到数据库的过程): private void button1_Cl ...

  6. PHP代码审计中你不知道的牛叉技术点

    一.前言 php代码审计如字面意思,对php源代码进行审查,理解代码的逻辑,发现其中的安全漏洞.如审计代码中是否存在sql注入,则检查代码中sql语句到数据库的传输 和调用过程. 入门php代码审计实 ...

  7. 用SVG绕过浏览器XSS审计

    [Translated From]:http://insert-script.blogspot.com/2014/02/svg-fun-time-firefox-svg-vector.html === ...

  8. 线程安全、数据同步之 synchronized 与 Lock

    本文Demo下载传送门 写在前面 本篇文章讲的东西都是Android开源网络框架NoHttp的核心点,当然线程.多线程.数据安全这是Java中就有的,为了运行快我们用一个Java项目来讲解. 为什么要 ...

  9. Java 项目JDBC 链接数据库中会出现的错误

    1.出现的地方 package com.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql ...

  10. 关于iOS和OS X废弃的API知识点

    今天在查看苹果接口文档时,突然对于接口的声明知识点比较感兴趣,再网络找到下面这个比较不错的文章,记录一下并分享: 如你所知,已废弃(Deprecated)的API指的是那些已经过时的并且在将来某个时间 ...