Coding4Food LogoCoding4Food
Trang chủChuyên mụcArcadeĐã lưu
en
Trang chủChuyên mụcArcadeĐã lưu
Coding4Food LogoCoding4Food
Trang chủChuyên mụcArcadeĐã lưu
Bảo mật|Điều khoản

© 2026 Coding4Food. Viết bởi dev, cho dev.

Tất cả tin tức
Công nghệCode Ra Tiền

Sốc não với thuật toán Wave Function Collapse: Gen map Hexagon xịn xò không cần dùng AI

10 tháng 3, 20264 phút đọc
adventure, treasure map, old world map, pirates, pirate treasure, map, compass, navigation, navigate, treasure hunt, treasure hunting, pirate map, adventure, adventure, adventure, treasure map, pirates, pirates, map, map, map, map, map, treasure hunt
Nguồn gốc: https://coding4food.com/post/wave-function-collapse-hex-map-procedural-generation. Nội dung thuộc bản quyền Coding4Food. Original source: https://coding4food.com/post/wave-function-collapse-hex-map-procedural-generation. Content is property of Coding4Food. This content was scraped without permission from https://coding4food.com/post/wave-function-collapse-hex-map-procedural-generationNguồn gốc: https://coding4food.com/post/wave-function-collapse-hex-map-procedural-generation. Nội dung thuộc bản quyền Coding4Food. Original source: https://coding4food.com/post/wave-function-collapse-hex-map-procedural-generation. Content is property of Coding4Food. This content was scraped without permission from https://coding4food.com/post/wave-function-collapse-hex-map-procedural-generation
Nguồn gốc: https://coding4food.com/post/wave-function-collapse-hex-map-procedural-generation. Nội dung thuộc bản quyền Coding4Food. Original source: https://coding4food.com/post/wave-function-collapse-hex-map-procedural-generation. Content is property of Coding4Food. This content was scraped without permission from https://coding4food.com/post/wave-function-collapse-hex-map-procedural-generationNguồn gốc: https://coding4food.com/post/wave-function-collapse-hex-map-procedural-generation. Nội dung thuộc bản quyền Coding4Food. Original source: https://coding4food.com/post/wave-function-collapse-hex-map-procedural-generation. Content is property of Coding4Food. This content was scraped without permission from https://coding4food.com/post/wave-function-collapse-hex-map-procedural-generation
wave function collapseprocedural generationhex maphacker newsthuật toán sinh mapgame dev
Chia sẻ bài viết:

Bình luận

Dạo này lướt mạng, đi đâu cũng thấy anh em khoe dùng AI generator để tạo map, vẽ background mượt như Sunsilk chỉ bằng vài câu prompt. Nhưng mà thú thật, mấy trò mì ăn liền đó thỉnh thoảng lại đẻ ra mấy cái dị tật đ*o chịu nổi, sửa còn cực hơn tự làm. Nay mò lên Hacker News, vớ được bài của lão Felix Turner chễm chệ 475 upvotes về trò "Building a Procedural Hex Map with Wave Function Collapse". Đọc xong tự nhiên thấy mấy thuật toán "chạy bằng logic thuần" nó vẫn ở một cái tầm gì đó rất ma giáo anh em ạ.

Cái quái gì là Wave Function Collapse? Tự hành xác hay phép thuật?

Cho mấy đồng đạo nào tối cổ chưa biết, Wave Function Collapse (WFC) không phải là thuyết lượng tử cao siêu gì đâu. Nó là một cái thuật toán sinh map (procedural generation) cực kỳ bá đạo, thường được chuộng trong giới làm game indie.

Hiểu nôm na thế này: Các ông định nghĩa các quy tắc rõ ràng (ví dụ: gạch cỏ không được nằm trực tiếp cạnh gạch dung nham, sông thì phải nối với sông). Sau đó, ném cho nó một mớ tiles, và nó sẽ từ từ tính toán, loại trừ các khả năng (collapse) như chơi Sudoku để lấp đầy bản đồ mà không bị "bể" logic.

Làm WFC trên lưới vuông (grid) bình thường đã đủ cho não anh em nhảy số rồi, đằng này tác giả còn chơi lớn làm trên Hex Map (lưới lục giác). Chơi hệ lục giác thì xịn thật, vì khoảng cách di chuyển giữa các ô đều nhau, nhìn tự nhiên hơn. Nhưng bù lại, số lượng cạnh và hàng xóm của một ô tăng lên, đồng nghĩa với việc code check logic ràng buộc sẽ dễ thành một đống bùi nhùi nếu các ông không tổ chức data structure đàng hoàng. Lão Felix đã bóc tách từng bước: từ việc định nghĩa tile, set socket (khớp nối) cho từng cạnh lục giác, đến việc xử lý backtracking khi thuật toán lỡ đi vào ngõ cụt. Khá là nể!

Giang cư mận Hacker News gáy gì? Phe Noise vs Phe WFC

