Làm game chơi Tennis sử dụng Wiimote

36
Chơi Tennis trực tuyến với Wii Nguyen Ngoc Linh – L11TXCN1-B Hướng dẫn: T.S. Phạm Văn Cường Hanoi 26/06/2014

description

Đồ án thực hiện làm game chơi Tennis sử dụng Wiimote.

Transcript of Làm game chơi Tennis sử dụng Wiimote

Page 1: Làm game chơi Tennis sử dụng Wiimote

Chơi Tennis trực tuyến với Wii

Nguyen Ngoc Linh – L11TXCN1-BHướng dẫn: T.S. Phạm Văn Cường

Hanoi 26/06/2014

Page 2: Làm game chơi Tennis sử dụng Wiimote

Nội dung

• Nhiệm vụ của đề tài là gì?• Các vấn đề cần phải vượt qua?• Demo sản phẩm• Đã giải quyết như thế nào?• Các vấn đề còn tồn đọng

Page 3: Làm game chơi Tennis sử dụng Wiimote

Nhiệm vụ của đề tài

• Phát triển một game Tennis cho phép người dùng chơi trực tuyến với nhau.

Page 4: Làm game chơi Tennis sử dụng Wiimote

Yêu cầu về sản phẩm

• Cần đáp ứng được tính học thuật: Áp dụng thành công thuật toán nhận diện Có các chức năng phục vụ việc theo dõi việc quá trình thực thi thuật toán và khả năng tùy chỉnh.

• Sản phẩm phải có đặc thù gần giống các loại sản phẩm thương mại để thể hiện được tính thực tiễn.

Page 5: Làm game chơi Tennis sử dụng Wiimote

Phác thảo

• Sử dụng công nghệ 3D để thể hiện môi trường trò chơi. (3D live rendering & 3D physics).

• Sử dụng giải pháp socket server để làm game online real-time.

• Cần phải có một cơ chế chơi game (game mechanic) đơn giản tối đa đủ để coi là một game.

• Cần phải có chức năng theo dõi và tùy chỉnh thuật toán nhận diện.

Page 6: Làm game chơi Tennis sử dụng Wiimote

Công nghệ sử dụng trong đồ án

Page 7: Làm game chơi Tennis sử dụng Wiimote

Check list các vấn đề

• Nghiên cứu về Wiimote và tìm giải pháp cho việc nhận diện hành động của người chơi.

• Thực hiện giải pháp ở mức độ thử nghiệm.• Dựng môi trường game và áp dụng kết

quả của thí nghiệm vào.• Nâng cấp, tối ưu thuật toán và hoàn thiện

sản phẩm.

Page 8: Làm game chơi Tennis sử dụng Wiimote

Demo sản phẩm

Page 9: Làm game chơi Tennis sử dụng Wiimote

Đã giải quyết vấn đề như thế nào?

Page 10: Làm game chơi Tennis sử dụng Wiimote

2 TUẦN ĐẦU TIÊNNhững sai lầm trong

Page 11: Làm game chơi Tennis sử dụng Wiimote

Lầm tưởng về các tham số yaw, pitch, roll• Định áp dụng

Levenshtein Distance.

Page 12: Làm game chơi Tennis sử dụng Wiimote

• Làm quen với yaw, pitch, roll trước bằng việc mô phỏng cây vợt trong môi trường 3D.

Page 13: Làm game chơi Tennis sử dụng Wiimote

Sử dụng IR sensor để tính góc

• Không phù hợp, IR sensor trên Wiimote chỉ được dùng để phục vụ việc trỏ lên màn hình.

Page 14: Làm game chơi Tennis sử dụng Wiimote

Lao vào tìm kiếm thư viện hỗ trợ Wii Motion Plus• Duy nhất chỉ có WiimoteLib 1.8b hỗ trợ.

Nhưng…

Page 15: Làm game chơi Tennis sử dụng Wiimote

Quay sang tìm kiếm với từ khóa “gesture recognition with wiimote”…

Hidden Markov ModelNeural algorithm

WiiFlash Dynamic Time Warping

Waveform Matching

Page 16: Làm game chơi Tennis sử dụng Wiimote

WIIMOTETìm hiểu về

Page 17: Làm game chơi Tennis sử dụng Wiimote

Cấu tạo & cơ chế sử dụng của Wiimote

• Hệ thống các nút• Cảm biến gia tốc

(accelerometer)• Cảm biến hồng

