最近在开发一款生存策略游戏

其实是oc小游戏,用的自己创作的科幻世界观~喜欢科幻的有福哩
背景介绍到这里,接下来是内容
一句话简介: 一款以人类开拓新星球为背景的Q版2D生存策略游戏,玩家指挥3名先驱者在未知星球上拓荒、建立营地、收集资源、孵化胚胎,延续人类文明的希望。
技术栈:使用 Cocos Creator 3.8.8 + TypeScript,Empty(2D)模板

目前还是简单绘图中,还没加ui之类的,也没有在线预览,因为我还没导出出来,就这样每天做一点点真是累坏我了(x)
————————
26.6.9 二编:
gitee链接:link:newworld: newworld
在线预览:https://fishnewworld.vercel.app/
(这个在线预览我随时会换,所以有时候打开进去是空白的,我会全删掉再上传什么的)
————————

展示一些指导笨笨ai的提示词:

你这个步骤计算的逻辑不太符合预期,我已经添加了MoveRange那个,但是预览上所有角色都不动了,我给出我想要的效果:基于当前项目,重写角色移动系统并添加体力系统,改为战棋式逐格移动:

一、体力系统

  1. 每名角色有100点体力上限
  2. 角色头像旁显示体力条(绿色条,宽度与头像等宽)
  3. 体力条颜色随体力变化:>60%绿色,30%-60%黄色,<30%红色
  4. 体力自动恢复:每秒恢复1点(基于真实时间)
  5. 体力为0时角色头像变灰,提示"体力不足"

