Cơ sở dữ liệu thông minh, nhưng liệu có chạy được Doom?

Công nghệ03 tháng 10, 2026·4 phút đọc

Tác giả của DOOMQL đã trở lại với một phiên bản Doom chạy hoàn toàn trong cơ sở dữ liệu, lần này có đồ họa chân thực hơn nhiều và thậm chí chơi được chế độ deathmatch.

Cơ sở dữ liệu thông minh, nhưng liệu có chạy được Doom?

Cơ sở dữ liệu thông minh, nhưng liệu có chạy được Doom?

Tóm tắt: Sau phiên bản DOOMQL gây sốt năm 2025, tác giả Lukas Vogel đã trở lại với SQLDoom — một bản port đưa cả logic game lẫn renderer của Doom vào SQL, chạy trực tiếp trong cơ sở dữ liệu CedarDB. Kết quả không chỉ chân thực hơn mà hiệu năng còn tốt hơn cả phiên bản trước đó.

Có một câu nói rằng: "Hãy cẩn thận với điều bạn ước." Năm 2025, chúng tôi từng viết về một chuyên gia cơ sở dữ liệu tạo ra phiên bản Doom viết bằng SQL. Nó khá thú vị, nhưng phần hình ảnh chỉ ở mức gần giống 3D Monster Maze hơn là một tựa game bắn súng pixel thập niên 90. Khi đó chúng tôi nhận xét: "Nếu việc thuyết phục SQL đảm nhận toàn bộ pipeline render là một 'ý tưởng tồi', thì chúng tôi rất nóng lòng chờ đợi một ý tưởng còn tệ hơn."

Và đây rồi. Tác giả Lukas Vogel đã tiếp tục và port cả logic game lẫn renderer của Doom sang SQL, chạy nó trong một cơ sở dữ liệu. Python đảm nhiệm việc tính thời gian, nhận input bàn phím và hiển thị bitmap, còn phần còn lại đều đến từ các truy vấn SQL và cơ sở dữ liệu CedarDB.

Từ DOOMQL đến SQLDoom

DOOMQL là một thành tựu đáng nể. Tuy nhiên, Vogel chia sẻ với The Register: "Ai đó trên Hacker News đã phàn nàn năm ngoái khi tôi làm phiên bản đầu tiên rằng nó giống Wolfenstein hơn vì tôi dùng raycasting thay vì duyệt cây BSP — thứ thực sự làm nên tính cách mạng của Doom.

"Vậy nên tất nhiên tôi không thể để yên chuyện đó."

Thế là SQLDoom ra đời. Doom, được port sang SQL. Trong blog của mình, Vogel nêu rõ các nguyên tắc cho bản port này. Khác với DOOMQL, lần này nó phải trông giống Doom thật. Việc render phải thuần SQL: "đầu ra SQL duy nhất được chấp nhận là một bảng hoặc một bitmap mã hóa giá trị RGB chính xác cho từng pixel", và vòng lặp game cũng phải thuần SQL.

Vogel nói với chúng tôi: "Tôi rất phấn khích khi phát hiện ra rằng việc port Doom thật là a) khả thi và b) hiệu năng thực sự tốt hơn so với cách làm tối giản hơn nhiều của năm ngoái!"

"Rồi đến một lúc nào đó tôi bắt đầu thực sự chơi nó để giải trí trong thời gian rảnh, một cảm giác vẫn rất lạ lùng. Tôi định làm nó như một bản demo kỹ thuật, nhưng nó cứ như Doom thật vậy, dù không chia sẻ một dòng code nào với bất kỳ bản port Doom hiện có. Nên tôi muốn xem mình có thể đi xa đến đâu. Cuối cùng, tôi còn làm cho chế độ deathmatch hoạt động được."

Hiệu năng và trải nghiệm thực tế

Theo Vogel, game chơi hoàn toàn mượt trên laptop của anh (dùng Ryzen 7 7840U), và các trận multiplayer có thể chơi trực tuyến qua server ở châu Âu và Mỹ. Chúng tôi nhận thấy hiệu năng server có phần chậm chạp — có lẽ do server hơn là do bản port — dù việc khiến SQL làm được những điều như vậy là điều mà chỉ vài năm trước còn không thể tưởng tượng nổi.

Cần lưu ý rằng đây là một cách trình diễn khả năng của CedarDB được ngụy trang khéo léo. Đây là một hệ cơ sở dữ liệu biên dịch, nơi các truy vấn phức tạp cuối cùng được biên dịch thành mã máy.

Dù vậy, thật khó để không bị cuốn theo sự nhiệt huyết của Vogel và sự thật rằng đây là Doom… đang chạy trong một cơ sở dữ liệu. Chắc chắn điều này thú vị hơn nhiều so với việc tái tạo thêm một cửa hàng trực tuyến nữa cho thêm một bài phát biểu dài dòng nữa.

Góc nhìn cho người đọc Việt Nam

Với cộng đồng lập trình viên và yêu thích cơ sở dữ liệu tại Việt Nam, SQLDoom là một minh chứng thú vị cho sức mạnh của các hệ quản trị cơ sở dữ liệu hiện đại, đặc biệt là những hệ biên dịch truy vấn thành mã máy như CedarDB. Đây cũng là lời nhắc rằng đôi khi những "ý tưởng điên rồ" lại là cách tốt nhất để khám phá giới hạn của công nghệ — và đôi khi, để giải trí theo cách chưa ai từng nghĩ tới.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