计算机网络技术俄罗斯方块,《The Tetris Effect》:这本新书讲述了俄罗斯方块的传奇故事...

原标题:《The Tetris Effect》:这本新书讲述了俄罗斯方块的传奇故事

在游戏发展史上,俄罗斯方块是个传奇。没有一款游戏像它一样影响深远,受到全球不同人的喜爱。在即将出版的《The Tetris Effect》(俄罗斯方块效应)中,科技记者 Dan Ackerman 讲述了俄罗斯方块的精彩故事。下面是 Wired 网站节选的部分内容。

为了在自己的 Electronica 60 上玩游戏 ,俄罗斯计算机科学家 Alexey Pajitnov 去莫斯科最著名的玩具商店 Children’s World 寻找灵感。在那里,他发现了一套塑料的五格骨牌,并将其带回了俄罗斯科学院。

df72ecd0e5d0cda77596a53f361d1e02.png

(图片来自 Wired)

Alexey 在这套五格骨牌上花费了大量时间,想要把游戏搬到计算机上面。他知道,自己面临的最大问题是落后的硬件。要做出一款五格骨牌游戏,他需要图形处理能力更强的计算机,而 Electronica 60 连最基本的图形也画不出来。

Alexey 想到了替代方案。他用上了唯一可用的图形,就是键盘上的标点符号。每个形状由标点符号组成,其中,括号用的最多。这是最早的游戏版本,开发时间是六天。原来的五连块被削减了一块,成了四连块,然后,Alexey 组合了七种基本形状。

这个版本忠实再现了五格骨牌的玩法。玩家移动屏幕上的四连块,将其放入一个长方形里面。在玩了几局之后,Alexey 发现了一个很大的问题,这个游戏极为无聊。在现实中,解谜游戏是不限时的,玩家可以慢慢思考策略,但是,面对计算机屏幕时,玩家与游戏的关系发生了改变。计算机游戏的操纵性更强,要求玩家做出即时的反馈。

57fd60d4c97eca74d97d129edd59a335.png

(图片来自 Wired)

在接下来的几周里,Alexey 继续改进这款游戏,努力将其简化到最基本的要素。设计上的极简主义带来了理念突破:要玩游戏,你并不需要整块屏幕。正如五连块简化为四连块一样,Alexey 把游戏区域缩减为狭窄的长条,各种形状从上面落下,玩家要做出快速和精确的选择。问题在于,当横行被占满后,下面的空位就无法填充了,而游戏也会很快结束。

Alexey 的解决方案成为《俄罗斯方块》最经典的要素。当横行填充完成,没有任何空隙后,那一行就会从屏幕上消失。于是,游戏的目标不仅仅是组合形状了,而且是让更多横行尽可能地消失掉。

以前,Alexy 经常在深夜做项目或者测试硬件,现在,这些时间都被用在了游戏上面,即使在白天,他也会玩自己的游戏,并假装是在测试软件。由于游戏的核心部分是四连块(tetromino),而玩家与方块的对抗让 Alexy 想到了网球(Tennis),于是,他把这款游戏称作是 Tetris。

最初的 Tetris 是个很简单的游戏,缺乏我们现在熟知的一些要素。它没有任何的声音,没有计分,也没有关卡,而且,它没有任何俄罗斯元素。上世纪 80 年代的版本中出现了俄罗斯建筑、俄国字母,其实是为了满足西方玩家的口味。

3bfe85841cc5ade0da5d882acfa82726.png

(Woz 爱玩俄罗斯方块。图片来自 funkyspacemonkey)

Alexey 的俄罗斯方块得到了同事的关注,但它似乎难以长久存在下去。当时,俄国还没有商用网络,游戏无法分享出去,而且很少人拥有个人计算机。还有,Alexey 的游戏是为 Eletronica 60 编写的。这是一种很罕见的机器。由于游戏无法兼容 IBM 的个人计算机,大多数俄罗斯程序员和技术爱好者根本玩不了这个游戏。

因此,即使游戏在俄罗斯科学院快速传播,其影响似乎很难超出小众范围。要从封闭的系统中逃脱,它还需要一个载体。那是另一个故事了。

题图来自 nintendolife返回搜狐,查看更多

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机主机响是什么原因,电脑主机发出不同的响声及解决措施

电脑在使用一段时间后,难免都会遇到些小问题。如很多朋友使用的台式电脑,在开机的时候,主机就会发出很大的响声。其实当主机发出不同响声时,就代表着不同的故障,我们可以根据相应的响声来找出故障的所在。今天U大侠小编…

计算机上的键有什么功能吗,电脑功能键都有什么用,电脑上功能键的用法_系统圣地...

电脑大家都使用了不少年了,但是对于键盘最上方的F1到F12的功能都是什么,相信不少小伙伴都一知半解吧,毕竟平时使用的比较少,但是在某些情况下,这些功能键能够有效的提升你的做事效率,所以了解一下还是不错的…

云测试软件详解,软件测试之登录测试详解

一、功能测试–登录功能性测试用例包括:1.什么都不输入,点击提交按钮,看提示信息。(非空检查)2.输入已注册的用户名和正确的密码,验证是否登录成功;3.输入已注册的用户名和不正确的密码,验证是否登录失败&a…

计算机启用时间 查找方式,电脑实用知识技巧 篇六:不需要第三方软件,这种方法查看系统启动时间...

电脑实用知识技巧 篇六:不需要第三方软件,这种方法查看系统启动时间2019-04-04 09:19:210点赞0收藏0评论上次我们说到:开机小助手,要让我们看到开机时间,必须添加自启动项目,这将拖慢我们的开机速度。有没有…

