Thèm chơi bom nên tự làm game luôn!
Bữa trưa thèm chơi bom man nhưng game cũ ngán quá. Thế là ngồi bật d3 lên, quất luôn cái project mới tên “game đặt bom”. Mục tiêu của tôi đơn giản thôi: tạo map, di chuyển nhân vật, đặt bom, và… boom! Nhưng mà làm cũng vật lộn phết đấy.
Đầu tiên ngồi vẽ map bằng tile đơn giản. Tôi lôi cái grid ra, đổ bê tông rào kín thành cái sân vuông vức. Xong rồi ngồi code double click để đặt bom. Tưởng dễ ăn ai ngờ vật lộn cả buổi. Click một phát, bom đặt xuống rồi nhưng cái timer nó không chịu đếm ngược. Lại phải lục lọi mớ tutorial cũ về setInterval để bom biết nổ. Cuối cùng cũng xong, đặt bom, đợi 3 giây, bùm một cái, sướng tay!
Xong phần cơ bản rồi mới tới cái khó: tính sát thương. Bom nổ đúng rồi, nhưng nổ kiểu gì? Tôi muốn nó lan 4 hướng, mỗi hướng vài ô. Ngồi vật vã code mấy cái vòng lặp for để check từng ô xung quanh. Mệt hơn nữa là cái va chạm. Bom nổ gặp tường gạch thì dừng, gặp tường bê tông thì… chịu. Code xong thử chơi, bom nổ lan tận 5-6 ô xuyên tường luôn, mất cả đồ ăn trên bàn (ảo thôi). Vừa chửi thề vừa debug.
Chưa hết đâu! Làm giao diện cho đẹp mắt cũng ngốn cả buổi chiều. Cái nhân vật nó di chuyển cứ như bị sến xe, bom nổ xong hiệu ứng khói bay cứ lởn vởn mấy giây mới tắt. Tôi ngồi chỉnh từng pixel một, vừa chỉnh vừa rên rỉ vì mỏi mắt. Thêm nút restart, nút pause cho nó pro hơn tí. Rồi tự dưng nghĩ ra thêm mấy cái power-up: bom to hơn, chạy nhanh hơn. Code thêm đống logic nữa, test đến nát game. Bom ăn power-up xong nổ trùm gần nửa map, chơi một mạch là xong map, vừa vui vừa ngớ ngẩn.
Vật lộn đủ thứ:
- Di chuyển nhân vật bị giật cục, chạy không mượt.
- Va chạm giữa nhân vật và bom mới đặt không ổn, đi được một đoạn tự nhiên bị chặn lại như có tường.
- Xử lý nhiều bom cùng lúc đặt gần nhau, bom nổ bom chưa nổ loạn cả lên.
- Đôi lúc bom nổ xong, cái khói nó cứ đơ đơ không chịu biến mất.
Mỗi lần sửa được lỗi là ngồi cười khì một mình. Cuối cùng khi cái game chạy được tạm ổn, tôi đặt bom ở góc, đứng từ xa nhìn nó nổ, cảm giác sung sướng khó tả. Mặc dù nhìn vẫn thô sơ và bug chắc còn nhiều, nhưng thấy công sức bỏ ra nó đáng. Cái cảm giác tự mình tạo ra được thứ mình muốn chơi, đã thật đấy. Giờ nghĩ tới việc thêm đồ chơi, thêm map phức tạp hơn hay thêm online co-op nữa, nhưng nghĩ tới đống bug chắc lại vật lộn thêm mấy ngày. Thôi thì bữa nay tạm hài lòng, bật lên chơi mấy vòng tự thưởng cho bản thân đã! Làm game mệt nhưng vui ghê. Chắc ông nào viết game bom ngày xưa cũng bị mấy cái bug dở khóc dở cười như này quá.