ngoại (IR sensor)• Kết nối Bluetooth

Page 18: Làm game chơi Tennis sử dụng Wiimote

Có thể cắm thêm

• Wii Motion Plus với 2 con quay hồi chuyển (gyroscope): độ nhạy 1:1 với chuyển động.

• Nunchuck: với cảm biến gia tốc và joystick.

Page 19: Làm game chơi Tennis sử dụng Wiimote

Kết nối và lấy dữ liệu từ Wiimote

WiimoteLib

Page 20: Làm game chơi Tennis sử dụng Wiimote

DYNAMIC TIME WARPINGViệc sử dụng thuật toán

Page 21: Làm game chơi Tennis sử dụng Wiimote

Cách làm ngây ngô

• Cắt chuỗi tín hiệu thành từng khoảng rồi đem so sánh.

• Kết quả:– Nhận diện không ổn định.– Giao diện đồ họa bị giật mỗi khi gọi hàm so

sánh.

Page 22: Làm game chơi Tennis sử dụng Wiimote

Khắc phục

• Kiểm tra liên tục.• Kết quả:– Nhận diện chính xác.– Giao diện đồ họa gầu như đứng yên hoàn toàn.

Page 23: Làm game chơi Tennis sử dụng Wiimote

Áp dụng concurrency giải quyết độ giật lag

Page 24: Làm game chơi Tennis sử dụng Wiimote

VIỆC DỰNG GAME

Page 25: Làm game chơi Tennis sử dụng Wiimote

Tìm kiếm & xử lý model 3D

• Dùng Google Sketch Up 7 Pro dùng thử 30 ngày - công cụ tuyệt vời cho người không biết 3D và tìm kiếm model miễn phí trong 3D Warehouse.

Page 26: Làm game chơi Tennis sử dụng Wiimote

Lựa chọn engine

• 3D renderer:– Từ chối Flare3D, chọn Away3D vì các khái niệm

căn bản và dễ nắm bắt hệ thống API. Mặc dù 1 dòng của Flare3D có thể tương đương với hàng chục dòng của Away3D.

– Từ chối Sandy, PaperVision,… chọn Away 3D vì

sử dụng công nghệ Stage3D tăng tốc cho Flash.

Page 27: Làm game chơi Tennis sử dụng Wiimote

• Physics:– Sử dụng BulletPhysics thay vì NAPE, Box2D vì

thông qua FlashCC (Crossbridge) cho hiệu năng native.

Page 28: Làm game chơi Tennis sử dụng Wiimote

Cơ chế chơi game (game mechanic)

• Cần phải quăng vợt đúng lúc.• Chiến thuật dựa vào lựa chọn hướng đánh

và độ mạnh cú quật bóng.• Quăng sớm quật nhẹ, quăng muộn quật

mạnh.• Quăng vợt khi bóng cao thì bóng bay chúc

xuống, quăng vợt khi bóng thấp thì bóng bổng.

Page 29: Làm game chơi Tennis sử dụng Wiimote

Giao diện và điều khiển.

• Hoạt động chơi game, hoàn toàn chỉ cần dùng Wiimote.

• Hoạt động tùy chỉnh (chọn tay chơi, lấy mẫu) sử dụng chuột vào giao diện đồ họa.

• Style giao diện lấy cảm hứng từ phim Oblivion.

Page 30: Làm game chơi Tennis sử dụng Wiimote

Oblivion

Page 31: Làm game chơi Tennis sử dụng Wiimote

Hàng nhái

Page 32: Làm game chơi Tennis sử dụng Wiimote

Các vấn đề còn tồn đọng

• Thuật toán nhận diện vẫn còn sơ đẳng, chưa thông minh. Cần nâng cấp để tạo sự dễ dàng trong tiếp cận ban đầu cho người chơi.

• Thuật toán nhận diện tốn nhiều tài nguyên máy.

• WiiFlash sử dụng WiimoteLib phiên bản cũ – tồn tại sự bất tiện trong việc sử dụng.

Page 33: Làm game chơi Tennis sử dụng Wiimote

XIN CẢM ƠN

Page 34: Làm game chơi Tennis sử dụng Wiimote

PHỤ LỤC

Page 35: Làm game chơi Tennis sử dụng Wiimote

Hướng dẫn sử dụng

Page 36: Làm game chơi Tennis sử dụng Wiimote

Ý nghĩa các loại chỉ số của Wiimote