纯JavaScript自研轻量级2D游戏框架 + 经典街机游戏实现(稀土掘金 × AMD 1024码上掘金编程挑战赛 二等奖作品)
独立使用纯JavaScript(无任何第三方游戏引擎,如Phaser/PIXI)从零构建了一个高效、模块化的2D游戏框架,专注于浏览器原生Canvas渲染,适用于快速原型开发与街机/休闲游戏场景。该框架核心模块包括:
- 自定义游戏循环(requestAnimationFrame + 时间步长控制,确保60FPS稳定运行)
- 实体-组件系统(ECS轻量实现,支持组件复用与组合)
- 碰撞检测(AABB + 圆形碰撞,带空间分区优化)
- 动画系统(SpriteSheet + 帧动画管理)
- 输入处理(键盘/触摸事件统一抽象,支持多设备适配)
- 资源加载器(异步预加载图片/音频,进度管理)
- 场景管理(多场景切换、状态机过渡)
- 粒子系统与简单物理模拟(重力、速度、摩擦)
基于此框架,我完整实现并参赛了一款经典街机风格射击/躲避类游戏(类似太空侵略者/雷电变体),包含:
- 玩家飞机操控、射击、升级系统
- 敌人AI波次生成、路径追踪、弹幕设计
- 分数系统、生命值、关卡进度、音效/BGM
- 粒子爆炸、背景滚动、屏幕震动反馈等视觉/听觉效果
- 响应式适配(手机/平板/PC),触摸与键盘双支持
项目全程纯原生JS + Canvas 2D API实现,代码结构清晰、性能优化到位(帧率稳定、内存控制良好),充分展示了前端游戏开发的底层能力与工程化思维。该作品在稀土掘金 & AMD联合举办的1024编程挑战赛中脱颖而出,荣获二等奖(从数千参赛作品中评选),证明了其创意、技术实现与完整度得到官方与社区认可。