迷你世界显示未连接服务器成功,迷你世界登录未成功是什么意思 | 手游网游页游攻略大全...

发布时间:2017-08-29迷你世界两周年庆活动到来,那么两周年庆迷你世界有哪些活动呢?很多小伙伴都不了解吧,那么下面牛游戏小编就给大家仔细的介绍一下迷你世界两周年庆活动吧,希望能给大家带来帮助. 迷你世界两周年庆活动 世界守护计划--环保筑梦师 ...标签&#xf…

广播 消息 没有服务器,服务器节点消息广播

服务器节点消息广播 内容精选换一换添加节点时提示“添加节点失败,节点已存在”。待添加节点的服务器上已安装系统性能分析或者添加过节点。如果待添加节点的服务器上已安装系统性能分析,需要登录服务器卸载系统性能分析,详细步骤请参见卸载&…

微信收款音响s3服务器断开,微信收款音响s2和s3有什么区别

微信收款音响s2和s3的区别:1、S2是一款四角梯形形状的音箱,S3是一款圆角正方体形状的音箱。2、S2电池1200mAh,S3电池1800mAh。3、S3可以连接WiFi,S2都不可以。音响(Audio electronics)广义上是指一种利用电子回路设计进行音讯与电…

手机访问服务器中的数据库文件,手机连接服务器数据库文件在哪里

手机连接服务器数据库文件在哪里 内容精选换一换通过PostgreSQL客户端连接实例的方式有非SSL连接和SSL连接两种,其中SSL连接通过了加密功能,具有更高的安全性。绑定弹性公网IP并设置安全组规则。对目标实例绑定弹性公网IP。关于如何绑定弹性公网IP&#…

浅谈C语言字节对齐

首先,我们得知道为什么要进行内存对齐,它的意义何在?在这儿可以先看这样一张图。(手绘请见谅!!!) 我们知道,在32位CPU下,一个读取周期可以读取四个字节。一个…

C语言中函数调用中的传值与传址

首先介绍一下函数中传值与传址的概念: 传值:传值,实际是把实参的值赋值给行参,相当于copy。那么对行参的修改,不会影响实参的值 。传址: 实际是传值的一种特殊方式,只是他传递的是地址&#xf…

C语言交换两个变量数值的几种方法

因为经常见到这类题目&#xff0c;就自己总结了以下几种办法 1. 创建中间变量 这是最快也是最简单的办法&#xff0c;例如&#xff1a; #include<stdio.h>int main() {int a10;int b20;int temp;printf("交换前a,b的值为:\n");printf("a%d\n",a);…

vim中自动添加文件的作者、时间信息、版本等

1、linux系统版本&#xff1a;ubuntu-10.10 2、打开&#xff1a;vim ~/.vimrc 在文件末尾添加如下内容&#xff0c;如图一 &#xff08;图一&#xff09; 3、新建文件后直接按“F4”可插入作者文件信息&#xff0c;如图二所示 &#xff08;图二&#xff09;

数组的下标越界与内存溢出

很相似的两个概念&#xff0c;一不小心就会混淆 首先&#xff0c;对两个名词做一个大概的解释&#xff1a; 下标越界 在引用数组元素时&#xff0c;使用的下标超过了该数组下标的应有范围&#xff0c;但应注意的是&#xff1a; C/C不对数组做边界检查。 可以重写数组的每一…

二分查找(折半查找)

二分查找(折半查找)&#xff1a; 从有序序列中找到给出的要查询的数字。 原理是&#xff1a;首先把一个有序序列中间位置的值与要查找的数比较&#xff0c;若相等则找到了有序序列中的此数&#xff1b;否则比较两者的大小&#xff0c;若前者大&#xff0c;则把有序序列的中间…

C语言实现用星号在屏幕上打印菱形

很多人第一感觉肯定都是&#xff1a;很简单啊&#xff0c;不就是多写几个printf 语句嘛 像这样&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main() {printf(" *\n");printf(" ***\n");printf(" *****\n");p…

多维数组元素的下标引用与指针访问

在这儿值介绍二维数组元素的访问方式&#xff0c;三维、四维……的与之类似。 先用一维数组的相关知识来抛砖 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h>//1、一维数组元素的下标引用与指针访问 int main() {int arr[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }…

scanf()函数错误把输入缓存里的回车作为一次字符输入

有时我们会需要连续的从标准输入中多次读入数据时&#xff0c;那么就可能存在连续使用多次scanf()函数的情况。然而在连续使用scanf()函数时可能会出现一些难以预料&#xff0c;不易发现的坑 #include <stdio.h>int main() {char str[20] { 0 };char c 0;scanf("…

C语言注释与C++注释的相互转换

做此项目的经历主要的收获是熟悉了状态机这一方法的使用&#xff0c;还有就是对每实现一个功能就尽量封装一个函数这一概念把握的更为精到。 状态机&#xff1a;关于状态机的一个极度确切的描述是它是一个有向图形&#xff0c;由一组节点和一组相应的转移函数组成。状态机通过…

运算符优先级与结合性

在编程中经常会有遇到运算符的地方&#xff0c;而每个运算符都有不同的优先级&#xff0c;错误的使用运算符&#xff0c;可能会发生难以预料而又不易发现的错误&#xff0c;因此我们需要掌握运算符的优先级。 优先级的序号越小&#xff0c;优先级越高。

switch()语句块的出口:break;

switch()语句块里的case:相当于一个开关&#xff0c;只要满足case的条件&#xff0c;开关就打开&#xff0c;从而执行case语句块的内容&#xff0c;而break就相当于一个出口&#xff0c;只要碰到了break&#xff0c;就跳出switch语句块&#xff0c;否则就继续执行下一条语句&am…