Dạo qua một vòng các luồng tranh luận, thấy anh em dev chia phe combat cũng gắt lắm:

  • Phe "Hexagons are the Bestagons": Mấy chả này thì cuồng hình lục giác rồi. Khen nức nở vì mấy bài tutorial về WFC trước nay toàn làm trên grid vuông, nay có pháp sư tiên phong làm hệ hex thì vãn bối xin bái phục.
  • Phe "Dùng Perlin Noise cho lẹ": Một cơ số các senior thực dụng thì chê trò WFC này là overkill (chém trâu dùng đao mổ gà). Kiểu: "Tạo map thì tao táng Perlin Noise vào là xong, code WFC làm cái vẹo gì cho cắn RAM ra?". Cơ mà anh em quên mất WFC nó ngon ở chỗ quy tắc logic rạch ròi. Perlin Noise hợp làm địa hình cao thấp (đồi núi), chứ kêu nó gen ra một cái thành phố có đường sá nối nhau hợp lý thì Noise có mà vỡ mồm.
  • Phe trầm cảm vì bug: Vài đạo hữu kể lể chuyện ngày xưa ôm WFC vào game, cấu hình rule ngu một phát là thuật toán rơi vào contradiction (mâu thuẫn không thể giải), kết quả là văng mẹ nó app hoặc sinh ra vòng lặp vô tận.

Chốt hạ: Code dạo học được gì từ cái đống này?

Tóm cái váy lại, vụ này là một ví dụ điển hình của việc hiểu sâu về thuật toán. Giữa cái thời buổi mà ai cũng đè đầu cưỡi cổ API để gen đủ thứ trên đời, thì việc ngồi cày một cái logic thuật toán cốt lõi thế này giúp não mình bớt "phẳng" đi rất nhiều.

Chưa kể nếu anh em đang làm game hoặc app cần sinh data ngẫu nhiên nhưng phải hợp logic, thì WFC là vũ khí tối thượng. Code ngon rồi, đóng gói lại ném lên một con cloud vps nào đấy làm backend sinh map tự động cho user, khéo lại kiếm được bát phở mỗi ngày chứ đùa.

Nguồn hóng hớt: Building a Procedural Hex Map with Wave Function Collapse

Bỏ qua mấy trò AI gen map lỗi tùm lum đi, xem cao nhân Hacker News múa thuật toán Wave Function Collapse tạo bản đồ Hexagon mượt như Sunsilk đây này.

Chia sẻ bài viết:

Bài viết liên quan

ai generated, data centre, computer, server, rack, technology, digital, processor, server, server, server, server, server
Công nghệAI & Automation

Thinking Machines ra mắt Inkling: Thêm một model AI 'Mở Trọng Số' xịn xò, anh em dev lại có đồ chơi tự host?

Lại thêm một model AI open-weights xịn xò mang tên Inkling vừa được Thinking Machines xả xích. Anh em dev có nên hóng để vác về tự host chạy local?

16 thg 74 phút đọc
Đọc tiếp →
tv, television, televising, video, technology, digital, pixel art, pixel, retro, aesthetic, tv, tv, tv, tv, tv, pixel art, pixel art, pixel art, pixel art, pixel art, pixel
GamingCode Ra Tiền

Chơi thử TinyWind: Game cướp biển pixel siêu nhẹ, vật lý gió cực thực của một 'pháp sư' indie làm chao đảo Hacker News

TinyWind - Một con game HTML5 cực chill về cướp biển với cơ chế vật lý gió siêu thực đang làm mưa làm gió trên Hacker News với gần 1000 upvote.

16 thg 65 phút đọc
Đọc tiếp →
lumber, lumberjack, axe, beard, forest, job, profession, tree, wood, woodcutter, man, person, strong, nature, male
GamingCông nghệ

Game bổ củi online gây nghiện cực mạnh trên Hacker News: Khi các dev tìm thấy chân lý cuộc đời bên lưỡi rìu

Khám phá Firewood Splitting Simulator - tựa game bổ củi siêu tối giản đang làm mưa làm gió trên Hacker News, giúp anh em dev xả stress cực tốt.

15 thg 63 phút đọc
Đọc tiếp →
ai generated, cloud computing, mining, gpu, server, blockchain, artificial intelligence, machine learning, data center, gpu, gpu, data center, data center, data center, data center, data center
Công nghệAI & Automation

Claude Fable 5 Thả Xích: Siêu AI 'Hủy Diệt' Mới Hay Lại Là Cú Lùa Gà Benchmark?

Anthropic vừa thả xích System Card của Claude Fable 5 làm dậy sóng giới dev với hơn 2100 điểm Hacker News. Liệu đây là bước nhảy vọt hay chỉ là bánh vẽ?

10 thg 64 phút đọc
Đọc tiếp →
laptop, hands, gadgets, iphone, apple, lens, macbook, mobile phone, smartphone, typing, blogging, flat lay, workspace, laptop, laptop, typing, typing, typing, typing, typing, blogging, blogging, blogging
Công nghệChuyện Nghề

Mạng 'Xã Hội' Nhưng Đ*o Có Bạn: Khi Thuật Toán Biến Chúng Ta Thành Lũ Nghiện Đu Trend

Nhớ cái thời lướt Facebook để xem thằng bạn cấp 3 hôm nay ăn gì không? Quên m* nó đi. Giờ mở app lên chỉ thấy thuật toán lùa gà bằng drama và trend nhảm nhí.

9 thg 64 phút đọc
Đọc tiếp →
alcatraz, jail, san francisco, cell tract, alcatraz, jail, jail, jail, jail, jail
Chuyện NghềCode Ra Tiền

Từ đáy xã hội lên Senior Dev: Câu chuyện 'quay xe' cực gắt của cựu tù nhân nghiện ngập

Câu chuyện truyền cảm hứng cực mạnh của Gavin Ray: Từ một gã nghiện ngập mang án hình sự nặng tới hành trình tự học làm Senior Software Engineer.

8 thg 64 phút đọc
Đọc tiếp →