Từ bản đồ 2D do AI vẽ tới thế giới 3D trong game
Cody Seibert kể cách team dùng ChatGPT sinh nhiều layout bản đồ, khoanh choke point để sửa, rồi để Claude Code dựng thành map 3D cho game Survive the Night.
✓ Đã duyệt độc lập · cập nhật 23/10/2026 · 9 min
1. Survive the Night và map thứ hai: The Mainland
Cody mở đầu bằng việc team đang cố làm thêm cho game Survive the Night của chính anh: một map thứ hai. Khi mới vào game, người chơi luôn bắt đầu ở map một, một hòn đảo nhỏ hơn. Trên bản đồ có ghi chữ "to island" để chỉ hướng về đảo. Trên hòn đảo đó, bạn phải gom phụ tùng ô tô để sửa chiếc xe của mình, rồi thoát ra để sang được đất liền (the mainland).

Còn map đất liền, theo lời Cody, toàn bộ map này ban đầu được tạo ra từ AI, "tôi tin là vậy", anh nói. Nhưng team đã phải đi qua vài vòng lặp (iteration) mới ra được bản như bây giờ (tính đến video đăng ngày 23/10/2026). Anh muốn dẫn người xem đi qua chính quá trình đó, vì anh nghĩ có vài điều hay ho có thể học được về chuyện dùng AI để sinh ảnh, và cả để sinh một thế giới 3D dựa trên những tiêu chí cụ thể mà mình đang tìm.

Trước khi cho xem quy trình, Cody nói về vài đặc điểm then chốt của map này mà anh đã nghĩ sẵn trong đầu khi muốn dựng level. Việc đầu tiên là phải có một mục tiêu (objective).
2. Mục tiêu của map: nhặt đủ phụ tùng để sửa máy bay
Một lần nữa, team muốn giữ đúng khuôn của map một: gom phụ tùng để sửa một thứ gì đó rồi trốn thoát. Bước tiếp theo hợp lý nhất để đạt được điều đó là gom phụ tùng máy bay. Vậy nên trên map có một sân bay nhỏ (airfield), và mục tiêu của map là nhặt đủ mọi phụ tùng máy bay, sửa máy bay, rồi bay đi thoát thân. Các phụ tùng này nằm rải rác ngẫu nhiên khắp map.
Cody chỉ trên bản đồ: có một phụ tùng ở đâu đó quanh chỗ này, rồi teleport tới đó luôn. Thường thì các phụ tùng sẽ lơ lửng trong không trung, và có những con chim bay lượn quanh chúng, giúp dẫn hướng cho bạn biết phụ tùng nằm ở đâu (cách game chạy theo video đăng ngày 23/10/2026).
Nếu đi ra bến tàu (dock), bạn sẽ thấy một chiếc radio: phải lấy được flight radio. Rồi còn phải đi nhặt thêm các phụ tùng khác. Anh nói hẳn là có một cái ở quanh đây, phải tìm xem nó spawn chính xác ở đâu, đâu đó bên trong toà nhà này. Và "okay", anh nhặt được một cánh quạt (propeller).

Sau khi gom đủ phụ tùng, bạn đi tới chỗ máy bay và tương tác với nó để lắp hết phụ tùng vào. Cody nói vẫn còn vài món nữa anh chưa tìm ra, nhưng về cơ bản ý tưởng của map là như vậy.
3. Bản đầu tiên AI dựng: một map vuông và nhàm chán
Cody quay lại ChatGPT để cho xem vòng lặp đầu tiên mà AI dựng cho team (theo video đăng ngày 23/10/2026). Đó là một map hình vuông. Team biết mình muốn có một thành phố, nên đã prompt cho nó là muốn có một thành phố xuất hiện trên map, và cũng muốn có một sân bay. Rồi team cứ để AI tự dựng map lúc ban đầu.

