Trò chơi 3D đầu tiên của bạn (Your first 3D game)
Trong chuỗi bài hướng dẫn từng bước này, bạn sẽ tạo trò chơi 3D hoàn chỉnh đầu tiên của mình với Godot. Đến cuối chuỗi bài học, bạn sẽ có một dự án hoàn chỉnh của riêng mình có tên là "Squash the Creeps" (Đè bẹp quái vật).

Trò chơi chúng ta sẽ lập trình ở đây tương tự như series Trò chơi 2D đầu tiên của bạn, nhưng có thêm một điểm thú vị: bạn có thể nhảy và mục tiêu của bạn là đè bẹp những con quái vật (creeps). Bằng cách này, bạn vừa nhận ra được các mô hình (patterns) đã học từ các bài trước, vừa phát triển nâng cao chúng với các đoạn mã và tính năng mới.
Những gì bạn sẽ học được
- Làm việc với hệ tọa độ 3D và cơ chế nhảy.
- Sử dụng các thân vật lý động (
CharacterBody3D) để di chuyển nhân vật 3D và nhận diện thời điểm cũng như cách thức va chạm. - Sử dụng các lớp vật lý (
Physics Layers) và Nhóm (Groups) để phát hiện tương tác với các thực thể cụ thể. - Lập trình gameplay ngẫu nhiên cơ bản bằng cách sinh quái vật (instancing monsters) theo các khoảng thời gian đều đặn.
- Thiết kế hoạt ảnh di chuyển và thay đổi tốc độ hoạt ảnh ngay khi game đang chạy (runtime).
- Tạo giao diện người dùng (UI) 2D hiển thị trên nền game 3D.
- Và nhiều kỹ năng hữu ích khác.
Đối tượng của bài hướng dẫn
Hướng dẫn này dành cho những người mới bắt đầu đã làm quen với các khái niệm cơ bản của Godot. Chúng ta sẽ bắt đầu từ tốn với các chỉ dẫn chi tiết và rút gọn dần khi gặp lại các bước tương tự.
Nếu bạn là một lập trình viên đã có kinh nghiệm, bạn có thể tham khảo trực tiếp mã nguồn đầy đủ của bản demo: - Mã nguồn Squash the Creeps (GDScript) - Mã nguồn Squash the Creeps (C#)
Tài nguyên khởi tạo (Starter Assets)
Các tài nguyên đồ họa 3D và âm thanh đã được chuẩn bị sẵn để chúng ta có thể bắt tay ngay vào việc lập trình. Bạn có thể tải về tại đây:
🔗 Tải Squash the Creeps Assets (.zip)
Lộ trình các bài học
Chúng ta sẽ bắt đầu với việc thiết lập khu vực chơi và nguyên mẫu di chuyển cơ bản của người chơi. Tiếp theo là thêm quái vật xuất hiện ngẫu nhiên, lập trình cơ chế nhảy và đè bẹp quái vật, trau chuốt bằng animation và hoàn thiện với hệ thống điểm số và màn hình chơi lại.
- 01. Thiết lập khu vực trò chơi (Setting up the game area): Chuẩn bị sàn đấu, nguồn sáng và camera.
- 02. Scene người chơi và Input Actions (Player scene and input actions): Tạo nhân vật Player và cấu hình các nút bấm điều khiển.
- 03. Lập trình di chuyển cho người chơi (Moving the player with code): Viết script vật lý di chuyển trong không gian 3D.
- 04. Thiết kế scene quái vật (Designing the mob scene): Tạo quái vật với chuyển động ngẫu nhiên và tự hủy khi ra khỏi màn hình.
- 05. Xuất hiện quái vật (Spawning monsters): Tạo đường bao quanh sân đấu và cơ chế sinh quái tự động theo chu kỳ.
- 06. Nhảy và đè bẹp quái vật (Jumping and squashing monsters): Cơ chế nhảy và phát hiện va chạm tiêu diệt quái vật.
- 07. Xử lý khi người chơi bị hạ gục (Killing the player): Xử lý quái vật húc trúng người chơi và kết thúc lượt chơi.
- 08. Điểm số và chơi lại (Score and replay): Thiết kế UI hiển thị điểm và hỗ trợ phím chơi lại.
- 09. Hoạt ảnh nhân vật (Character animation): Thêm hoạt ảnh nhún nhảy sinh động bằng
AnimationPlayer. - 10. Hướng phát triển tiếp theo (Going further): Các gợi ý mở rộng và nâng cấp tính năng game.
👉 Bắt đầu ngay với bài đầu tiên: 01. Thiết lập khu vực trò chơi →