好奇!仅 13kB 大小的游戏,源码长啥样?
这个马赛克风格的表情正好 13Kb,有人竟然能用一个表情大小的空间,制作个游戏出来。我就不信这么点的地儿,能写出个花来?游戏能好玩吗?因为这些游戏点开就能玩,我抱着试一试的心态把玩了一会。
事实证明是我的无知限制了我的想象力,这些 13kB 的游戏并没有我想的那么简陋和无聊。它们不仅有丰富的图像,还有音乐、物理、重力系统,包含射击、益智、技巧等不同的类别玩法多样,令我眼前一亮!
下面我就整理出了 3 个我觉得好玩的游戏,并附上了在线体验的地址以及 GitHub 上的源码。
大家先体验一下游戏,后面我们再聊这些游戏都用到了哪些开源项目。
1、Space Huggers(太空保护者)
射击类游戏,消灭所有敌人。通过外接手柄可进行多人游戏,最多支持 4 个人。不仅如此还有敌人和道具系统以及雨、雪、血、爆炸、武器、水等粒子系统。手机端操作需要外接手柄。
操作:
- WASD 或方向键:移动、跳跃和攀爬
- Z 或左键单击:射击,大多数东西会破裂,有些会燃烧
- X 或中键:滚动,短暂的无敌状态,还可灭火
- C 或右键单击:手榴弹,每条命有 3 个
- 还可最多连接 4 个进行合作游戏!
敌人类型:
- 新兵(绿色):迟钝,只需要 1 击
- 士兵(蓝色):正常的速度,需要 2 次攻击
- 船长(红色):可以更频繁地爬墙和跳跃,需要 3 次攻击
- 专家(白色):经常跳跃和滚动,需要 4 次攻击
- 爆破专家(紫色):投掷手榴弹且不会着火,需要 5 次命中
2、Black Hole Square(黑洞广场)
益智类游戏,把所有块清除则过关。
- 操作:向左划开始游戏,点击块会向箭头方向移动,块进入“黑洞”则被清除
- 支持移动端
试玩:https://js13kgames.com/games/black-hole-square/index.html
3、PACKABUNCHAS
益智类游戏,用提供的形状拼出指定的形状,
- 操作:点击旋转,拖动图形
- 支持移动端
Js13kGames 是什么
以上这些游戏都是 2021 Js13kGames 的参赛作品,这个比赛每年举办一次,要求参赛者在为期 30 天的时间里用 JavaScript 做出一款体积小于 13kB 的 HTML5 游戏。30 天用 JS 做个游戏并不难,难点在于如何让游戏小于 13kB。
压缩游戏体积可以从以下四个方面入手:
- 游戏引擎
- 压缩代码
- 图像和声音
下面介绍的这些开源项目,在 Js13kGames 很多参赛作品中都能看到它们的身影。
Ga(游戏引擎)
一个轻量级、极小(6.5kB)、容易上手的 JavaScript 游戏引擎,可用于制作 HTML5 游戏或任何 2D 动作游戏。
Kontra(游戏引擎)
专注于小体积的 JavaScript 微型游戏引擎,它虽然小但是提供了游戏常用的操控、事件、循环等核心功能。
压缩代码
压缩代码通常是减少空格和换行之类的无用内容,从而达到减少代码所占体积的目的。
Google Closure Compiler:https://github.com/google/closure-compiler
MiniMinifier:https://github.com/xem/miniMinifier
Piskel(图像)
简单易用的在线像素图像制作工具。
miniMusic(声音)
可以把音效转化成 JavaScript 的项目,通过这种方式能够有效地减小声音的“体积”,还支持在线可视化的操作方式编辑和生成音效。
看到这里你是不是也蠢蠢欲动地准备写个小游戏了呢?
最后
随着科技的发展,存储空间已经不再“捉襟见肘”,我们在编码时也不用“斤斤计较”。但如今看到有这么一群极客,在绞尽脑汁用 13kB 完成一个游戏时。我从最初的好奇和难以置信,再到看到他们的游戏和源码后感叹他们高超的编程技巧,最后开始反思自己在编码时对性能和损耗方面思考的太少。感谢这些开源项目让我大开眼界,也让我发现了自己的不足之处。
本期推荐的开源项目代码量不多,适合新手学习和上手游戏编程,感兴趣的读者可以试着用它们写个小游戏。
以上就是本文的全部内容,如果你对本期推荐的开源项目感兴趣欢迎点赞、转发,让这些优秀的开源被更多人发现和喜欢。这里是 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。欢迎留言和我分享开源项目~
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
宙斯盾 DDoS 防护系统“降本增效”的云原生实践
作者 tomdu,腾讯云高级工程师,主要负责宙斯盾安全防护系统管控中心架构设计和后台开发工作。 导语 宙斯盾 DDoS 防护系统作为公司级网络安全产品,为各类业务提供专业可靠的 DDoS/CC 攻击防护。在黑客攻防对抗日益激烈的环境下, DDoS 对抗不仅需要“降本”还需要“增效”。随着云原生的普及,宙斯盾团队持续投入云原生架构改造和优化,以提升系统的处理能力及效率。本文主要介绍宙斯盾防护调度平台上云过程实践与思考。 为什么上云? 云原生作为近年来相当热门的概念,无论在公司内各部门,还是公司外各大同行友商,都受到追捧。云原生涉及技术包括容器、微服务、 DevOps 、持续交付等,这些新的技术和理念能带来哪些收益?在我们看来, 资源共享,动态扩缩容——“降本” 以宙斯盾防护调度平台为例,因为以前申请的物理机资源还在服役期,所以当前大部分后台服务还是运行在物理机。申请时会适当预留 buffer (资源消耗跟外部攻击威胁有关,波峰波谷相差可达十倍)。这部分 buffer 虽然作为 backup ,但同时大部分时间处于空闲状态,物理机也不便于跨系统、项目共享。在资源上云阶段, CVM 已经对物...
- 下一篇
五个维度打造研发管理体系
背景 技术管理者(技术总监/经理/CTO)期望通过体系化的管理方式建设,能够在百人,千人以上的团队中有效的构建聚焦目标,自我成长,高效能的研发作战团队,快速拿出成果,支撑业务的快速发展。 痛点 从小团队人员快速扩张,团队文化稀释,人员效能下降,目标逐渐弱化。 各自团队管理方式及标准不统一,人员管理及协同逐渐混乱。 组织扩大后,难以有效关注个人,无法准确评判个人的成长,贡献等。 目标 通过构建完整研发管理体系,建立管理机制,让技术组织聚焦目标,高效运转,同时激励团队不断优化提升。 研发管理体系构建思考 通过道,法,术,器,势五个维度去思考整个管理体系的构建。 道: 在于文化,思维,准则,价值观,领导力的构建,是思维和思想,它需要我们落到实处。 通常团队小的时候,leader 可以深入到日常的管理事务中,管理者的智慧和想法可以体现在明处并落到做事上。而当团队规模过百人的时候,组织架构一般已拆分层级,各项目和人员已经聚焦于各自产线上,甚至人员都已经分布在各个角落,新人的面孔逐渐陌生,此时我们也许需要构建文化,思维,基本准则,团队的价值观和管理者的领导力。 关注团队文化 文...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Red5直播服务器,属于Java语言的直播服务器
- CentOS关闭SELinux安全模块
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- CentOS7,8上快速安装Gitea,搭建Git服务器