Đáng tiếc là map này rất nhàm. Không có địa hình gì, không có núi, không có rừng. Bạn spawn ra, đi bộ vào một toà nhà khổng lồ, rồi đi loanh quanh tìm phụ tùng. Nó chẳng vui chút nào.
Sau khi chơi qua map đó một lần, Cody thấy "thứ này đơn giản là không thú vị". Bạn có thể leo lên một chiếc xe máy (moped) rồi chạy thẳng một mạch tới sân bay. Rất nhiều phụ tùng lại spawn ngay trên sân bay, nên chẳng còn mấy thú vị. Vì vậy có vài chỉnh sửa anh muốn làm, về cơ bản là để buộc người chơi phải đi theo những lối nhất định, cho game thú vị hơn một chút.
Chiến lược đầu tiên Cody khuyên nếu bạn đang làm game: dán một bức ảnh map của bạn vào cho AI.
4. Từ buổi bàn trên Discord tới prompt sinh 10 layout
Song song đó, team đã bàn với nhau trên Discord. Mọi người nói rất nhiều về các vấn đề và những điểm khó chịu (pain points) khi chơi game này: điều gì làm nó vui, điều gì làm nó mất vui. Rồi về cơ bản team dán hết vào AI và nói: "này, tôi cần bạn dựng cho tôi một map mới, sinh cho tôi 10 layout khác nhau".
Đây là một chiến lược nữa, Cody nói: sinh nhiều layout và ideate, để rồi chọn ra bản hay nhất cho game của mình (cách làm theo video đăng ngày 23/10/2026). Prompt anh gửi ChatGPT mở đầu như sau:
generate some map images in regards to these issues: Map 2 (the mainland) should funnel players through the land instead of being an open square with a square city dropped in the middle.
Tiếp theo trong prompt là những ý rút ra từ buổi bàn trên Discord, cùng các issue liên quan trên GitHub và những điểm còn phải quyết:
The city is a perfect square in the middle of the map, which feels strange. Spread it out, with suburbs around a centre, so it reads as a real town rather than one city block. Use mountains or dense forest to make choke points. Players should be funnelled through a few passes to reach certain zones. At least one mountain range should block travel somewhere. Size and density. With vehicles coming (Vehicles on the mainland: a moped, a car and a bicycle, and your car from the island #227), the map may need to be bigger, or denser so a drive still takes effort. Cody joked about 4x; "be at the airport in 30 s" is the worry. Cody plans to generate about 10 layout variations to compare. Related: #173 (the map's look, island in its sea, bridge on both maps), #227 (vehicles, mainland only), #229 (plane parts), and #230. To decide: how big; which zones sit behind which passes; whether the vehicles' routes (cars on roads, mopeds through gaps) should be part of the funnel.

Cody kể những thứ anh yêu cầu rõ ràng. Anh nói muốn có các choke point ở vùng núi, và rừng rậm ở vài chỗ. Thành phố thì rất nhàm, chỉ như một map vuông, nên team muốn cải thiện chuyện đó.
Còn vài thứ khác team đã bàn. Chẳng hạn cần có xe để chạy quanh map này vì nó quá rộng. Cody đùa rằng: okay, mình sẽ thêm xe, rồi mình sẽ tới được sân bay chỉ sau 30 giây lái xe. Vậy nên có những đặc điểm khác phải tính: có lẽ nên giới hạn quãng đường bạn lái xe được, ví dụ cho xe một bình xăng (gas tank) cạn dần.
Team cũng bàn rằng không muốn người chơi cứ lái thẳng từ trái sang phải là tới sân bay. Team muốn buộc họ đi qua một con đường nhất định, và chỉ cho phép có lẽ một hoặc hai choke point trên map để tới được máy bay.
"Đây là những thứ chúng tôi thật sự đã nghĩ", Cody nói. "AI không làm mấy việc này. Chúng tôi nghĩ ra."
5. Lướt qua các layout và loại dần từng bản
Sau khi ideate, Cody xem qua các ảnh khác nhau mà ChatGPT đã sinh ra. Anh lướt từng ảnh và cố tìm xem bản nào có lẽ sẽ thú vị nhất khi chơi.
Ở một bản, sân bay nằm ngay cạnh trung tâm thị trấn. Một lần nữa, điều đó chẳng làm game khó hơn: nếu bạn gom đủ phụ tùng rồi chỉ việc đi sang sân bay thì chẳng hợp lý gì.

Bản khác là một biến thể mà Cody cũng thích: sân bay nằm khá xa trung tâm thị trấn, điều đó hay. Nhưng trong đầu anh muốn có khả năng buộc người chơi phải đi qua núi. Ở bản này, núi chỉ giống một nhiệm vụ phụ không bắt buộc (optional side quest). Anh muốn người chơi phải băng qua núi ở một số choke point nhất định mới tới được sân bay.
Anh lướt tiếp. Tới một lúc thì ra kiểu này, gần hơn với thứ anh đang tìm: có núi chia đôi toàn bộ map, và muốn sang phía bên phải thì bạn phải đi qua hoặc một choke point này, hoặc một choke point khác ở phía dưới. Nhưng một lần nữa, sân bay lại nằm ngay cạnh thị trấn. Nên anh không thích bản này.

6. Chọn layout 12 và khoanh choke point bằng Markup
Cuối cùng, Cody tin là mình đã chốt dùng map 12. Bản này có nhiều đặc điểm anh muốn cho một map, nhưng vẫn còn cả đống cách để đi từ bên trái map sang bên phải.

Anh muốn nhắm lại đúng những choke point đã nói. Nên anh dùng tính năng Markup trong ChatGPT (theo video đăng ngày 23/10/2026): về cơ bản anh vẽ vòng tròn quanh tất cả các choke point và các con đường, rồi nói hãy bỏ hết những lối phụ để đi từ trái sang phải. Lời nhắn anh gửi kèm ảnh đã đánh dấu:
remove the bridges in the selected areas, the ONLY way to get over that river from quarry to south pass mines is an underground mine (which you should denote in the map). remove the road between the city and airport, a user MUST go north or south, no middle passage
Ý anh là: nếu đi theo đường phía nam, có một hệ thống hang (cave system) mà bạn phải băng qua để đi từ phía này của mỏ đá (quarry) sang phía bên kia. Nếu cố dùng con sông, sông đó là thác ghềnh (rapids), và khi lội xuống sông, nó thật sự làm bạn mất máu và có thể giết bạn. Anh muốn chắc chắn rằng thật sự chỉ có hai lối: đường phía bắc, hoặc đi xuyên hệ thống hang ở phía dưới. Điều đó buộc bạn hoặc cả team cùng đi qua đường hầm, hoặc chia nhau ra, người đi phía bắc, người đi phía nam.

Có thể có một phụ tùng ô tô, hay một phụ tùng máy bay, ở chỗ này. Có thể có một phụ tùng máy bay ở trên kia. Nên tuỳ quân số của team, bạn có thể quyết: okay, hai người sẽ tách ra đi tới mỏ đá; hai người khác tách ra đi tới North Ridge Outpost.
Vậy là, từ ảnh đó, Cody làm một loạt chú thích (annotation), rồi team sinh ra vòng lặp thứ hai của map 12, trong đó anh bỏ hết những cây cầu kia. Giờ chỉ còn đúng một lối để đi từ phía nam vượt sông sang bên phải. Ở phía trên cũng chỉ còn một lối tiếp cận. Và tất cả những dãy núi này thì bạn không thể thật sự băng qua.
7. Từ ảnh 2D tới thế giới 3D: sông dữ, khu mỏ và đường hầm
Cody lấy ảnh này đưa lại cho một người cùng làm game với anh, và người đó cứ để AI, hay Claude Code, về cơ bản là tự "nấu" (cook) việc thiết kế lại toàn bộ map dựa trên ảnh đó (cách làm theo video đăng ngày 23/10/2026).
Nếu quay lại bản đồ thật trong game, đó chính là thứ mọi người vừa xem lúc nãy. Team có làm một vài thay đổi. Cody nghĩ bản đồ này là hình ảnh sống (live representation) của game thật: nếu nhìn vào chỗ này có vài cái cây, và nếu anh teleport tới đó thì có hai cái cây thật, một cây ở đây và một cây ở kia. Đi loanh quanh thì sẽ có thêm một cây ở chỗ này.
Tức là bản đồ là hình ảnh thật của map 3D bên dưới. Đó là lý do nó không trông y hệt ảnh được sinh ra ban đầu. Nhưng về cơ bản nó có đúng bố cục của biến thể map 12 đó.
Anh teleport tới con sông. Để ý là nó trông như thác ghềnh, nước chảy khá xiết. Khi đi xuyên qua, bạn sẽ thấy mình bị mất máu, và nhiều khả năng sẽ chết khi cố vượt sông (cách game chạy theo video đăng ngày 23/10/2026). Trong lúc thử, nhân vật của Cody chết thật và game hiện màn hình "Everyone died", rồi anh vào lại đất liền.

Vậy nên thật sự chỉ có hai lối để đi từ điểm A tới điểm B: lối đi phía bắc, hoặc khu mỏ (mines) ở phía dưới. Anh cho xem nhanh khu mỏ: ở dưới đáy map là khu mỏ, đây là lối vào, và nếu đi xuống đó, nó sẽ đưa bạn vượt sang phần bên kia. Còn ở phía trên, nếu teleport tới, có một đường hầm (tunnel) dẫn bạn xuyên qua núi.

Ở mọi chỗ khác thì không có cách nào băng qua núi, không có lối tắt nào xuyên núi, "dù có lẽ thêm một cái thì cũng hay", Cody nói.
8. Những thứ còn bỏ ngỏ: đường mòn qua núi, cân bằng game, thuyền và cá zombie
Cody có cân nhắc làm một con đường mòn (trail) băng qua núi, kiểu bạn phải leo lên núi để sang phía bên kia. Nhưng thật lòng, có lẽ lúc nào cũng nhanh hơn nếu đi đường kia bằng xe máy, hoặc đi lên phía trên. Ngoài ra anh cũng không biết liệu các boss và những con zombie khác có bị kẹt lại khi cố đuổi theo bạn lên đó không. Nên anh quyết định tạm thời không đi theo hướng đó.
Đó là những mẹo và cách anh đã làm trong game này, không chỉ để dựng map mà còn để lặp lại trên nó, và để dùng nó sinh ra thế giới 3D, nhằm có lối chơi thú vị hơn.
Anh nói thật là mình chưa test kỹ map này (tính đến video đăng ngày 23/10/2026). Nó lớn hơn nhiều, và khó cân bằng (balance) trừ khi bạn có cả đống giờ để cứ chơi đi chơi lại. Nhưng có một thứ anh muốn thử: anh đã thêm một chiếc thuyền bạn có thể lái đi quanh, và anh nghĩ có vài con cá zombie sẽ nhảy lên giết bạn nếu lại quá gần.

Anh đi tìm thử, vì anh chưa playtest phần này. Trông như có một con ở đằng kia. Anh lại gần xem sao: "rồi, nó tới đây". Đúng vậy, con cá nhảy lên và cố tấn công anh. Trong hồ này chỉ có chừng hai hay ba con cá như thế.
Theo Cody, trong game có cả đống Easter egg nho nhỏ anh đã thêm vào dần (tính đến video đăng ngày 23/10/2026). Anh không biết có giết được con cá đó không, anh nghĩ là không. Rồi: "Không, giết được. Nó chết rồi." Và con cá nổi lên mặt nước. "Wow."
9. Kỹ thuật mang về: ảnh AI làm bản phác cho UI, map và nhân vật 3D
Cody nói anh chỉ muốn chia sẻ kỹ thuật nhỏ đó, nếu bạn đang làm game, hay nói chung: bạn có thể dùng AI để lặp trên ảnh. Bạn có thể lấy ảnh đó áp vào web UI mình đang dựng. Hoặc áp nó vào một model 3D (theo video đăng ngày 23/10/2026).
Anh nghĩ team cũng đã làm chuyện đó rồi: anh đã sinh một character sheet, rồi character sheet đó được đưa cho Meshy để nó sinh ra cả một nhân vật 3D (theo video đăng ngày 23/10/2026).
Theo anh, đó là một kỹ thuật hay khác bạn có thể dùng với sinh ảnh (image generation): dùng ảnh làm bản prototype ban đầu, rồi chuyển nó cho các model sinh 3D phức tạp hơn để có một nhân vật hay một map thể hiện đúng thứ bạn đã đưa vào lúc đầu (video đăng ngày 23/10/2026).
"Vậy là hết", Cody nói. Chúc mọi người một ngày tốt lành và "happy coding".
Nguồn và liên kết 7 nguồn
- Tên gốc: I Gave Claude a 2D Map and It Built an Entire 3D World
- Sự kiện: YouTube
- Video gốc: https://www.youtube.com/watch?v=RNIX-Re9k4o youtube.com
- Kênh YouTube Web Dev Cody (Cody Seibert): youtube.com/channel/UCsrVDPJBYeXItETFHG0qzyw youtube.com
- Trang cá nhân của Cody Seibert: webdevcody.com webdevcody.com
- Survive the Night, game của Cody: survivethenightgame.com survivethenightgame.com
- Meshy, công cụ sinh model 3D từ chữ và ảnh (đọc ngày 23/10/2026): meshy.ai meshy.ai