Giới thiệu
Sau những ngày vất vả chạy deadline dịp cuối năm, chơi game là 1 lựa chọn khá thú vị để xả stress. Và chơi một tựa game do chính tay mình tạo ra thì sẽ có nhiều cảm xúc đặc biệt hơn. Hiện nay với sự phát triển mạnh mẽ của AI thì việc này không còn là điều viễn vông mà hoàn toàn khả thi cho tất cả mọi người mà không cần biết hay viết một dòng code nào cả.
Trong bài viết này, tôi sẽ hướng dẫn cách tạo 1 game 2D Javascript đơn giản với AI và chia sẻ cho bạn bè người thân chỉ bằng vài prompt.
Vì sao lại lựa chọn JavaScript ?
Hiện tại có rất nhiều công nghệ để tạo ra game, có thể kể đến các công nghệ tiêu biểu như Unity, Unreal Engine. Tuy nhiên, JavaScript là lựa chọn phù hợp nhất đối với đối tượng người dùng phổ thông bởi các yếu tố:
- Phát triển nhanh
- Chạy đa nền tảng: PC, mobile, tablet
- Hệ sinh thái cực kỳ phong phú
- Dễ dàng triển khai lên cloud để tiện sử dụng và chia sẻ
Các phương pháp để tạo ra game JavaScript
- Sử dụng AI chatbot (như chatGPT, claudeAI)
- Ưu điểm: các công cụ này đã quá quen thuộc với số đông, dễ dàng sử dụng và giúp sinh ra code khá tốt
- Nhược điểm: cần cài phần mềm để có thể chạy code, cần am hiểu code để đưa ra prompt chuẩn nhằm tinh chỉnh code hay fix bug, cần copy code thủ công
- Sử dụng code editor (như VS Code) hay IDE (như WebStorm) kết hợp với AI plugin/extension (ví dụ như GitHub Copilot)
- Ưu điểm: đây là giải pháp khá phổ biến để giúp các lập trình viên phát triển ứng dụng tại thời điểm hiện tại giúp việc code nhanh và thuận tiện hơn thông qua việc gợi ý code hay chèn thẳng đoạn code tự sinh vào file mã nguồn
- Nhược điểm: mất tiền để mua bản quyền hàng tháng, nhiều công đoạn vẫn cần can thiệp thủ công, chủ yếu dưng
- Sử dụng AI IDE/code editor (như Cursor AI hay Windsurf)
- Ưu điểm: tự động hóa gần như mọi công đoạn như tự tạo project, tự code, tự build, tự chạy. người dùng chỉ cần sử dụng prompt để tương tác. chi phí khá hợp lý so với khả năng và hiệu quả mang lại.
- Nhược điểm: vẫn cần phải cài phần mềm như 2 giải pháp bên trên, vẫn cần phải hiểu code ở 1 level nhất định để có thể đưa ra prompt chuẩn nhất
- Sử dụng App Builder chạy trên nền web (như lovable.dev, bolt.new hay create.xyz)
- Ưu điểm: nhanh, tiện, không cần cài đặt, không cần biết code, sử dụng đơn giản, tích hợp sẵn tính năng triển khai lên cloud
- Nhược điểm: giá thành cao, chỉ cho sử dụng free với số lượng prompt giới hạn hoặc bắt buộc phải mua tài khoản premium ngay từ đầu
Dựa vào những so sánh sơ bộ ở trên thì chúng ta dễ dàng thấy sử dụng App Builder chính là sự lựa chọn tốt nhất dành cho người dùng phổ thông (không chuyên về CNTT) muốn tạo ra 1 game để chơi một cách nhanh gọn và thuận tiện nhất.
Trong khuôn khổ của bài viết, tôi sẽ chia sẻ các bước cơ bản để tạo ra game với trang web lovable.dev
Bước 1: Đăng ký tài khoản lần đầu
- Vào trang web: lovable.dev
- Dùng email Google hoặc GitHub để đăng ký tài khoản
Bước 2: Viết prompt phù hợp cho AI
- Bạn có thể nêu thẳng ý tưởng về game vào trang lovable để được tạo ra game tức thì. Tuy nhiên, theo kinh nghiệm của tôi để tạo ra 1 game với chất lượng tốt và ít lỗi thì nên cung cấp cho AI 1 prompt đầy đủ chi tiết chứa toàn bộ thông tin về game như game play, game scene, game technique, game architecture, game design,…
- Để giúp cho việc tạo prompt thật đơn giản nhanh gọn và hiệu quả thì tôi đã tự tạo ra 1 custom GPT chuyên hỗ trợ cho việc tạo ra prompt để AI sinh ra code cho game
- Nhập yêu cầu để GPT giúp gợi ý sinh ra prompt hoàn chỉnh. GPT sẽ đưa ra một số option cho người dùng lựa chọn hoặc người dùng có thể yêu cầu GPT tự đưa ra các lựa chọn phù hợp nhất. Nếu người dùng chưa có ý tưởng gì về game thì GPT cũng sẽ đưa ra gợi ý cho người dùng chọn
- Một ví dụ về kết quả cuối cùng sau khi dùng GPT để sinh ra prompt cho AI khác tạo ra game. Trong ví dụ này là tôi yêu cầu GPT tự đưa ra lựa chọn tốt nhất.
- Chia sẻ kinh nghiệm: tạo ra game 2D thường ít bị lỗi hơn so với game 3D, sử dụng tiếng Anh trong prompt thường sẽ mang lại kết quả tốt hơn so với tiếng Việt
Bước 3: Xây dựng game từ prompt
- Copy toàn bộ prompt được sinh ra ở trên vào trang lovable.dev và ngồi chờ vài phút để thấy kết quả
- Link prompt mẫu: https://anotepad.com/notes/s4bpyiip
- Kết quả: Game đã có thể chạy được với đồ họa ổn ngay với prompt đầu tiên mà không gặp bất kỳ lỗi nào cả.
Bước 4: Tinh chỉnh và tối ưu game
- Bước tinh chỉnh cực kỳ quan trọng và cần thiết. Trường hợp nếu AI không thể tạo ra game hoàn thiện ở prompt đầu thì chúng ta cần yêu cầu AI fix bug để có thể chạy thử game
- Sau khi đã test thử game thì chúng ta có thể đưa thêm một số prompt bổ sung để có thể tối ưu hóa hay tùy biến game theo sở thích cá nhân. Nếu chưa có ý tưởng gì thì có thể yêu cầu AI gợi ý để lựa chọn và thực thi
- Với game thì phần asset (như hình ảnh, âm thanh) cực kỳ quan trọng, nếu chúng ta có sẵn có thể upload lên để yêu cầu AI tích hợp vào game. Còn nếu yêu cầu AI tự sinh thì kết quả thường sẽ không được tối ưu như mong đợi hoặc xảy ra lỗi/xung đột.
- Bộ sưu tập game asset: https://opengameart.org/
- AI tạo hình ảnh – Dall E3: https://chatgpt.com/g/g-iLoR8U3iA-dall-e3
- AI tạo âm thanh – Game Sound Creator: https://chatgpt.com/g/g-atS3LYuJt-game-sound-creator
Bước 5: Triển khai game lên cloud
- Việc triển khai web game lên cloud cực kỳ đơn giản và thuận tiện chỉ với 1 nút bấm Publish ở góc trên bên phải giao diện của ứng dụng
- Chỉ chờ khoảng một vài phút là game đã sẵn sàng để chia sẻ với tất cả mọi người và chúng ta cũng có thể trải nghiệm ở các thiết bị khác dễ dàng
- Link game demo: https://starship-savior-chronicles.lovable.app/
- Trường hợp nếu chúng ta biết code và muốn tự tinh chỉnh thêm game cho đúng yêu cầu thì có thể bấm nút Edit Code để clone về tài khoản GitHub
Tổng kết
Với các công cụ AI như loveable.dev hoặc các công cụ AI tương tự thì có thể giúp chúng ta không chỉ tạo game và còn tạo các ứng dụng phục vụ cho nhu cầu cá nhân, học tập, công việc một cách thuận tiện và dễ dàng hơn. Chi phí cho gói Starter là 20$ tương đương chatGPT Plus rất xứng đáng để trải nghiệm với kết quả đáng kinh ngạc mà AI này mang lại.
Chúc quý thầy cô và các bạn sinh viên có những phút giây giải trí vui vẻ với game AI do chính tay mình tạo ra !