6.6 KiB
主题设定
「星际文明探索者」 —— 一款以宇宙探索为核心主题的沉浸式交互网页游戏。玩家扮演一名星际探险家,驾驶先进的星际飞船在浩瀚的宇宙中穿梭,探索未知星球、收集星际资源、抵御宇宙威胁,并逐步揭开宇宙文明的神秘面纱。
核心功能需求
游戏机制设计
玩家控制一艘具有先进推进系统的星际飞船,在 procedurally generated(程序生成)的宇宙空间中自由移动。游戏应包含以下核心玩法:
探索系统:宇宙空间由数千颗恒星、行星、陨石带和星际尘埃组成,支持无限滚动或动态加载机制。每颗星球拥有独特的外观特征(颜色、大小、环系统、大气层效果),玩家可以操控飞船靠近星球进行扫描和分析,揭示星球的地质构成、是否有水资源、是否适宜居住等科学数据。
资源采集:玩家在探索过程中可以采集星际资源,包括稀有矿物、能量晶体和古老文明遗迹碎片。资源管理系统需要在界面上清晰展示当前载量和采集进度,同时提供升级飞船引擎、护盾和扫描仪等子系统的功能菜单。
战斗系统:宇宙中潜伏着各类威胁,包括自动防御无人机、太空海盗和流浪小行星。战斗采用即时制,玩家通过鼠标控制飞船瞄准,键盘控制移动和技能释放。战斗特效应包含激光束、等离子体爆炸、护盾能量波动等视觉反馈。
进化成长:飞船在战斗和探索中获得经验值,解锁新技能和装备。升级界面采用3D旋转展示飞船模型,玩家可以选择性强化推进系统(影响移动速度和加速度)、能量系统(影响护盾持续时间和武器威力)或扫描系统(影响资源发现概率和星球信息完整度)。
视觉设计规范
整体美学:采用深空蓝紫色调为主基调,配合高亮的星光效果和流线型的界面元素。所有UI元素需采用半透明磨砂玻璃效果,边缘带有微弱的发光描边,营造未来科技感。字体选用无衬线字体,部分标题使用带有渐变发光效果的定制字体。
背景层:使用 WebGL 或 Canvas 渲染动态星空背景,星星具有视差滚动效果,远处的星云采用多层半透明叠加营造景深感。偶尔出现的超新星爆发、脉冲星闪烁和流星雨增添动态氛围。
粒子系统:飞船引擎喷射的火焰、战斗爆炸效果、能量护盾激活时的涟漪、采集资源时的粒子汇聚效果均需要精心设计。粒子应具有物理运动特性(速度、加速度、生命周期、颜色渐变),总数在保持60fps流畅度的前提下尽可能密集。
动画过渡:所有界面切换、菜单弹出、按钮悬停均需配备平滑的动画过渡。推荐使用 CSS Transitions 配合 JavaScript 控制的动画曲线,避免生硬的跳变。飞船移动应具有惯性物理特性,加减速过程自然流畅。
技术实现要求
架构规范
整个项目必须整合为单一 HTML 文件(index.html),内部依次包含 <style> 标签定义的 CSS 样式和 <script> 标签定义的 JavaScript 逻辑。外部资源引用仅限 CDN 方式引入必要的第三方库。
第三方库引用(CDN)
必须且仅可从可靠 CDN(如 cdnjs、unpkg、jsdelivr)引入以下类型的库:
图形渲染库:可选择引入 Three.js 或 Pixi.js 用于复杂的3D场景渲染或2D高性能图形绘制。若选择 Three.js,需同时引入 OrbitControls(用于相机控制)和 GLTFLoader(用于加载3D模型,如果需要的话)。
物理引擎库:可选择引入 Matter.js 或 Cannon.js 用于碰撞检测和刚体物理模拟,特别是陨石撞击和飞船漂移效果。
动画库:可选择引入 GSAP 或 anime.js 用于复杂的时间轴动画控制,特别是UI元素入场动画和连击特效。
音频处理库:可选择引入 Howler.js 或 Tone.js 用于游戏音效和背景音乐的播放控制,支持空间音频效果更佳。
粒子库:可选择引入 tsparticles 或类似专用粒子引擎,用于大规模粒子效果的高效渲染。
代码质量标准
模块化设计:JavaScript 代码应采用模块化结构,至少包含以下核心模块——游戏主循环模块(Game Loop)、渲染引擎模块(Renderer)、输入处理模块(Input Handler)、实体管理系统(Entity Manager)、UI 界面模块(UI Manager)、数据持久化模块(Save/Load System)。各模块职责清晰,接口规范。
性能优化:对于 Canvas/WebGL 渲染的内容,需要实现对象池(Object Pool)管理频繁创建销毁的粒子和实体;采用空间分区(Spatial Partitioning)或四叉树(Quadtree)优化碰撞检测;使用 requestAnimationFrame 实现流畅的动画循环;在非活动状态自动降级渲染质量。
响应式设计:游戏界面需完美适配不同尺寸的视口,从移动端竖屏到桌面端宽屏均能正常显示和操作。关键 UI 元素在缩放过程中保持可点击区域足够大,重要信息不被遮挡。
可访问性:尽管是视觉为主的游戏,仍需提供基础的键盘操作支持,重要提示信息应配有文字说明,色彩对比度符合 WCAG 标准。
交付物说明
请生成完整的单一 HTML 文件代码,包含以下内容:
- 完整的 HTML 结构:语义化标签构建的游戏容器和 UI 界面
- 精美的 CSS 样式:符合上述视觉设计规范的样式定义,包含所有动画和过渡效果
- 健壮的 JavaScript 逻辑:实现完整的游戏功能,代码注释清晰,结构分明
- CDN 资源引入:在文件头部正确引入所需的第三方库
- 使用说明:在页面某处或控制台输出简要的操作指南
评判标准(供测试参考)
评估生成代码时应关注以下维度:
功能完整性:游戏是否可正常运行?核心玩法是否都已实现?是否存在明显的逻辑漏洞或功能缺失?
视觉表现力:粒子效果是否精美?界面是否具有视觉冲击力?动画过渡是否流畅自然?是否有效利用了引入的图形库能力?
代码质量:代码结构是否清晰易读?是否有适当的错误处理?性能表现是否良好(可通过浏览器开发者工具监控)?
创新亮点:是否在基础需求之上增加了令人惊喜的创意元素?这些额外特性是否有效增强了用户体验?
请基于以上需求描述,生成一套完整的前端工程代码。