Files
game/assets/tiles
李鹏宇 106d49f6de feat(game): 游戏前后端整合与素材预置备份
后端(Odoo addons):
- game_base: 迁入 关于 功能(game.page/game.page.item/yusen.asset 模型、page_views/asset_views、6条权限、menu_website_about 左侧应用入口),新增 chat 模块(AI世界聊天: chat.py/chat_api.py/chat_data.xml/chat_views.xml)
- yt_world: 合并 game_ai_npc(npc 模型/数据/controller),修复菜单 NotNullViolation
- yusen_website: 移除已迁出的 page/asset,背景菜单改挂 game_base.action_game_page
- 新增 game_asset_backup 纯数据模块: 备份前端素材到 addons(game_assets/),预置 图鉴(game.codex.entry)9条(过场CG/动物) + 素材管理(yusen.asset)120条(地形/建筑/瓦片/幻灯片/背景/路/UI),按类分 tags

前端(assets + HTML):
- 新增 chat.js / game-api.js、chat.html / buildings_default_demo.html
- 清理旧 slides/website 冗余文件,更新 GENERATION_RULES.md 与动物九宫格素材
2026-08-11 10:02:19 +08:00
..

微观世界 · 地表素材包 (tiles)

风格:精细像素风(方块像素 + 深色描边 + 不抗锯齿),参照样张 2026-07-31T08-40-52。

目录结构

assets/tiles/
  grass_00..03.png   草地基础变体(4 张,打破重复)
  dirt_00..03.png    土地基础变体(4 张)
  water_00..03.png   水地基础变体(4 张)
  edge_gw_{n,s,e,w}.png  草↔水 过渡(4 边)
  edge_gd_{n,s,e,w}.png  草↔土 过渡(4 边)
  edge_wd_{n,s,e,w}.png  水↔土 过渡(4 边)
  terrain_atlas.png        拼合大图(8列,单格 244px)
  terrain_atlas.json       索引:name -> {x,y,w,h,role,...}
  _contact.png             全部 tile 预览(用于验收)

命名规范

  • 基础:{terrain}_{两位序号}.png terrain ∈ grass/dirt/water
  • 过渡:edge_{A}_{B}_{dir}.png AB ∈ gw/gd/wd,dir ∈ n/s/e/w(北/南/东/西)
  • 过渡的 n/w 由生成样张的 s/e 镜像得到,未额外生图(省积分)

渲染用法(bitmask)

对每格算 8 邻居地形 -> 编码 bitmask -> 选 base 或对应 edge sub-tile -> ctx.imageSmoothingEnabled=false; ctx.drawImage(atlas, x,y,w,h, dx,dy,TILE,TILE) 索引见 terrain_atlas.json。