二、可达区域计算(BFS)

  1. 选中角色后,使用BFS从角色当前位置计算所有可达格子
  2. 可达条件:当前体力 >= 到达该格子的累计体力消耗
  3. 地形移动消耗(每格):
    • 森林/湿地/沙地/平原:5体力
    • 山地/火山:8体力
    • 水域:10体力
    • 小道:2.5体力
  4. 锁定区域不可达
  5. 可达区域用半透明蓝色(#42a5f5, 透明度0.3)高亮显示
  6. 角色当前所在格子用白色半透明高亮

三、路径寻路(A*)

  1. 点击可达区域内的格子,使用A*算法计算最短路径
  2. 路径只经过可达格子
  3. 返回路径数组

四、逐格移动

  1. 角色沿路径数组一格一格移动
  2. 每一步:从当前格子中心 → 下一格子中心,平滑移动
  3. 移动速度:5格/秒
  4. 到达每个格子中心时短暂停顿(100ms)
  5. 每走一步立即扣除对应地形的体力
  6. 体力不足时停止移动,不再继续走
  7. 移动过程中不可操作(按钮变灰)
  8. 移动完成后自动取消选中,可达区域高亮消失

五、格子对齐

  1. 角色坐标始终对齐格子中心
  2. 格子中心坐标 = 格子索引 × 格子尺寸 + 格子尺寸/2
  3. 移动时不能偏移到格子边缘,必须精确停在格子正中央

六、选中与取消

  1. 点击角色:显示白色高亮环 + 计算并显示可达区域
  2. 点击可达格子:执行移动
  3. 点击不可达区域或空白区域:取消选中,高亮消失
  4. 按ESC:取消选中
  5. 多个角色可以在同一格子上

七、右侧角色面板

  1. 显示3名角色的:头像(圆形颜色)、名称、当前体力/最大体力、状态
  2. 状态:待命(白色)、移动中(绿色)、体力不足(红色)
  3. 点击角色头像可选中该角色(等同地图上点击角色)

在Cocos Creator里操作的部分请给出清晰的步骤,脚本修改直接改现有文件。
然后是solo返回的内容

Q:出bug时候怎么弄(并没有人问)
A:就是这样发给solo就好哩

基于当前项目,修复以下问题:

  1. 目前只显示1个角色,应该显示3个角色:

    • W-01 :蓝色 #42a5f5
    • W-02 :红色 #ef5350
    • W-04 :紫色 #ab47bc
      3个角色都在地图中心(飞船残骸位置)
  2. 角色没有浮动动画了,请恢复待机动画:

    • 轻微上下浮动,幅度3px,周期1秒
  3. 不要删除已有的地图渲染、迷雾、缩放平移等功能

  4. 不要删除底部角色选择面板

请先检查 GameMain.ts 中的角色初始化代码和 update 方法,
确认3个角色都被正确创建,浮动动画逻辑存在。
在Cocos Creator里操作的请给出清晰的步骤。
然后solo这样输出


就解决了bug~

ps:现在虽然没有比赛,但是还是展示展示,争做积极新人! :saluting_face:

5 个赞

给你加到游戏标签了

3 个赞

好嘟,谢谢!

3 个赞

开发的怎么样?楼主肝出来了没

2 个赞

感觉有点简陋,只弄了大概 :smiling_face_with_tear:

3 个赞

我有个更好一点的主题 idea

2 个赞

还在开发不,这款游戏

1 个赞

怎么说,细说 :saluting_face:

2 个赞

一生成下面这种大改动就直接各种报错还需要很久很久,差不多半小时左右,这个新手引导撤销了好几次了 :smiling_face_with_tear:

三、触发逻辑
新游戏(无存档或isTutorialCompleted===false)时,游戏加载后自动触发新手引导对话
对话全部结束后设置 isTutorialCompleted = true,保存存档
之后的游戏不再触发新手引导
再次点击球球走第15步的随机对话逻辑
四、注意事项
新手引导使用已有的对话系统,不需要新的UI
对话期间所有交互被阻断(对话系统已实现)对话框一定要盖住所有的组件,放在最上面
不需要操作引导(高亮、等待点击等),纯对话即可,点击对话框可以正常跳到下一句话,单句话单句话显示
如果对话被终止(例如刷新网页,新手引导就从头开始对话)
新手引导只是告诉玩家怎么玩,不强制玩家操作,现在已有开始页面,也有新游戏和存档页面,注意欢迎页的新游戏的逻辑有点问题,点击新游戏是直接创建新存档,读取存档才能点击下面的按钮,存档需要加一个删除存档的按钮
在Cocos Creator里操作的请给出清晰的步骤,脚本修改直接改现有文件,不要破坏已有功能。

2 个赞

期待你的游戏!如果遇到了问题,欢迎来到社群,我们都会帮助你的!

2 个赞

欢迎加入游戏交流群

3 个赞

全流程差不多做完了,现在在优化地图棋盘,原来是正方形格子,变成了六边形格子,然后加了右上角小地图

1. 六边形网格与边缘触发

采用轴坐标系替代传统的偏移坐标系。轴坐标只有 q(列)和 r(行),满足等距性,6个方向相邻格计算极其简单,不会出现奇偶行偏移的复杂逻辑。

  • 像素转换x = size * sqrt(3) * (q + r/2)y = size * 3/2 * r
  • 边缘判定:当玩家角色的轴坐标 (q, r) 达到当前地图的边界极值(如 q = maxCol),且继续向该方向移动时,触发地图切换逻辑。

2. 场景切换与数据传递

使用 Cocos Creator 的场景加载机制。当触发边缘切换时,预加载相邻场景,并通过常驻节点全局变量传递玩家状态、当前地图 ID 和入口方向。新场景加载后,将玩家放置在对应边缘的入口坐标。

3. 圆形小地图与 NPC 标记(RenderTexture 方案)

性能极高且不受 UI 缩放影响

  • 双摄像机:主摄像机渲染全屏游戏,新增一个 MiniMapCamera 俯视照射整个地图。
  • RenderTexture:创建一个 RenderTexture 资源,将 MiniMapCamera 的画面渲染到这张纹理上。
  • 圆形遮罩:在右上角 UI 放置一个 Sprite,使用 RenderTexture 作为 SpriteFrame,并通过 Mask 组件裁剪为圆形。
  • NPC 点位:在地图场景中,为 3 个 NPC 添加小地图标记节点(放在 NPC 上方),MiniMapCamera 会自动将其渲染到圆形小地图中。
3 个赞

可以参考github上的adarkroom,我觉得这是个很好的单人策略游戏,希望越来越好,加油吧~

1 个赞

感觉游戏逻辑和核心玩法已经有了,可以结合AI绘图工具和AI设计工具来优化下UI、交互设计、角色、人物,看能不能做成MVP。

游戏没了吗

现在是积分制太难弄了,我日常开发用积分都不够 :smiling_face_with_tear:

api比这个会员划算周六周日ds可以的