Thử thách 15: Mô phỏng game jam 48 giờ – kế hoạch và bộ asset tối thiểu
Đóng vai họa sĩ trong một game jam 48 giờ: lập kế hoạch theo giờ có giờ ngủ, chia phạm vi Phải có / Nên có / Có thì tốt, rồi vẽ bộ asset tối thiểu cho một game platformer nhỏ – nhân vật, quái, tile, vật phẩm, UI, hiệu ứng – gói trong một atlas 1024 × 1024 px lưới 64 px để cắt thẳng trong Unity 6.
Photoshop hiển thị tiếng Anh. Từ có gạch chân chấm là thuật ngữ trên giao diện — chạm để xem nghĩa, hoặc tra Từ điển Anh–Việt.
Tải về rồi mở bằng Photoshop: (⌘ Cmd+O).
Game jam là cuộc thi làm trọn một game nhỏ trong 48 giờ (như Global Game Jam hay Ludum Dare), thường theo đội 2–4 người. Họa sĩ trong game jam không thắng nhờ vẽ đẹp nhất – họ thắng nhờ vẽ đủ: game chơi được với art đơn giản luôn tốt hơn game dở dang với một nhân vật tuyệt đẹp. Thử thách này mô phỏng trọn vẹn: bạn lập lịch theo giờ (có giờ ngủ bắt buộc), cắt phạm vi thành ba mức ưu tiên, vẽ bộ asset tối thiểu cho một platformer và đóng gói tất cả vào một atlas mà lập trình viên cắt được trong 2 phút. Bạn có thể làm đúng 48 giờ liền một cuối tuần, hoặc chia thành các buổi nhưng vẫn ghi giờ theo lịch.
Hình mẫu
Thời gian ước tính: 48 giờ đồng hồ, trong đó khoảng 14 giờ vẽ, 15 giờ ngủ, phần còn lại là ăn uống, nghỉ, ráp vào game và sửa lỗi. Nếu không có lập trình viên đi cùng, hãy ráp asset vào một Scene Unity mẫu ở giờ 40–46.
Chuẩn bị
- Canvas (khung vẽ): atlas 1024 × 1024 px, lưới 64 px (16 × 16 ô), Resolution (Độ phân giải) 72, RGB Color, Background Contents: Transparent. Mọi asset nằm trọn trong ô 64 px hoặc bội số (128 × 64 cho bệ dài…).
- Công cụ chính: Pencil (Bút chì) Tool hoặc Brush (Cọ vẽ) Hard Round tùy phong cách bạn chọn, Rectangular Marquee (Khung chọn) với Style Fixed Size 64 × 64, Clipping Mask (Mặt nạ cắt) (⌘ Cmd+⌥ Option+G), kiểm tra tile liền mạch, Actions () để xuất lặp lại một phím, Timeline (Dòng thời gian) cho frame chạy.
- Thiết bị: trong game jam, dùng thiết bị bạn nhanh nhất – không phải thiết bị "xịn" nhất. Bút Wacom, XP-Pen, Huion hoặc iPad + Apple Pencil (qua Sidecar hay Astropad) nhanh cho nhân vật và hiệu ứng. Chuột rất mạnh với phong cách hình khối phẳng hoặc pixel art: Pencil, vùng chọn và Shape – nhiều đội jam chọn pixel art 16–32 px chính vì nhanh với chuột.
- File mẫu: "Lịch game jam 48 giờ" – in ra, dán cạnh màn hình, đánh dấu từng khối khi xong. "Lưới atlas 1024" – đặt trên cùng atlas, Opacity (Độ mờ đục) 40%: mỗi vùng màu là chỗ cho một nhóm asset, vùng xám dưới cùng để dự phòng, không lấp đầy cho đẹp.
| Màu | Mã hex | Dùng cho |
|---|---|---|
#3d6fd6 | Nhân vật chính – màu duy nhất xanh dương đậm | |
#6fcf5a | Slime và mặt cỏ | |
#a8703f | Đất | |
#9aa3ae | Đá, bệ, gai | |
#ffc93c | Đồng xu | |
#e8423b | Máu, tim, nguy hiểm | |
#2ecc71 | Nút UI | |
#3a404b | Khung UI | |
#1b1a24 | Viền |
Các bước
- Giờ 0–1 · Ý tưởng và phạm vi: đọc chủ đề jam (tự đặt nếu luyện một mình, vd "Nhẹ hơn không khí"). Viết thiết kế game trong 3 câu. Chia danh sách asset thành ba cột trên lịch mẫu: Phải có (nhân vật, tile, xu, UI máu), Nên có (quái, cờ, hiệu ứng), Có thì tốt (nền parallax, ảnh bìa đẹp). Chỉ cột đầu là cam kết.
- Giờ 1–2 · Phong cách và bảng màu: chọn phong cách bạn vẽ nhanh nhất, không phải phong cách bạn muốn thử. Chốt bảng 9 màu, kích thước nhân vật (1 ô 64 px), PPU cho Unity (64). Gửi ngay cho lập trình viên một ảnh "hộp xám" 64 × 64 làm placeholder để họ code song song.
- Giờ 2–7 · Nhân vật: idle 2 frame và chạy 4 frame, mỗi frame một ô 64 px ở hàng đầu atlas. Vẽ frame đứng trước, nhân đôi và chỉnh chân tay cho các frame chạy. Kiểm tra bằng › Create Frame Animation ở 10 fps. Thêm frame nhảy và bị đánh ở hàng 2 nếu kịp.
- Giờ 7–11 · Tileset (Bộ ô gạch): ô 3 × 3 (9 tile) cho mặt đất: góc, cạnh, giữa – mặt cỏ
#6fcf5atrên đất#a8703f. Tile giữa phải lặp liền: 32 px ngang và dọc để soát mép. Thêm bệ đá 128 × 64 và hàng gai. - Giờ 11–19 · Ngủ: lưu file, tắt máy. Đây không phải lời khuyên – đây là một khối trong lịch. Họa sĩ thiếu ngủ ở giờ 30 vẽ chậm gấp đôi và sai nhiều gấp ba.
- Giờ 19–24 · Quái, vật phẩm: slime 2 frame (co – giãn), đồng xu 4 frame xoay (chỉ cần co chiều ngang 100% → 60% → 20% → 60%), trái tim, chìa khóa, cờ đích. Mỗi thứ một ô. Màu nguy hiểm đỏ chỉ dùng cho thứ gây sát thương.
- Giờ 24–28 · UI: nút START bo tròn có chữ, thanh máu dạng khung + ruột tách 2 sprite (để Unity co giãn ruột bằng Image Fill), ô đếm xu. Chữ trên nút dùng font dày, dễ đọc; xuất chữ cùng nút cho nhanh – trong jam không cần hệ thống chữ phức tạp.
- Giờ 28–33 · Hiệu ứng: bụi khi tiếp đất 4 frame, lấp lánh khi nhặt xu 4 frame. Hình đơn giản, ít màu, vẽ trên nền tối tạm. Hiệu ứng nhỏ này làm game "có cảm giác" hơn mọi chi tiết trên nhân vật.
- Giờ 33–40 · Ngủ lần hai. Trước khi ngủ, xuất atlas bản tạm và gửi đội – để lập trình viên có asset thật lắp vào trong lúc bạn nghỉ.
- Giờ 40–44 · Đóng gói atlas: soát từng ô: mọi asset nằm trọn trong ô 64 px, không pixel nào tràn sang ô bên cạnh (tràn sẽ hiện thành vệt lạ khi Unity cắt). Đặt tên layer theo vùng. Ẩn lưới mẫu, xuất →
jam_atlas.pngđúng 1024 × 1024 px. Ghi lại thành một Action để mỗi lần sửa chỉ cần một phím xuất lại. - Giờ 44–46 · Ráp vào Unity 6: Texture Type Sprite (2D and UI), Sprite Mode Multiple, Pixels Per Unit (Số pixel mỗi đơn vị) 64, Filter Mode (Chế độ lọc ảnh) Point (no filter) nếu là pixel art, Compression None. Sprite Editor › Slice › Grid By Cell Size 64 × 64, Slice, Apply. Kéo 9 tile vào Tile Palette () để lập trình viên vẽ màn chơi; kéo 4 frame chạy vào Scene để Unity tự tạo Animation Clip.
- Giờ 46–48 · Ảnh bìa và nộp: ảnh bìa 630 × 500 px (cỡ trang game jam phổ biến) – ghép nhân vật phóng to ×4 bằng Nearest Neighbor (Điểm lân cận), tên game, vài tile làm nền. Chụp 2–3 ảnh màn hình đang chơi. Nộp trước hạn ít nhất 30 phút – trang nộp bài luôn quá tải ở phút cuối.
- Sau jam · Nhìn lại: mở lịch đã đánh dấu, ghi khối nào trễ bao nhiêu giờ và vì sao. Lần jam sau, nhân thời gian dự kiến của khối hay trễ lên 1,5 lần. Kế hoạch tốt nhất là kế hoạch được sửa từ dữ liệu thật của chính bạn.
Nâng cao (tùy chọn)
- Jam thật: đăng ký một game jam online (nhiều jam trên itch.io có chủ đề hằng tháng) và dùng đúng lịch, đúng atlas của bài này. Ghi lại kết quả so với lần mô phỏng.
- Chủ đề Việt Nam: mô phỏng một jam với chủ đề "Tết" hoặc "Mùa nước nổi": cùng quy trình, đổi bộ asset – nhân vật áo bà ba, tile ruộng lúa và mặt nước, vật phẩm bánh tét.
- Hệ thống palette swap: vẽ atlas bằng 9 màu cố định, trong Unity viết shader đổi 9 màu đó – có ngay màn chơi ban đêm hoặc mùa đông mà không vẽ thêm.
Mẹo & trick học nhanh
Phải có là cam kết, Nên có là mục tiêu, Có thì tốt là phần thưởng. Khi trễ giờ, cắt từ dưới lên – không bao giờ cắt giờ ngủ.
Gửi lập trình viên hộp xám đúng kích thước ở giờ 2. Họ code song song với bạn vẽ; khi asset thật xong chỉ việc thay file – cùng tên, cùng kích thước.
Tất cả asset trên một atlas lưới 64 px nghĩa là một lần import, một lần Slice. Trong jam, mỗi phút lập trình viên không phải hỏi bạn là một phút làm game.