Endless 55 Spike
Spike · 29–30/10/2026 · chưa sửa code

Độ khó & ép chết Endless theo Block Blast

Tổng hợp phân tích SPEC 55 thẻ + data block-blash trước khi port. Mục tiêu: đường cong Endless Club gần BB, giữ máy sinh khối Club.

Verdict: khả thi có điều kiện. Không viết lại engine. Làm lớp trait mỏng + bảng map id BB → StrategyType Club.
P0 nền: cao Trait BB chết→khó: trung bình Thay pipeline 12 bước nguyên: rủi ro cao Chỉ bộ Config · mọi ngày
54
Thẻ đã parse
10
P0
41
P1
7
Còn TBD

Phạm vi SPEC

Nguồn: BB-DEV_SPEC_ENDLESS_55_THE_VIBE_CODE.md (nháp 29/10). Chỉ Endless/Classic. ActiveConfig / ngày 15+ nằm ngoài đề xuất mới.

NhómSố thẻViệc
Nền & khung phát khay4Config, counters, log 12 bước, điểm
Luật P07Replace, chống chết, revive gate
Luật khay khó1Hard path
Luật bộ Config21Trait chọn/đổi khay theo Config
Nới tay / hồi sinh / bàn đầu22FTUE, revive, init board

Luồng phát khay (N.3)

Config → deal đặc biệt → Puzzle100 → DeadlyToHard → Priority → Replace → Condition → Exe → FollowUp → Bottom 15 trait (dừng ở trait đầu đổi được) → engine Club (giữ) → dự phòng id 0 → chống chết

Khả thi theo vùng

Club đã port hệ chết riêng; thiếu lớp điều tiết kiểu BB.

VùngVerdictGhi chú
P0 nền (N.2, N.3, R.47, H.*) Cao Club đã gần đủ counters / revive / chống chết
Ép chết Club sẵn có Đã port OfferDeathBlock, InducedDeath, ModelControlDieBoard
DeadlyToHard / NewDeath / Puzzle100 Trung bình Thân + Config có trong block-blash
Pipeline BB 12 bước thay nguyên Club Rủi ro cao Ổn nếu chỉ móc trait vào chỗ tương đương
Map id BB ↔ StrategyType Bắt buộc Chưa có bảng chuẩn trong Club
ActiveConfig / ngày 15+ Bỏ Theo đề xuất SPEC mới: chỉ Config mọi ngày

Nhãn Club trên thẻ

NhãnSốÝ nghĩa làm việc
không thấy19Viết mới
tương đương một phần13Dễ đụng hệ cũ
có thân hàm12Chỉnh ngưỡng / điều kiện
chưa rõ7Cần audit trước
chỉ trùng tên / có một phần3Không coi là đã có

Lệch kiến trúc

Điểm then chốt: hai game không cùng lớp điều khiển độ khó.

Block Blast

  • Trait JS + OFFER_TYPE id
  • Engine native libtask.so
  • Config 229 feature trong traitConfigData.json

Block Club (port)

  • Strategy tên: OfferDeathBlock…
  • Engine nebula / Club trong game/core/src/solution/
  • Flags endless.json (~203) + DIFFICULTY-REPORT 34/34

Club không thiếu ép chết. Club thiếu lớp BB điều tiết: chết→khó, cứu khi 3 khay chết, Puzzle100 theo giờ, chống chết sau engine kiểu đổi 1 khối 1..42.

Spec cấm viết lại máy sinh khối → không copy trait engine BB nguyên. Cần adapter + hook trên pipeline Club hiện tại.

Data đủ trong block-blash

NguồnDùng cho
docs/port/analysis/server/traitConfigData.json Config 229 feature: DeadlyToHard, ClassNewDeathOptimize, puzzle100, revive…
classic-re-G1/G2-*.md Thứ tự hook + thân DeadlyToHard / NewDeath type1/2
OFFER_TYPE_FULL_CATALOG_VI.md + golden capture Map id (4013…) và chuỗi offer
SPEC §Giới hạn TBD: FastHandPunish, LongThink, Puzzle100 id 9 vs runtime 16009

Ba hướng · ảnh hưởng hướng B

A = cảm giác ép chết tối thiểu. B = full 55 thẻ Config. C = chỉ audit hệ Club sẵn có.

A · P0 + DeadlyToHard/NewDeath/Puzzle100

  • Đổi rõ cảm giác chết
  • Ít đụng FTUE / revive sâu
  • ~1–2 tuần tập trung

B · Full 55 thẻ Config

  • Đổi identity độ khó Endless sang gần BB
  • Đè / chỉnh nhiều luật Club đã 100%
  • Nhiều tuần; regression cao

C · Chỉ audit hệ chết Club

Không import trait BB. Giữ identity Club. Không đạt mục tiêu “gần Block Blast”.

Nếu chọn B — ảnh hưởng gameplay

VùngHiện ClubSau B
Ép chết OfferDeath / InducedDeath Thêm DeadlyToHard, NewDeath, Puzzle100 → chết sớm hơn / chết→khó / cứu khi 3 khay chết
Chống chết ReduceDifficultyProtect → RandomNoDie R.47 kiểu BB (đổi 1 khối 1..42) — 2 lớp cứu, dễ chồng
Hồi sinh Gate Club D20–D21 H.* theo Config BB (limit 3, score gate) — đổi nhịp ads/revive
Bàn đầu / nới tay ClearBoard / RecommendBoard InitBoardDelay, NewUserLevel, NSR… — FTUE lệch bản ship
Combo / hard chuỗi HardProblem + combo Club OpenChangeContinueHard, MoreClearStopCombo… — pacing điểm khác

Ảnh hưởng kỹ thuật khi B

Hướng làm nhỏ nhất đủ việc

  1. Bảng map BB offer id → StrategyType Club (+ fail-list).
  2. Trait thin layer trên pipeline Club — không thay OfferDeath* / InducedDeath* engine.
  3. P0: counters persist (N.2), log tầng (N.3), R.47 chống chết, chỉnh H.* theo Config.
  4. Lõi cảm giác chết: DeadlyToHard + ClassNewDeathOptimize type1 + Puzzle100 timing.
  5. Nếu B: batch Config còn lại theo P1; bỏ ActiveConfig.
  6. Doctest từng trait; so chuỗi offer với golden BB khi map ổn.
Không làm: viết lại nebula; port nguyên trait runtime JS; bandit/MAB / model server khi còn TBD.

Giới hạn & rủi ro

MụcChi tiết
TBD thẻN.4 điểm; R.16 MAB; R.49 Puzzle100; R.23/24 MoreClean*; R.46 NewDeath type2; R.53 MoreClearStopCombo
Map id saiCode chạy nhưng cảm giác ép chết lệch
Cứu képLớp Club cũ + R.47 BB cùng bật → rối hơn cả hai game
SPEC vs port ClubSPEC ghi thân death Club “chưa đọc”; port đã có — xác minh trước khi móc trait đè
Chưa đoChưa so runtime Club vs BB cùng seed

Chốt trước khi code

A chỉ P0 + DeadlyToHard/NewDeath/Puzzle100 · B full 55 thẻ Config · C chỉ audit hệ Club.

B khả thi, nhưng Endless Club đổi identity độ khó (hướng BB), không phải vá thêm vài thẻ.