wbt · awlzac/wbt
用 Java 写的 80 年代街机游戏 Tempest 克隆,作者自称「wannabe tempest」,同时是一个练习 git 的小项目。玩家操控爬行器沿关卡前缘移动,击退从屏幕中心涌来的 ex、ex pod 与带旋转器的尖刺,并可用 superzapper 清场。作者称其「可玩...
《Onslaught! Arena》是独立团队 Lost Decade Games 用 JavaScript 编写的一款浏览器街机射击游戏,仓库中公开的是相对完整的游戏源码,而不仅是一个玩法演示。游戏的舞台是一座封闭的竞技场,玩家操控名为 Xam 的老练战士,在源源不断的怪物浪潮中尽可能久地活下来。README 用「Fight off hordes of classic medieval monsters in this fast paced arcade shooter」来概括它的气质:节奏快、敌人密集、以生存与击杀为核心驱动。首页地址指向 arcade.lostdecadegames.com 上的在线版本,说明它本来就是以网页形式直接发布、点开即玩的形态,这也决定了整套代码是围绕浏览器环境组织的。
从玩法构成看,它走的是经典街机「波次清怪」路线。敌人取材于中世纪奇幻题材:哥布林、独眼巨人、邪恶巫师、沙虫等依次登场,随着玩家存活时间拉长,压力层层加码。玩家一方同样有成长与选择——武器库覆盖剑、匕首、长矛、战斧乃至火球,近战与远程交替使用是应对不同怪物的关键。README 特别提到,若能活得足够久,玩家将「赢得挑战某些最凶猛怪物的资格」,其中包括凶恶的巨龙与令人畏惧的 Beholder;也就是说,精英怪与首领并非开局即现,而是作为长期生存的奖励被放在难度曲线的后段,形成「清杂兵—抗压—打首领」的节奏。全篇以一句「你能在竞技场里活多久?」收束,可见计分与记录的核心指标就是生存时长。
这个项目还有一段可供追溯的来历。README 的 History 段落记载,Onslaught! 最初是为 Boing Boing 举办的「Games Inspired by Music」比赛创作的,属于有明确命题与截止日的竞赛作品;此后经过一轮额外的打磨与润色,又被送去参加 Freeplay Awards。这条时间线把它放进了 2010 年前后 HTML5 游戏兴起的早期浪潮中:当时浏览器刚刚成为可行的游戏发布渠道,一批小团队用网页技术做快节奏小体量作品,本作正是那一阶段的产物,因而除了可玩性,也带有一定的史料价值。
制作阵容与分工同样清晰。Geoff Blair 负责编程与设计;Matt Hackett 负责美术、设计以及额外的程序工作;Joshua Morse 负责音乐与音效。三人分工覆盖了代码、视觉与听觉三条线,是典型的小团队协作模式:一人主导系统与玩法逻辑,一人主导画面与部分实现,一人专攻声音。对于想了解「小规模团队如何完成一款完整街机游戏」的读者,这份人员名单本身就是一种参考样本;仓库中代码与美术、音频资源的组织方式,也大致对应这种分工。
许可方面需要注意一个常被忽略的区分。项目采用 GPL(General Public License):你可以分发修改后的源代码,但修改版同样必须以 GPL 开源。而游戏素材(图形、音乐等)适用另一套规则——可以免费再分发,但未经作者许可不得转售。换句话说,代码是强著作权的开源许可,素材则是「可传播、不可商用转售」的保留性授权。任何打算把本作素材用于自己项目、或提取音乐另作他用的人,都应先分清这两条边界,避免把「源码开源」误当成「一切皆可任意使用」。
技术实现层面,可确证的信息相对克制:语言是 JavaScript,主题标签为 html5-game,运行环境是浏览器,首页提供在线游玩入口。README 并未交代所用引擎、构建脚本、依赖管理或资源加载方案,也没有给出本地启动步骤,因此具体的渲染方式(Canvas 还是 DOM)、音频播放策略、精灵动画与碰撞处理细节,都需要直接阅读源码来确认,本页不作臆测。可以确定的是,它属于不依赖大型商业引擎、以网页原生技术自建的轻量技术栈,这类项目往往代码量可控、结构直白,适合逐文件通读。
适合的学习点主要集中在几处:一是波次式敌人投放与难度爬升的组织方式,包括普通怪与首领的出场时机;二是玩家控制、武器切换与命中判定这类街机游戏的基础手感要素;三是老派 JavaScript 游戏在没有现代打包工具与模块系统时的代码组织习惯;四是代码与素材分离授权的开源实践。需要提醒的是,本作年代较早,其写法与今天基于模块化、构建工具链的工程实践并不一致,直接照搬风格并不可取;同时由于 README 未记载运行方式与实测情况,能否顺利在本地跑起来、在线版本是否仍然可用,均需自行核验。
id Software 公开的初代 DOOM 源代码,限非盈利使用。README 说明:运行仍需...
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
Frogatto & Friends 是一款 2D 横版动作冒险游戏,主角是一只青蛙;开发团队...
CatacombGL 是 Catacomb 3D 与 Catacomb 冒险三部曲(Abyss、Armageddon、Apo...
jfduke3d 是 JonoF 对 3D Realms《Duke Nukem 3D》的源码移植,基于其 Build...