Từ Cảm Hứng Tuổi Thơ đến Thực Tế: Xây Dựng Game 2D của Tôi với Kiro
Là một thiếu niên, tôi đã dành hàng giờ liền để chơi Crash Bandicoot, với những cú nhảy chặt chẽ, những vòng đua nhanh và những viên ngọc ẩn. Ngày ấy, tôi không bao giờ nghĩ rằng mình sẽ tự tay tạo ra một trò chơi platformer cho riêng mình.
Hôm nay, tôi đang thực hiện điều đó. Trò chơi của tôi, Glitch Dimension, được xây dựng trên Godot 4.4 dành cho web. Nhưng tôi không xây dựng nó một mình; Kiro là người đồng hành của tôi, giúp tôi duy trì tốc độ, tập trung và trung thực.
Tôi đã tự do khám phá trong Vibe. Tôi đã khóa kế hoạch trong Spec. Tôi đã tự động hóa những phần nhàm chán bằng Hooks. Kết quả: động lực mà không lộn xộn.
Chu Kỳ Kiro Đã Thúc Đẩy Phát Triển
Vibe → Spec → Hooks → Lặp lại. Nhịp điệu đó chuyển những ý tưởng mơ hồ thành những sản phẩm có thể ra mắt.
- Chế Độ Vibe cho phép tôi phác thảo bằng mã. Thử nghiệm với bộ đệm nhảy. Điều chỉnh trọng lực. Phá vỡ và sửa chữa nhanh chóng.
- Chế Độ Spec buộc tôi phải rõ ràng. Tôi đã viết những đặc tả ngắn gọn cho chuyển động, luồng cấp độ, điểm kiểm tra, kẻ thù và bản đồ cấp độ.
- Hooks thực hiện các công việc nhà. Làm sạch các cảnh tạm thời. Chạy với nhật ký chi tiết trên macOS. Giữ kho mã sạch sẽ.
Kiro đã biến lập trình tự chủ thành hiện thực - không chỉ là lời hứa, mà là một chu trình đơn giản mà tích lũy.
Những Gì Người Chơi Cảm Nhận Đầu Tiên
- Lật Kích Thước với FX và âm thanh. Chuyển A ↔ B để né tránh nguy hiểm và tiết lộ các lối đi.
- Platforming Chặt Chẽ với thời gian coyote, bộ đệm nhảy, nhảy biến và nhảy đôi.
- Lựa Chọn Cấp Độ Pro với một bản đồ dựa trên dữ liệu, quy tắc mở khóa, thẻ và hình thu nhỏ.
- Trận Đánh Boss chống lại một gã khổng lồ với các giai đoạn và giao diện sức khỏe rõ ràng.
- Lưu và Tiến Trình tồn tại trên web và desktop.
- Tạm Dừng và Luồng Cảnh không bao giờ làm gián đoạn trạng thái của bạn.
- Sẵn Sàng Chạm cho điện thoại và máy tính bảng.
- Phân Tích Ngoại Tuyến để tôi cải thiện thiết kế mà không theo dõi người dùng.
Tư Duy Sản Xuất Ngay Từ Ngày Đầu
Kiro đã thúc đẩy tôi thiết kế như thể đây là một sản phẩm dành cho những người chơi thực sự, không chỉ là một bản demo nhanh.
Diễn Viên Modular
Các loại diễn viên cốt lõi tạo thành nền tảng (người chơi, đối tượng tương tác, vật phẩm thu thập, kẻ thù).
Ngoài ra, các thành phần có thể lắp ráp xử lý những thứ như sức khỏe, chuyển động, hoạt hình, âm thanh, hiệu ứng và trạng thái — giúp hành vi dễ dàng kết hợp và thay đổi.
Hệ Thống Sự Kiện Mở Rộng
Một bus sự kiện sạch sẽ tổ chức giao tiếp giữa các yếu tố gameplay, UI, âm thanh và hiệu ứng.
Nó đảm bảo các danh mục rõ ràng, thông điệp kiểu mạnh và dọn dẹp tự động — giảm thiểu lỗi và làm cho các hệ thống dễ dàng mở rộng hơn.
Độ Tin Cậy và Phương Án Dự Phòng
Một hệ thống quản lý trung tâm kiểm tra xem các tính năng quan trọng có sẵn không, cung cấp các cuộc gọi an toàn và tải tài nguyên dự phòng.
Nếu có điều gì đó thất bại, trò chơi sẽ giảm dần một cách nhẹ nhàng thay vì bị hỏng hoàn toàn.
Các Nền Tảng Động Hành Xử Như Diễn Viên
Các nền tảng không chỉ là cảnh vật — chúng hành xử như các hệ thống chủ động.
- Thân Thiện Với Biên Tập: Dễ dàng xem trước và điều chỉnh trong thời gian thực, với các điều khiển trực tiếp cho kích thước, kết cấu và va chạm.
- Vật Lý Chính Xác: Va chạm khớp với hình ảnh, tránh các khoảng trống hoặc sự không khớp. Chuyển động, xoay và thay đổi kích thước đều giữ nguyên.
- Chu Kỳ Có Thể Phá Vỡ: Các nền tảng có thể chuyển qua các trạng thái rõ ràng — ổn định, bị chạm, rung, bị vỡ, bị phá hủy — với các hiệu ứng, độ trễ và phản hồi hạt nhân mà quy mô tự nhiên.
- Kích Thước: Được xây dựng với không gian để mở rộng, bao gồm tích hợp cho việc chuyển đổi thế giới và phản hồi hình ảnh.
Kẻ Thù Suy Nghĩ Một Chút
AI Kẻ Thù Bay
- Tránh Chướng Ngại Vật sử dụng một vài tia phía trước để phát hiện va chạm. Nếu bị chặn, nó sẽ di chuyển theo chiều dọc hoặc chiều ngang và cuối cùng sẽ đảo ngược nếu bị kẹt.
- Hành Vi Đuổi theo được kích hoạt khi người chơi ở trong khoảng cách gần, với một cú tăng tốc. Nếu người chơi thoát ra ngoài một khoảng cách nhất định, kẻ thù sẽ hạ nhiệt và ngừng đuổi theo. Có thể yêu cầu đường nhìn.
- Chuyển Động Mượt Mà với sự điều chỉnh dần dần và tốc độ giữ khoảng cách an toàn và ủng hộ con đường ít kháng cự nhất.
- Ngân Sách Hiệu Suất giữ cho nhẹ với toán học nhẹ, cập nhật cách nhau, giảm kiểm tra khi không có trên màn hình, và chế độ tần suất thấp khi nhàn rỗi.
Lựa Chọn Cấp Độ Cảm Giác Như Một Cửa Hàng
Một carousel ngang hiển thị nhiều thẻ cùng một lúc, nhấp nháy mượt mà với tiêu điểm sạch.
- Điều Hướng với trái và phải, cuộn mượt đến lựa chọn, chỉ báo tiêu điểm, và một mô hình trạng thái nhỏ cho chỉ số và vị trí cuộn.
- Cấu Hình trong một mô hình giống JSON xác định kích thước, độ mượt, tốc độ, nhấp nháy và hiệu ứng.
Mẹo vui (Mã cheat): nhấn số không năm lần trên bản đồ để mở khóa tất cả các cấp — hữu ích cho việc kiểm tra hoặc khám phá.
Các Hệ Thống Giữ Trò Chơi Cùng Nhau
Đây là nền tảng của trò chơi, được giữ bằng các script nhẹ của Godot:
Dòng chảy trò chơi cốt lõi:
– Game.gd (trạng thái, điểm số, cố gắng)
– LevelLoader.gd (tải không đồng bộ)
– SceneManager.gd (chuyển tiếp)
– PauseManager.gd (tạm dừng và luồng)
Trình bày & hiệu ứng:
– Audio.gd (bus, SFX đã được nhóm)
– FX.gd (rung màn hình, nhấp nháy, dừng hit)
– DimensionManager.gd (quy tắc và phản hồi lật)
Độ bền & meta:
– Respawn.gd (điểm kiểm tra)
– Persistence.gd (hồ sơ, thống kê)
– LevelCompletion.gd (ăn mừng kết thúc)
– Analytics.gd (nhật ký địa phương)
Tiện ích:
– ObjectPool.gd, HealthSystem.gd, GameTimer.gd, EventBus.gd, PerformanceMonitor.gd
Nhập, UI và Khả Năng Tiếp Cận
Bàn phím: WASD hoặc mũi tên để di chuyển, Space hoặc W để nhảy, F để lật, ESC để tạm dừng, R để khởi động lại.
UI: Menu chính, Bản đồ cấp độ Pro, Menu tạm dừng, Kết quả, Cài đặt, Điều khiển chạm, Giao diện người chơi và Giao diện sức khỏe Boss.
Khả năng tiếp cận thông qua data/game_config.json: mù màu, độ tương phản cao, giảm chuyển động, UI lớn. Cài đặt sống động thông qua một ConfigManager.
Âm Thanh: Nhỏ Nhưng Được Cân Nhắc
- Bus: Master, Nhạc, SFX
- Người chơi SFX đã được nhóm cho hiệu suất
- Thanh trượt âm lượng với độ bền
- Thân thiện với Ogg cho web
- Hỗ trợ giảm âm naration trong mã
Nhờ Elevenlabs, tôi đã tạo ra các lồng ghép giọng nói chất lượng cao cho các hướng dẫn và boss, mỗi cái đều có giọng nói riêng biệt.
Hiệu Suất và Ổn Định
- Tái Sử Dụng Đối Tượng cho hạt, vụn, vật phẩm thu thập, diễn viên tạm thời
- Kết Xuất với nén kết cấu, va chạm hiệu quả, nhóm, culling và mặt nạ kích thước
- Bộ Nhớ và Tải với bộ nhớ đệm tài nguyên và dọn dẹp cùng tải không đồng bộ
LevelLoader - Phân Tích các danh mục: gameplay, UI, hiệu suất, lỗi, tiến trình, kiếm tiền. Được nhóm lại địa phương. Tôn trọng việc không tham gia. Không có kết nối mạng.
Mục tiêu hiệu suất: 60 FPS, <1 GB RAM, tải lần đầu dưới 10 giây, <50 MB tổng tải xuống.
Các Cấp Độ và Tiến Trình
- Level00 Những Bước Đi Đầu Tiên. Ngắn gọn và thân thiện.
- Level01 Vùng Đất Huyền Bí. Thùng, kẻ thù đầu tiên, bí mật.
- Level02 Thế Giới Song Song. Giai cấp gắt gao hơn, các nền tảng di động, giới thiệu kẻ thù bay, các điểm kiểm tra thường xuyên.
- Level_GiantBoss Cuộc Chiến Cuối Cùng của Gã Khổng Lồ. Arena với các giai đoạn, đạn và sóng sốc, các lối vào nhận thức kích thước, và một UI boss riêng biệt.
Các mở khóa được dữ liệu điều khiển trong data/level_map_config.json: cấp độ trước đó, điểm số tối thiểu, và nhiều kế hoạch như số lần chết tối đa và số lượng vật phẩm. Hình thu nhỏ, lớp khóa, điểm số mới nhất, điểm số tốt nhất và trái tim đều có trong các thẻ.
Giao Hàng Trên Web Trước
- Trình Kết Xuất được đặt thành GL Compatibility cho hỗ trợ web rộng nhất
- Độ Phân Giải 1280 x 720
- Canvas Phản Ứng và đầu vào nhận biết chạm
- Triển Khai Vercel với tiêu đề thông minh và bộ nhớ đệm qua
vercel.json - Xuất cho Windows, macOS và Linux sẵn sàng
Tại Sao Kiro Xứng Đáng Nhận Công
Kiro đã giữ tôi trung thực.
- Vibe để tăng tốc.
- Spec để định hình.
- Hooks để giữ vệ sinh.
Nó thúc đẩy tôi hướng tới một tư duy sản xuất mà không làm chậm lại. Nó đã buộc tôi phải viết các đặc tả. Nó đã cung cấp phản hồi nhanh chóng. Nó đã giúp tôi tránh khỏi cái bẫy indie cổ điển: thêm tính năng mà không có xương sống.
Một quan điểm mạnh mẽ: nếu bạn đang xây dựng bất cứ điều gì có các bộ phận chuyển động, hãy sử dụng Kiro như một nhịp điệu. Giữ nhịp. Giữ tốc độ. Giao hàng.
Kết Luận
Ngọn lửa là Crash Bandicoot. Động cơ: Godot. Chất xúc tác: Kiro.
Cùng nhau, họ đã biến giấc mơ của một thiếu niên thành một trò chơi platformer có thể chơi được, ưu tiên web với các hệ thống thực tế và không gian để phát triển. Nếu đây là lập trình tự chủ, tôi đang ở trong.
👉 Chơi game tại đây
💬 Phản hồi rất được hoan nghênh — tôi rất muốn nghe ý kiến của bạn.