Skip to content

Anduin2017/AoeMini

Repository files navigation

🏛️ 朴素帝国 (Minimalist Empire)

一个基于 HTML5 Canvas 的极简即时战略(RTS)网页游戏。 无需安装,单文件运行,致敬经典的《帝国时代》核心玩法。

朴素帝国 是一款“拔河”式的横版 RTS 游戏。在一个极简的 2D 战场上,玩家需要管理经济、调配农民、建造建筑、研发科技,并指挥军队摧毁电脑的城镇中心。尽管画面朴素,但它拥有完整的 RTS 数值模型和具有阶段性策略的智能 AI。

🎮 在线试玩

无需下载,直接在浏览器中体验:

👉 点击这里开始游戏 👈


🐳 Docker 部署

你可以使用 Docker 快速部署本游戏:

docker pull hub.aiursoft.com/anduin/aoemini:latest
docker run -d -p 5000:80 hub.aiursoft.com/anduin/aoemini:latest

部署后访问 http://localhost:5000 即可开始游戏。

✨ 核心特性

  • 极致轻量:游戏逻辑完全包含在一个 HTML 文件中,无复杂的后端依赖。
  • 经典经济系统:完美复刻经典的 肉 (Food)、木 (Wood)、金 (Gold)、石 (Stone) 四种资源体系。
  • 完整科技树
    • 铁匠铺:提供两级攻防科技升级(I, II),通过罗马数字直观显示。
    • 防御塔:主城镇中心可升级防御炮台,抵御早期快攻。
  • 智能 AI 对手
    • AI 拥有资源自动平衡算法(缺什么采什么)。
    • 具备三阶段战术:早期双兵营快攻 -> 中期自动补铁匠铺憋科技 -> 后期混合部队压制。
    • 动态战场嗅觉:AI 会根据双方大军接触距离和战线位置,动态切换“冲锋”与“死守”姿态。
  • 现代 UI 设计
    • 类 macOS 的底部 Dock 栏 建筑管理系统。
    • 直观的建造/研发进度条(建造为黄色,科技研发为绿色)。
    • 悬浮菜单与实时状态反馈。
    • 快捷键支持:支持键盘快捷键操作(1-9 选择建筑,QWER 选择菜单,ASDFG 切换姿态)。

🕹️ 游戏指南

1. 界面概览

  • 顶部栏:显示双方名称及当前的攻防科技等级(如 🗡️ I 🛡️ 0)。
  • 左下角:资源管理面板。点击 + / - 分配农民工作(支持长按快速分配)。
  • 底部居中:建筑 Dock 栏。显示已拥有的建筑和建造菜单。
  • 顶部居中:战术指令栏(防守 / 待命 / 进攻)。

2. 快捷键系统

  • 建筑选择1 - 9 对应 Dock 栏上的建筑。
  • 建造面板B 打开建造菜单。
  • 菜单选项Q W E R T Y U I O P 对应菜单中的选项。
  • 战术姿态
    • A: 进攻 (Attack)
    • S: 待命 (Hold)
    • D: 防御 (Defend)
    • F: 撤退 (Retreat)
    • G: 前进 (Advance)

3. 建筑与单位

图标 名称 功能 备注
🏛️ 城镇中心 (Town Center) 生产农民,提升人口上限,研发防御塔 游戏核心,被摧毁即失败
🏠 房屋 (House) 提供 10 人口 廉价的人口扩充手段
⚔️ 兵营 (Barracks) 生产长枪兵、剑士 核心军事建筑
🏹 靶场 (Archery Range) 生产长弓兵、弩手 远程火力输出
🐎 马厩 (Stable) 生产骑兵、骑士 高机动性单位
⚒️ 铁匠铺 (Blacksmith) 研发攻防科技 改变战局的关键

4. 获胜策略

  1. 经济起步:开局优先采集食物(造农民)和木材(造房子/兵营)。
  2. 防御与骚扰:AI 在前期极具侵略性,利用兵营爆兵防守,或升级城镇中心防御塔。
  3. 科技碾压:采集黄金,建造铁匠铺。攻防等级是质变,一个满科技的士兵可以战胜两个白板士兵。
  4. 兵种克制:注意兵种之间的克制关系(如长枪克骑兵,骑兵克射手)。
  5. 反推:当你的部队成型且科技领先时,切换为“进攻”姿态,一举摧毁敌方城镇中心。

🛠️ 技术栈

本项目仅使用原生 Web 技术,是一个很好的学习 Canvas 游戏开发和简易 AI 逻辑的案例。

  • HTML5 Canvas: 处理所有游戏渲染(单位、激光、血条)。
  • TypeScript: 强类型的游戏逻辑(Entity, Game Loop, State Management)。
  • Vite: 现代前端构建工具。
  • Tailwind CSS: 快速构建现代化的 UI 界面。

💻 本地运行

如果你想修改代码或离线游玩:

  1. 克隆本项目。
  2. 运行 npm install 安装依赖。
  3. 运行 npm run dev 启动本地开发服务器。

🤝 贡献

欢迎提交 Issue 或 Pull Request 来改进这个游戏! 目前的改进方向包括:

  • 增加背景音乐和音效。
  • 增加战争迷雾。
  • 增加更多文明特性。

📄 开源协议

本项目基于 MIT 协议开源。您可以自由地修改、分发或用于学习目的。