0代码做游戏?我用Gemini 做了一款“复仇者联盟”卡牌游戏
目录
前言
小时候看《游戏王》热血沸腾,手里捏着青眼白龙,脑子里想,如果让我来设计,我要把这卡改成这样,那样……
甚至会在作业本上画满歪歪扭扭的怪兽卡,还有各种怪兽效果。
长大了,玩《炉石传说》、玩《万智牌》、玩《大师决斗》,但想做属于自己的卡牌游戏的念头还在。
但做游戏要学习 Unity 或 Unreal,光是安装环境和编程就足以让人放弃。而且一张卡就可能毁了整个游戏得平衡。
时代变了。
今天这篇文章,我将用最新的谷歌 Gemini 3 Pro,在 30分钟 内,从零开始制作一款机制类似《游戏王》的漫威主题卡牌游戏。
大家可以直接按照提示词制作一个Demo,作为你迈向游戏制作人的第一步。
第一步:世界观架构与数值策划
做游戏最难的就是“从0到1”的设定构建。
卡牌游戏的核心由两部分组成:概念 和 规则。以前我们要自己设计世界观,用 Excel 拉公式来计算卡牌平衡,现在我们可以直接把粗糙的想法扔给 Gemini 3 Pro。
1.1 如何构建提示词模板
一个高质量的 AI 提示词,必须具备 结构化、定量化 和 可替换 的特性。我们这次要构建的卡牌体系更加复杂,不仅要包含怪兽卡(英雄卡),还要有能改变战局的“魔法/陷阱卡”(技能/线索卡)。
下面是构建卡牌游戏的万能模板。可以直接替换方括号中的内容,快速生成属于自己的游戏设定。
模板:卡牌游戏设计
请扮演一位拥有丰富经验的卡牌游戏设计师。
**主题设定:**以 [漫威超级英雄] 为主题的卡牌对战游戏。
**核心规则:**深度参考《游戏王》的祭品召唤机制。4星及以下免费召唤;5-6星需1个祭品;7-8星需2个祭品;9星以上需3个祭品。双方初始血量 [4000] 点。
牌组限制与构成 (Deck Composition):
- 牌组总卡片数必须为 [40] 张。
- 同名卡最多允许放入 [3] 张。
- 卡牌类型必须严格按以下比例生成,并确保每种卡牌都有至少 [3] 张独一无二的设计:
- 英雄卡: 24 张。大部分英雄卡应设计一个 可主动发动或触发的特殊效果,例如“攻击时对敌方全体造成100点溅射伤害”或“召唤时从牌组摸一张牌”。
- 技能卡: 8 张。设计为一次性发动效果,如“群体增益”或“单体破坏”。
- 线索卡: 8 张。设计为装备或永续效果,能增强英雄的攻击力、防御力或提供持续性的规则修改。
数据生成要求: 请为这40张卡牌生成详细的设定,包括:名称、星级(英雄卡)、攻击力/防御力(英雄卡)、卡牌类型(英雄/技能/线索),以及一段 简短、代入感强烈的‘卡牌描述’。 请优先展示其中15张卡牌,以体现三种卡牌类型的特点。
1.2 Gemini 的回答
通过上述更具体的 Prompt,Gemini 不仅给出了基础数值,还为我们设计了一个具备 Combo潜力 和 资源管理 的卡牌体系。
英雄卡(战斗单位)
| 名称 | 星级 | 攻/防 | 类型 | 效果 |
|---|---|---|---|---|
| 钢铁侠 | 7星 | 2500/2200 | 科技 | 【触发效果】:此卡战斗阶段攻击宣言时,对敌方场上所有其他卡牌造成 100点 溅射伤害。“我就是钢铁侠。” |
| 蜘蛛侠 | 4星 | 1800/1200 | 变异 | 【主动效果】:每回合可发动一次,选择场上任意一张敌方英雄卡,该卡在本回合内无法改变战斗位置,且不能发动效果。“能力越大,责任越大。” |
| 美国队长 | 5星 | 1900/1900 | 变异 | 【触发效果】:此卡召唤成功时,选择我方场上所有英雄卡,本回合内它们不会被战斗破坏。“我可以整天都跟你耗着。” |
技能卡
| 名称 | 类型 | 效果描述 |
|---|---|---|
| 雷神之锤的呼唤 | 技能 | 选择场上1张卡片,将其破坏。你必须控制1张“雷神”或“神域”的英雄卡才能发动此卡。“只有配得上它的人才能拿起它。” |
| 复仇者集结! | 技能 | 我方场上所有英雄卡的攻击力与防御力提升 500点,直到回合结束。“当世界需要他们时,他们总会站在一起。” |
线索卡
| 名称 | 类型 | 效果描述 |
|---|---|---|
| 皮姆粒子 | 线索 | 场上所有等级1-4的英雄卡攻击力提升 300点;所有等级7或以上的英雄卡攻击力下降 300点。“改变维度,以小搏大的策略性战术。” |
| 无限手套 | 装备 | 仅能装备给等级7或以上的英雄卡。装备怪兽的攻击力提升 1000点,且在战斗中不会被破坏。若装备怪兽离场,此卡破坏。“宇宙中最强大的武器。” |
提示词技巧:
- 结构化输出:强制要求 AI 输出 JSON 或 CSV 格式 的数据,并在提示词中强调字段(
name,type,atk/def,effect_text)。这能确保后续步骤(代码实现)时可以直接复制粘贴数据数组,避免手动输入错误。 - 细节化:在生成卡牌效果时,同时要求 AI 描述其触发时机:
[召唤时触发]、[攻击宣言时触发]、[永续效果]。
第二步:卡面设计
有了数据,接下来是卡面。这通常是独立游戏开发中最烧钱的环节。但现在,利用 Nano Banana Pro(或其他同类工具),我们可以建立一条自动化的美术流水线。
如何设计专业级的卡面?
-
构建统一的视觉语言(Visual Identity): 卡牌游戏最忌讳画风不统一。不能一张是二次元,一张是写实油画。我们需要设计一个通用的提示词模板。
- 卡框设计:
Sci-fi holographic trading card frame, metallic texture, blue and silver color scheme, empty center for character image, high detail, 8k resolution, UI interface style, high contrast, aspect ratio 2:3.(科幻全息卡框,金属质感,蓝银配色,中间留空,高精细节,长宽比2:3,这是卡牌的标准比例)。
- 卡框设计:
-
角色插画的批量生产: 保持风格统一至关重要。建议锁定种子或使用风格参考,并使用固定句式:
[Character Name] in dynamic action pose, using superpower, comic book style, vibrant colors, dramatic lighting, digital art masterpiece.- 示例:将
[Character Name]替换为Iron Man firing unibeam或Captain America throwing shield。
- 示例:将
-
排版与合成(Compositing): 虽然 Nano Banana Pro 可以生成文字,但目前的 AI 在精确排版上仍有瑕疵。更高效的做法是:用 AI 生成高质量的 底图 和 边框,然后在代码层面通过 CSS 布局将文字(攻击力、名字、星级)“浮”在图片上。这比直接把字画在图里要灵活得多,方便后续随意修改数值。
提示词技巧:
你还可以设计金闪、银碎等效果,或者尝试平行宇宙的蜘蛛侠,或者是老年版洛基,成本几乎为0。
第三步:代码实现
这是很多人的噩梦,但却是 AI 的拿手好戏。
我不需要懂 JavaScript 的 DOM 操作,也不需要懂 Canvas 渲染逻辑。我只需要把 游戏逻辑 用清晰的语言描述清楚。
核心提示词:
帮我制作一个HTML单文件游戏。
- 技术栈:纯 HTML/CSS/JS,不依赖任何复杂的外部框架(如React/Vue),确保双击就能运行。
- 布局设计:深度模仿游戏王布局。
- 上方:对手区域(含血条、手牌背面、5个怪兽槽位)。
- 中间:战场背景。
- 下方:玩家区域(含5个怪兽槽位、手牌区、卡组堆、墓地堆、血条)。
- 核心逻辑(请严格执行):
- 回合制:玩家回合 -> 抽卡 -> 主要阶段(召唤/使用技能/放置线索) -> 战斗阶段 -> 结束 -> 对手回合。
- 召唤限制:每回合只能普通召唤一次。
- 初始阶段:每名玩家六张手卡。
- 祭品机制:点击手牌欲召唤5-6星怪兽时,高亮场上怪兽要求选择1个作为祭品(送入墓地);7-8星需2个。逻辑必须严密,祭品不足不能召唤。
- 战斗结算:
- 攻击表示 vs 攻击表示:攻高者活,差值扣血。
- 直击:若对方场上无怪兽,直接攻击玩家本体。
- UI风格:使用 Tailwind CSS 进行美化,打造深色科技风,卡牌要有悬停放大效果。
- 对手AI逻辑:写一个简单的决策树AI。优先召唤手中星级最高的怪兽(如果祭品够),战斗阶段优先攻击能打得过的怪兽,否则攻击玩家。
Gemini 会生成一段几百行的 HTML+JS 代码。你把它保存为 .html 文件,双击打开即可。
你会惊讶地发现,它不仅实现了基础逻辑,甚至连“祭品不足时弹出提示”、“攻击时的震动动画”、“血条减少的过渡效果”都能给你做出来。这在以前,是一个熟练前端工程师至少两天的工时。
第四步:从“能玩”到“好玩”的迭代
初版代码肯定有 Bug,或者体验不佳。这很正常。这时候千万不要自己去改代码(除非你是程序员)。
我们要继续用语言安排 AI,这个过程就像是你作为 产品经理,在指挥一个 高级程序员 干活。
1. 修复逻辑 Bug
- 问题:我发现我第一回合就能直接攻击,这不公平。
- 指令:“修改游戏规则:先手玩家的第一回合不能进入战斗阶段。”
2. 优化 AI 行为
- 问题:现在的AI对手太笨了,总是攻击我的高防怪兽自杀。
- 指令:“优化AI逻辑,在攻击前先判断,如果打不过,就不要攻击,或者转为防御模式。”
3. 增强视觉反馈
- 指令:“当受到伤害时,让血条有一个红色的剧烈震动特效,并在屏幕中央弹出扣血数字。”
- 指令:“给卡牌添加不同颜色的边框,根据卡牌星级(Rarity)改变颜色:4星为白色,5-6星为金色,7星以上为暗红色。”
4. 内容注入
- 指令:“把我们第一步生成的40个英雄/技能/线索数据(JSON格式),完整替换进代码里的
const CARD_DB数组里,并确保图片链接使用Emoji或者占位符,直到我上传真实图片。”
结语
制作游戏的门槛,从未像今天这样低。
无论你是想做一个可以在手机上玩的H5小游戏发给朋友炫耀,还是想验证一个复杂的桌游数值模型,甚至是为你的小说设计一套附属卡牌。只要你有想法,AI 就能帮你。



