Chào mọi người, hôm nay tôi muốn kể cho mọi người nghe về cái dự án nhỏ mà tôi mới mày mò làm gần đây, một cái game lắp ráp robot đơn giản thôi nhưng mà cũng khá là thú vị.
Bắt đầu thế nào?
Chả là dạo này rảnh rỗi, lại thấy mấy đứa nhỏ ở nhà cứ dán mắt vào điện thoại xem mấy con robot đánh nhau, thế là tôi nảy ra ý định tự làm một cái game lắp ráp robot đơn giản. Kiểu như cho chúng nó tự do sáng tạo, lắp con này ghép con kia, chứ không chỉ xem không.
Lên ý tưởng và thiết kế
Đầu tiên thì tôi cũng lôi giấy bút ra phác thảo. Quan trọng nhất là phải có nhiều bộ phận robot khác nhau. Tôi nghĩ trong đầu là phải có ít nhất vài loại đầu, thân, tay, chân, rồi có thể thêm vài món vũ khí nữa cho nó oách. Mỗi bộ phận lại có vài kiểu dáng, màu sắc khác nhau để tha hồ mà lắp ghép, tạo ra hàng trăm con robot không đụng hàng.
Tôi cũng nghĩ là giao diện phải thật đơn giản, kéo thả thôi. Bên trái là một cái bảng chứa các bộ phận, ở giữa là khu vực lắp ráp chính. Chọn một bộ phận rồi kéo vào, nó tự khớp vào vị trí tương ứng là được.
Quá trình thực hiện chi tiết
Sau khi có ý tưởng sơ bộ, tôi bắt đầu vào việc chính.
- Vẽ các bộ phận: Đây là công đoạn tốn thời gian nhất. Tôi dùng một phần mềm vẽ đơn giản trên máy tính, không phải dân chuyên nên cứ làm từ từ. Vẽ từng cái đầu, cái thân, rồi tay, chân. Cố gắng làm sao cho các khớp nối nó có vẻ hợp lý để khi lắp vào nhìn không bị kỳ cục. Tôi thử nghiệm với nhiều phong cách khác nhau, từ kiểu vuông vức, hầm hố cho đến kiểu thanh thoát, hiện đại.
- Làm cho chúng “di chuyển” được: À, không phải di chuyển theo kiểu hành động đâu. Ý tôi là làm sao để người chơi có thể kéo thả các bộ phận đó trên màn hình. Tôi phải tìm hiểu một chút về cách xử lý sự kiện chuột, xác định vị trí của bộ phận khi người ta nhấp và kéo.
- Xử lý logic lắp ráp: Cái này cũng hơi đau đầu. Phải làm sao để khi kéo một cái tay vào gần vị trí vai của thân robot thì nó tự “hít” vào đúng chỗ. Rồi nếu kéo cái đầu vào vị trí chân thì không được. Tôi đặt ra các “điểm neo” trên thân robot, và mỗi bộ phận khác cũng có điểm kết nối tương ứng. Khi hai điểm này đủ gần nhau và đúng loại thì mới cho phép ghép.
- Hoàn thiện giao diện: Sắp xếp các nút bấm, bảng chọn bộ phận cho nó gọn gàng, dễ nhìn. Thêm mấy cái hiệu ứng đơn giản khi lắp ghép thành công cho nó có cảm giác “đã”.
Trong quá trình làm, cũng có lúc nản lắm. Có khi vẽ xong một bộ phận, đưa vào game thấy nó lệch lạc, không cân đối, lại phải ngồi chỉnh sửa. Rồi có lúc code sai một ly đi một dặm, con robot nó bay lung tung cả lên. Nhưng mà cứ từ từ gỡ rối, thử đi thử lại thì cũng xong.
Thành quả cuối cùng
Sau mấy ngày hì hục, cuối cùng thì cũng ra được một cái gọi là “game” nho nhỏ. Nó chưa có gì đặc sắc lắm, không có đánh đấm gì đâu, chỉ là lắp ráp cho vui thôi. Nhưng mà bọn trẻ con ở nhà có vẻ thích thú. Chúng nó ngồi loay hoay cả buổi chiều, lắp ra đủ thứ robot kỳ dị, rồi cười khà khà với nhau.
Nhìn thành quả tự tay mình làm, dù đơn giản, cũng thấy vui vui. Quan trọng là mình đã học được thêm nhiều thứ trong quá trình làm.
Đấy, chia sẻ với mọi người một chút quá trình mày mò của tôi vậy thôi. Chủ yếu là để giải trí với thỏa mãn cái tính tò mò thích tự làm mọi thứ. Ai có hứng thú thì cũng thử xem, cũng vui phết đấy!