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ảnh trong game Survive the Night: người chơi cầm súng lục đứng trên bãi cỏ trước các toà nhà đổ nát, góc phải là Cody
Cảnh mở đầu trong Survive the Night (theo video đăng ngày 23/10/2026): góc nhìn thứ nhất với khẩu súng lục, minimap ở góc trái và dòng nhiệm vụ "Scavenge and find the plane parts before dark". Góc phải là Cody.

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.

Màn hình Map trong game: bản đồ The Calder Coast, cột The Plane liệt kê phụ tùng, cột Schematics và Key
Màn hình Map của The Calder Coast trong game (giao diện theo video đăng ngày 23/10/2026): bản đồ đất liền với thị trấn, núi, sông và sân bay; cột "The Plane" liệt kê 0/7 phụ tùng như Propeller, Magneto, Flight Radio, Avgas Drum, Hydraulic Pump cùng khoảng cách; bên phải là các Schematics và bảng chú giải.

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).

Đường băng sân bay trong sương mù, chiếc máy bay nhỏ đậu ở cuối, xe bồn bên trái
Sân bay trên map đất liền (theo video đăng ngày 23/10/2026): chiếc máy bay nhỏ có nhãn "The plane" đậu ở cuối đường băng, nhiệm vụ ở góc trái đã đổi thành "Bring the parts you carry back to the plane".

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.

Bản đồ The Calder Coast đầu tiên: một khối thành phố vuông ở giữa, đường đi toả ra, máy bay ở bên phải
Bản map đầu tiên AI sinh ra trong ChatGPT (theo video đăng ngày 23/10/2026): "The Calder Coast" với một khối thành phố vuông vức ở giữa, mũi tên "you are here" bên trái và chiếc máy bay ("plane") bên phải, gần như không có địa hình. Bên dưới ảnh là thanh công cụ Markup, Comment, Remove BG, Erase, Resize.

Đá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.
Tin nhắn prompt trong ChatGPT: generate some map images in regards to these issues, kèm các gạch đầu dòng
Prompt trong ChatGPT (theo video đăng ngày 23/10/2026): yêu cầu sinh ảnh map cho đất liền, gạch đầu dòng về thành phố vuông, choke point bằng núi và rừng, kích thước và mật độ khi có xe, cùng dự định sinh khoảng 10 biến thể layout để so sánh.

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."

Chơi thử, bàntrên Discord Viết yêu cầu:choke point, xe, xăng AI sinh nhiềulayout (ideate) Người chọn,khoanh Markup lặp lại tới khi ra layout ưng ý Người quyết thiết kế game, AI vẽ phương án
Hình 4.1Vòng lặp Cody mô tả: các quyết định về gameplay (choke point, giới hạn xe, sân bay ở xa) là của team; AI chỉ sinh ra nhiều phương án để chọn và sửa tiếp.

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ì.

Mainland Layout 3: sân bay ở góc trên bên trái, sát thị trấn ở giữa map
"Mainland Layout 3" trong khung xem ảnh của ChatGPT (theo video đăng ngày 23/10/2026): sân bay nằm ở phía trên, không xa thị trấn ở giữa map. Cột trái là dãy ảnh thu nhỏ của các layout đã sinh.

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.

Mainland Layout 4: dãy Stone Ridge Mountains ở giữa, North Pass và South Pass, sân bay ở phía nam gần thị trấn
"Mainland Layout 4" (theo video đăng ngày 23/10/2026): dãy Stone Ridge Mountains chạy dọc giữa map với North Pass và South Pass làm lối qua, nhưng sân bay vẫn nằm ở phía nam, không xa Town Center.

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.

Mainland Layout 12: thị trấn bên trái, dãy núi The Ridge và con sông ở giữa, sân bay bên phải, South Passage Mines và Quarry phía dưới
"Mainland Layout 12" (theo video đăng ngày 23/10/2026): Town Center và Industrial Docks ở bờ tây, dãy The Ridge cùng con sông chia đôi map, sân bay ở phía đông, North Pass và North Ridge Outpost phía trên, South Passage Mines và Quarry phía dướ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.

ChatGPT: tin nhắn yêu cầu bỏ cầu và đường giữa thành phố với sân bay, bên dưới là ảnh Mainland Layout 12 mới
Kết quả sau lời nhắn kèm phần đánh dấu (theo video đăng ngày 23/10/2026): ChatGPT trả về một bản "Mainland Layout 12" mới. Theo lời Cody, vòng lặp thứ hai này đã bỏ các cây cầu, chỉ còn một lối ở phía trên và một lối qua khu mỏ ở phía dưới.

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).

Ảnh map 2DLayout 12, bản đã sửa Claude Codedựng lại cả map trong code Thế giới 3Dmap trong game vẽ từ 3D bố cục giữ nguyên, chi tiết như cây cối thì khác ảnh gốc
Hình 7.1Đường đi từ ảnh tới game theo lời Cody (video đăng ngày 23/10/2026): ảnh layout 12 đã sửa được đưa cho AI, hay Claude Code, dựng lại map; màn hình bản đồ trong game phản ánh đúng thế giới 3D nên trông khác ảnh gốc, nhưng bố cục là một.

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.

Con sông nước chảy xiết giữa rừng thông, người chơi đứng trên bờ cầm súng lục
Con sông thác ghềnh chia đôi map (theo video đăng ngày 23/10/2026): nước chảy xiết, lội xuống là mất máu và có thể chết.

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.

Cửa một đường hầm bê tông có đèn, khoét vào vách núi tối
Một lối xuyên núi trong game (theo video đăng ngày 23/10/2026): cửa hầm bê tông có đèn khoét vào vách núi, một trong hai lối duy nhất để sang phía sân bay.

Ở 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.

Lái thuyền trên hồ trong sương, dòng điều khiển Throttle, Reverse, Tiller, Horn, Headlamp, Get off
Chiếc thuyền mới trong game (theo video đăng ngày 23/10/2026): dòng hướng dẫn phím ghi Throttle, Reverse, Tiller, Horn, Headlamp và Get off; ở góc trái dưới có thanh FUEL và BODY của thuyề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).

Ảnh AI sinh rabản prototype ban đầu Web UI đang dựng Map 3D (Claude Code) Nhân vật 3D (Meshy) model 3Dphức tạp hơn
Hình 9.1Kỹ thuật Cody tóm lại ở cuối video (đăng ngày 23/10/2026): dùng ảnh sinh từ AI làm bản prototype, rồi chuyển cho các công cụ phức tạp hơn để ra UI, map hay nhân vật.

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

  1. Tên gốc: I Gave Claude a 2D Map and It Built an Entire 3D World
  2. Sự kiện: YouTube
  3. Video gốc: https://www.youtube.com/watch?v=RNIX-Re9k4o youtube.com
  4. Kênh YouTube Web Dev Cody (Cody Seibert): youtube.com/channel/UCsrVDPJBYeXItETFHG0qzyw youtube.com
  5. Trang cá nhân của Cody Seibert: webdevcody.com webdevcody.com
  6. Survive the Night, game của Cody: survivethenightgame.com survivethenightgame.com
  7. Meshy, công cụ sinh model 3D từ chữ và ảnh (đọc ngày 23/10/2026): meshy.ai meshy.ai