2kB也能做出好玩的游戏?别惊讶,你一定玩过

3A游戏大作层出不穷,这些游戏画面精美、特效逼真、打斗精彩,这些优点都建立在庞大的游戏体积和高要求的硬件配置上。

c1820ef34cf13c96334a2a3768293946.gif

国产3A大作《黑神话悟空》

《量子破碎》、《GTA5》、《最终幻想》......这些游戏的大小动辄几十G甚至上百G。

排名游戏大小
1使命召唤17164.9GB
2量子破碎158GB
3微软模拟飞行150GB
4最终幻想15皇家版148GB
5光环:士官长合集125.9GB

游戏大小排名

9bc5ccff0356afcd6b792d92ee61a110.png

还记得儿时的游戏吗

随着CPU和显卡等硬件设施的迅速发展,似乎游戏就应该往越来越大、越来越丰富、越来越逼真推进。但回顾几十年前,我们小的时候接触的小霸王游戏,尽管玩法简单、画面简陋,但在我们的记忆中占据了重要位置,为我们的童年带来了无限欢乐。

c4f8e8dfecfa9dbc8db1388e70fadc22.png

我们玩的小霸王是仿制任天堂出品的Family Computer,因其红白相间的配色也被称为红白机。

那个时候的游戏有多小呢?有人进行了一个统计,小时候玩的小霸王(红白机)上全部1053款游戏加起来,一共大概223MB,这是什么概念呢,打开你的手机,随便拍个5分钟的视频,基本就超过这个大小了。

很难以置信吧!这么小的容量,给我们带来了这么多的欢乐!

最出名的红白机游戏之一《超级马里奥》,相信每一个80、90后没有玩过也听说过。

5fcb68d10c9f3654082b61cee0a0a708.gif

抛开其极富创意的踩小怪、顶砖块等元素不谈,你知道这么一款风靡全球的游戏,有多大吗?

不到40kB。

即使是后面玩法更丰富,关卡元素更多的魂斗罗,也只有不到128kB。

15c20bad41fe4f5db453c0635907a1b2.gif

为什么这么小的一个容量,却能实现这么好玩的游戏效果呢?其中一个节省游戏大小的重要技巧就是瓦片地图

现在,我们就用最简单的语言,来解释瓦片地图的神奇,相信看完之后,你会非常佩服以前游戏开发者们的天才创意。

fe63746dbc18393f82a8a2729cb79444.png

瓦片地图的原理

以正版的红白机为例,它的分辨率为256*240,分辨率实际上不算低,但能够使用的显存只有2kB

正常来说,分辨率256*240需要多少显存才能显示呢?我们可以来简单计算一下。

256*240代表一个屏幕上有256*240的像素点,每个像素点的颜色可以是240种常用颜色的一种,而1个字节(8位)恰好可以表示256(2的8次方)种颜色,那么我们就可以用1个字节来表示一个像素点的颜色。

也就是说,这么一副画面,需要256*240字节,也就是61.44kB的显存,而我们的红白机提供的2kB明显不够用,这个时候就是瓦片地图的作用了。

让我们再来看一下《超级马里奥》的游戏画面。

7574d93bf95f6845fb58a1cb869295c7.png

不难发现,这个图片上很多重复的元素,比如每个砖块都长得一样,每个水管也都是相同元素累加的。

其中最神奇的重复,莫过于天空中的白云,和地面上的草丛,实际上只是换了颜色而已。

怎么样,小时候没有发现吧?

一个瓦片就是一个8*8的像素图片,那么就可以用32*30(960)个瓦片来表示256*240的画面。

而超级马里奥这个游戏涉及到的瓦片种类也不超过256种,因此可以为每种瓦片分配一个0~255的编号,用1字节就可以表示一个瓦片,这样960个瓦片组成的画面也就只需要960个字节,远小于2kB的显存。

b230f93d2e6da333faf5af76866f4165.png

当然,我们还需要把瓦片加载到显存中,一个8*8的瓦片需要64字节的显存大小,而一个游戏画面使用的瓦片最多只有十多种,因此就算加上所有瓦片所占大小,也不超过2kB。

11cdabd81d09010bd6895befb51a03c2.png

让我们永远快乐!

就这样,在一个小小的芯片上,一款款好玩的游戏出现在我们眼前。

感谢游戏开发者的努力,让我们能在技术并没那么发达的年代,玩到这么多好玩的游戏。开发者们在及其简陋和苛刻的条件下,尽量减少游戏大小,想办法通过各种创意性的玩法增加游戏的趣味性。

《超级马里奥》《魂斗罗》《雪人兄弟》《热血足球》......这些游戏,尽管十几年过去了,再回想起,耳边仿佛依然能回荡起小伙伴你争我抢的欢声笑语。

时代在进步,我们也在长大,愿你能在复杂的生活中,保持儿时的欢乐。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值