【Js13kGames】基于JavaScript 创造仅有13kb大小的游戏世界

2023-11-04 01:10

本文主要是介绍【Js13kGames】基于JavaScript 创造仅有13kb大小的游戏世界,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

13kb大小的游戏,尽管以前就有所耳闻,但一直也没太当回事,今天逛阿b偶然刷到了相关视频,实际去体验了下,并拜读了部分源码:大受震撼!希望日后我也有能力编码并制作。
今年的比赛刚好结束,新鲜出炉,先直接放几个我觉得好玩的,多说无益直接体验就好:

  • 战斗指挥官 - 中世纪(策略):https://js13kgames.com/entries/battle-commander-middle-ages
  • 是梅林(肉鸽游戏):https://js13kgames.com/games/its-merlin/index.html
  • 荣耀之路(肉鸽游戏):https://js13kgames.com/entries/path-to-glory
  • 大炮波尔夫(解谜过关):https://js13kgames.com/entries/cannonbolf
  • 城堡逃生(解谜过关):https://js13kgames.com/entries/castle-escapea-2023
  • 十三岁的罗宾(平面闯关,画风很爱):https://js13kgames.com/entries/robin-of-thirteensley
  • 骑士(音游):https://js13kgames.com/entries/knight
  • 侏罗纪苗圃(休闲养成):https://js13kgames.com/entries/jurassic-nursery

Js13kGames 是什么

在这里插入图片描述

HTML5 and JavaScript Game Development Competition in just 13 kB
https://js13kgames.com/

介绍: js13kgames是一项年度游戏开发比赛,要求参赛者在 30 天内,源代码在13KB 的限制内创建完整的HTML5游戏。这项极限挑战鼓励开发者精简代码和资源以满足比赛规则。

规则:

  • 游戏必须在13KB的限制内,包括所有代码和资源。
  • 你需要提供两个版本的游戏源代码:一个压缩版本,一个可读版本。可读版本需包含描述性变量名称和注释,托管在GitHub上。
  • 不允许使用外部库、图像或数据文件。所有资源都必须符合文件大小限制。

主题: 每年比赛有不同的主题,但你可以自由解释主题并在游戏中实现。

  • 2012年 - Evil or not
  • 2013年 - Space
  • 2014年 - The Elements
  • 2015年 - Reversed
  • 2016年 - Glitch
  • 2017年 - Lost
  • 2018年 - Offline
  • 2019年 - Back
  • 2020年 - 404
  • 2021年 - Stuck in a Loop
  • 2022年 - The Future
  • 2023年 - 13th Century

相关技术栈

  • HTML5和Canvas API: 使用HTML5和Canvas API创建2D游戏界面。HTML5和Canvas API
  • JavaScript压缩工具: 使用UglifyJS或Terser等工具来最小化JavaScript代码。
  • 图形工具: 创建像素艺术使用Aseprite或GraphicsGale。
  • 音效工具: 添加音效使用Howler.js。
  • 版本控制系统: 使用Git进行版本控制。

Ga(游戏引擎)

在这里插入图片描述

一个轻量级、极小(6.5kB)、容易上手的 JavaScript 游戏引擎,可用于制作 HTML5 游戏或任何 2D 动作游戏。
https://github.com/kittykatattack/ga

Kontra(游戏引擎)

在这里插入图片描述

专注于小体积的 JavaScript 微型游戏引擎,它虽然小但是提供了游戏常用的操控、事件、循环等核心功能。
https://github.com/straker/kontra

压缩代码

压缩代码通常是减少空格和换行之类的无用内容,从而达到减少代码所占体积的目的。
Google Closure Compiler:https://github.com/google/closure-compiler
MiniMinifier:https://github.com/xem/miniMinifier

Piskel(图像)

在这里插入图片描述

简单易用的在线像素图像制作工具。
https://github.com/piskelapp/piskel

miniMusic(声音)

在这里插入图片描述

可以把音效转化成 JavaScript 的项目,通过这种方式能够有效地减小声音的“体积”,还支持在线可视化的操作方式编辑和生成音效。
https://github.com/xem/miniMusic

这篇关于【Js13kGames】基于JavaScript 创造仅有13kb大小的游戏世界的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/342174

相关文章

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Java字符串处理全解析(String、StringBuilder与StringBuffer)

《Java字符串处理全解析(String、StringBuilder与StringBuffer)》:本文主要介绍Java字符串处理全解析(String、StringBuilder与StringBu... 目录Java字符串处理全解析:String、StringBuilder与StringBuffer一、St

springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法

《springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法》:本文主要介绍springboot整合阿里云百炼DeepSeek实现sse流式打印,本文给大家介绍的非常详细,对大... 目录1.开通阿里云百炼,获取到key2.新建SpringBoot项目3.工具类4.启动类5.测试类6.测

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt