Nhà Phát Triển Game Sử Dụng AI Để Chuyển Đổi Dữ Liệu Excel Thành Code, Khơi Mào Cuộc Thảo Luận Về Các Giải Pháp Thay Thế Cho Quy Trình Unity

Nhóm Cộng đồng BigGo
Nhà Phát Triển Game Sử Dụng AI Để Chuyển Đổi Dữ Liệu Excel Thành Code, Khơi Mào Cuộc Thảo Luận Về Các Giải Pháp Thay Thế Cho Quy Trình Unity

Giải pháp sáng tạo của một nhà phát triển game để vượt qua tình trạng kiệt sức khi nhập dữ liệu đã thu hút sự chú ý của cộng đồng phát triển. Nhà phát triển này đang làm việc trên một game đấu thẻ bài trong Unity3d nhưng gặp phải rào cản khi phải chuyển đổi hàng chục mô tả nhân vật từ bảng tính Excel thành các hệ thống phép thuật phức tạp trong game engine.

Vấn Đề Nhập Dữ Liệu

Vấn đề cốt lõi xuất phát từ những hạn chế của Unity với các cấu trúc dữ liệu phức tạp. Trong khi ScriptableObjects của Unity hoạt động tốt với dữ liệu đơn giản, chúng gặp khó khăn với tính đa hình và các thành phần lồng nhau. Nhà phát triển nhận thấy rằng giao diện editor của Unity trở nên ngày càng khó quản lý khi các hệ thống phép thuật phát triển phức tạp hơn, đặc biệt là với các tham chiếu nullable đến các lớp con. Điều này dẫn đến việc tránh né các tác vụ nhập dữ liệu trong suốt một tháng và cuối cùng đe dọa tiến độ của dự án.

Tính đa hình đề cập đến khả năng của các đối tượng khác nhau được xử lý như các thể hiện của cùng một kiểu thông qua một giao diện chung, điều mà hệ thống asset của Unity không xử lý tốt.

Các Thách Thức Phát Triển Unity Đã Được Xác Định:

  • ScriptableObjects gặp khó khăn với tính đa hình và các thành phần lồng nhau
  • Giao diện editor tùy chỉnh trở nên không nhất quán với các lớp con phức tạp
  • Tham chiếu nullable đến các lớp con phức tạp gây ra vấn đề hiển thị trong editor
  • Quy trình làm việc với asset truyền thống của Unity không hỗ trợ kiểm tra kiểu dữ liệu nâng cao

Từ Assets Sang Code

Bước đột phá đến khi nhà phát triển nhận ra rằng việc lưu trữ dữ liệu game dưới dạng code thay vì Unity assets có thể giải quyết nhiều vấn đề cùng một lúc. Code dễ chỉnh sửa hơn, có thể được kiểm tra lỗi về kiểu dữ liệu, và cung cấp khả năng kiểm soát phiên bản tốt hơn. Sau khi thử nghiệm với nhiều cách tiếp cận khác nhau bao gồm chuyển đổi YAML, nhà phát triển quyết định viết dữ liệu trực tiếp bằng code C#, sau đó có thể được chuyển đổi thành các file asset Unity trong một quy trình một chiều.

Sự đánh đổi giữa Dữ liệu dựa trên Code và dựa trên Asset:

Phương pháp Ưu điểm Nhược điểm
Dựa trên code Kiểm tra kiểu dữ liệu, kiểm soát phiên bản, chỉnh sửa quen thuộc Yêu cầu biên dịch lại, cập nhật phức tạp, cần kiến thức kỹ thuật
Dựa trên asset Chỉnh sửa trong thời gian chạy, cập nhật dễ dàng, thân thiện với designer Tính đa hình hạn chế, vấn đề UI phức tạp, khó kiểm soát phiên bản

Chuyển Đổi Dữ Liệu Được Hỗ Trợ Bởi AI

Sự đổi mới thực sự đến ở bước tiếp theo: sử dụng các Mô hình Ngôn ngữ Lớn để tự động hóa việc chuyển đổi từ bảng tính Excel sang code C#. Thay vì chỉ đơn giản yêu cầu AI thực hiện chuyển đổi trực tiếp, nhà phát triển đã áp dụng một cách tiếp cận có cấu trúc. Họ đầu tiên làm việc với AI để tạo ra một prompt chi tiết sẽ hướng dẫn quá trình chuyển đổi, bao gồm các quy tắc ánh xạ cụ thể, các bước phân tích và kiểm tra chất lượng.

Cuộc thảo luận trong cộng đồng cho thấy phản ứng trái chiều với cách tiếp cận này. Một số nhà phát triển đánh giá cao khả năng giải quyết vấn đề sáng tạo, trong khi những người khác chỉ ra những nhược điểm tiềm ẩn. Các chuyên gia Unity lưu ý rằng dữ liệu dựa trên code đòi hỏi phải biên dịch lại cho mọi thay đổi và có thể làm phức tạp quá trình cập nhật cho các game đã phát hành, đặc biệt trên các nền tảng không hỗ trợ biên dịch just-in-time.

Cấu trúc quy trình AI được sử dụng:

  • Định nghĩa ngữ cảnh
  • Đặc tả định dạng đầu vào
  • Quy tắc ánh xạ cột
  • Quy trình phân tích 9 bước bao gồm phân tích mô tả phép thuật, xác định mục tiêu và phân tích chi phí
  • Hai tùy chọn định dạng đầu ra (triển khai đầy đủ so với triển khai có đề xuất phép thuật còn thiếu)
  • Các bước kiểm tra chất lượng và xác thực

Các Giải Pháp Thay Thế và Góc Nhìn Ngành Công Nghiệp

Cuộc thảo luận đã làm nổi bật nhiều cách tiếp cận thay thế mà các nhà phát triển khác sử dụng cho những vấn đề tương tự. Nhiều người đề xuất rằng các inspector ScriptableObject tùy chỉnh hoặc các công cụ của bên thứ ba được thiết kế cho quản lý dữ liệu game thẻ bài có thể đã giải quyết vấn đề ban đầu mà không cần thay đổi quy trình làm việc cơ bản như vậy. Tuy nhiên, lựa chọn của nhà phát triển phản ánh xu hướng rộng lớn hơn của việc sử dụng các công cụ AI để tự động hóa các tác vụ phát triển tẻ nhạt.

Cuộc trò chuyện cũng đề cập đến việc tích hợp rộng rãi hơn các công cụ AI vào quy trình làm việc phát triển. Một số thành viên cộng đồng bày tỏ sự ngạc nhiên rằng các công ty công nghệ lớn chưa tích hợp AI một cách tích cực hơn vào các công cụ năng suất như ứng dụng bảng tính, mặc dù những người khác đánh giá cao cách tiếp cận thận trọng do khả năng xảy ra lỗi trong dữ liệu quan trọng.

Kết Luận

Nghiên cứu trường hợp này thể hiện cả tiềm năng và sự đánh đổi của việc sử dụng AI để giải quyết các nút thắt phát triển cụ thể. Trong khi giải pháp này đã thành công trong việc loại bỏ vấn đề nhập dữ liệu đang cản trở tiến độ, nó cũng tạo ra những phức tạp mới xung quanh việc biên dịch và triển khai. Cách tiếp cận này có thể hoạt động tốt cho các nhà phát triển độc lập hoặc các nhóm nhỏ sẵn sàng chấp nhận những đánh đổi này, nhưng các dự án lớn hơn có thể được hưởng lợi từ việc đầu tư vào các công cụ phù hợp thay thế. Cuộc thảo luận làm nổi bật cách các bối cảnh phát triển khác nhau đòi hỏi các giải pháp khác nhau, và đôi khi những cách tiếp cận không theo lối mòn có thể thổi luồng sinh khí mới vào các dự án bị đình trệ.

Tham khảo: (map LLMs excel) saved my passion for game dev