Do biết được nhu cầu của người d ng mà tôi tham gia xây dựng một ứng dụng game xe tăng chiến đấu trên HTML nhằm phục vụ nhu cầu giải tr của những người sử dụng.. Phương pháp tiếp cận - C
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIA ĐỊNH
Trang 2CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 5
1.1 Lý do chọn đề tài 5
1.2 Giới hạn và phạm vi của đề tài 5
1.3 Nội dung thực hiện 5
1.4 Phương pháp tiếp cận 6
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 7
2.1 Tổng quan về HTML 7
2.1.1 Đối tượng tham gia hệ thống . 7
2.1.2 Lịch sử của HTML 7
2.2 Nguyên tắc thiết kế Game Tank Battle City 9
2.2.1 Nguyên tắc 1: Thiết kế giao diện game chặt chẽ và dễ sử dụng 9
2.2.2 Nguyên tắc 2: Game phải được sử dụng một cách mượt mà 9
CHƯƠNG 3: NỘI DUNG THỰC HIỆN 10
3.1 Phân tích đề tài 10
3.1.1 Khái niệm game casual? 10
3.1.2 Cách chơi 10
3.2 Xác định yêu cầu 11
3.2.1 Giao tiếp hệ thống 11
3.2.2 Giao tiếp về điều khiển 11
3.2.3 Giao tiếp về giao diện 11
3.3 Kịch bản game 12
3.4 Sơ đồ quan hệ giữa các lớp 13
3.5 Thiết kế đặc tả chức năng 14
3.5.1 Biểu đồ Use-case: 14
3.6 Demo Game 17
3.6.1 Giao diện màn hình chờ Menu 17
3.6.2 Màn hình game play 17
3.6.3 Màn Hình Game Over 18
Trang 3CHƯƠNG 4 : KẾT
4.1 Kết quả đạt được của đề tài 19
4.2 Hạn chế của đề tài 19
4.3 Hướng phát triển của đề tài 20
TÀI LIỆU THAM KHẢO 21
Trang 4LỜI CẢM ƠN
Để có được những kiến thức và thàng công như ngày hôm nay trước hết
em xin chân thành cảm ơn quý Thầy Cô Trường Đại học Gia Định.Trongsuốt thời gian qua đã tận tình chỉ bảo,giúp đỡ và có nhiều ý kiến đónggóp giúp em hoàn thành tốt công việc học tập của mình
Và em chân thành cảm ơn Thầy Lý Quang Vinh đã tận tình hướng dẫn
và tạo mọi điều kiện giúp em hoàn thành chương trình này
Vì khả năng có hạn và thời gian hạn hẹp cho nên sẽ không tránh đượcnhững thiếu sót và sai lầm Rất mong được sự đóng góp ý kiến của quýthầy cô và các bạn để chương trình ngày càng hoàn thiện hơn.
Xin chân thành cảm ơn
Trang 5LỜI MỞ ĐẦU
Hiện nay Công nghệ thông tin vô c ng phát triển thì mọi người đều sử dụng máy vi
t nh hoặc điện thoại di động để làm việc và giải tr Do đó việc xây dựng các ứng dụng đang là một ngành công nghiệp mới đầy tiềm năng và hứa hẹn nhiều sự phát triển vượt bậc của ngành khoa học kỹ thuật Phần mềm, ứng dụng hiện nay rất đa dạng và phong phú trên các hệ điều hành Các hệ điều hành Windows, MAC, Adroid, IOS, Hybrid, Web bases Mobile Application đã rất phát triển trên thị trường truyền thông Ngày nay, với sự phát triển nhanh chóng của xã hội, nhu cầu giải tr ngày càng phổ biến, vì vậy em đã chọn đề tài “Xây dựng ứng dụng game 2D” với mục đ ch nghiên cứu, tìm hiểu về ứng dụng trên để có thể đáp ứng nhu cầu giải tr
đó, giúp cho mọi người có thể thư giãn thông qua ứng dụng.
Trang 6CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1. Lý do chọn đề tài
Trong những năm gần đây, khoa học và kỹ thuật phát triển mạnh mẽ, công nghệ cũng
có những bước tiến vượt bậc đặc biệt là về mảng điện thoại di động Điện thoại di động là thiết bị tiện ch, dễ sử dụng, nhỏ gọn, có thể sử dụng mọi lúc, mọi nơi Các App dần dần xuất hiện và ngày càng phát triển hơn về cả số lượng và chất lượng.
Các ứng dụng điện thoại xuất hiện nhằm phục vụ nhu cầu tất yếucủa người d ng như: chơi game, nghe nhạc, chụp ảnh, quay video, xemphim… Nhu cầu của người d ng càng cao, App xuất hiện càng nhiều Tuynhiên, không phải App nào được làm ra cũng có chất lượng tốt
Gần đây nhu cầu giải tr của người d ng ngày càng cao ai cũng muốn giải tr giải tỏa tinh thần sau những ngày làm việc mệt nhọc Vì thế họ tìm đến các hoạt động giải tr ngoài trời nhằm thư giãn đầu óc Tuy nhiên không phải
ai cũng có thời gian, cơ hội để mà tham gia các hoạt động giải tr ngoài trời hoặc là họ không th ch đi xa Ch nh vì thế mà họ tìm đến thú vui bằng các game ngay trên điện thoại di động của mình Do biết được nhu cầu của người d ng mà tôi tham gia xây dựng một ứng dụng game xe tăng chiến đấu trên HTML nhằm phục vụ nhu cầu giải tr của những người sử dụng.
Game Tank Battle City là 1 thể loại game 2d rất thận thiện với người d ng từ các trò chơi trên dòng máy Nintendo và mỗi phiên bản đều có sự độc đáo riêng bạn
sẽ đến với 1 cỗ máy xe tăng bảo vệ căn cứ của mình và chiến đấu với các kẻ địch.
1.2. Giới hạn và phạm vi của đề tài
Đề tài xây dựng game Tank Battle City sử dụng công cụ lập trình Visual StudioCode
1.3. Nội dung thực hiện
Nội dung thực hiện nghiên cứu cụ thể như sau:
Trang 7- Xây dựng hệ thông ứng dụng lạ, độc , dễ nhìn.
- Thiết kế đặc tả hệ thống quán lý rõ ràng,nhất quán
- Xây dựng chắc năng cơ bản của game
- Thiết kế đắc tả hệ thống
- Kiểm thử hệ thống
- Triển khai thực nghiệm hệ thống máy t nh và Smartphone
1.4. Phương pháp tiếp cận
- Cách tiếp cận : Trực tiếp tham gia sử dụng các ứng dụng game
đã được xây dựng để rút ra các kinh nghiệm để xây dựng game của mình được tốthơn, chế độ phục vụ tốt hơn
- Sử dụng các phương pháp nghiên cứu: đọc tài liệu trên internet
6
Trang 8CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về HTML
2.1.1 Đối tượng tham gia hệ thống
HTML là viết tắt của cụm từ Hypertext Markup Language (tạm dịch là Ngôn ngữ đánh dấu siêu văn bản) HTML được sử dụng để tạo và cấu trúc các thành phần trong trang web hoặc ứng dụng, phân chia các đoạn văn, heading, titles, blockquotes… và HTML không phải là ngôn ngữ lập trình.
Một tài liệu HTML được hình thành bởi các phần tử HTML (HTML Elements) được quy định bằng các cặp thẻ (tag và attributes) Các cặp thẻ này được bao bọc bởi một dấu ngoặc ngọn (v dụ <html>) và thường là sẽ được khai báo thành một cặp, bao gồm thẻ mở và thẻ đóng V dụ, chúng ta có thể tạo một đoạn văn bằng cách đặt văn bản vào trong cặp tag mở và đóng văn bản <p> và </p> :
<p>Đây là cách bạn thêm đoạn văn trong HTML.</p>
Nhưng một số thẻ đặc biệt lại không có thẻ đóng và dữ liệu đượckhai báo sẽ nằm trong các thuộc t nh (v dụ như thẻ <img>)
Cha đẻ của HTML là Tim Berners-Lee, cũng là người khai sinh ra World Wide Web và chủ tịch của World Wide Web Consortium (W3C – tổ chức thiết lập ra các chuẩn trên môi trường Internet) Các thiết lập và cấu trúc HTML được vận hành và phát triển bởi World Wide Web Consortium (W3C) Bạn có thể kiểm tra tình trạng mới nhất của ngôn ngữ này bất kỳ lúc nào trên trang W3C’s website.
HTML được tạo ra bởi Tim Berners-Lee, một nhà vật lý học của trungtâm nghiên cứu CERN ở Thụy Sĩ Hiện nay, HTML đã trở thành mộtchuẩn Internet được tổ chức W3C (World Wide Web Consortium) vậnhành và phát triển Bạn có thể tự tìm kiếm tình trạng mới nhất củaHTML tại bất kỳ thời điểm nào trên Website của W3C
Trang 9Phiên bản đầu tiên của HTML xuất hiện năm 1991, gồm 18 tagHTML Phiên bản HTML 4.01 được xuất bản năm 1999 Sau đó,các nhà phát triển đã thay thế HTML bằng XHTML vào năm 2000.Đến năm 2014, HTML được nâng cấp lên chuẩn HTML5 với nhiềutag được thêm vào markup, mục đ ch là để xác định rõ nội dungthuộc loại là gì (v dụ như: <article>, <header>, <footer>,…).
Theo Mozilla Developer Network thì HTML Element Reference hiệnnay có khoảng hơn 140 tag Tuy nhiên một vài tag trong số đó đã bịtạm ngưng (do không được hỗ trợ bởi các trình duyệt hiện hành)
8
Trang 102.2 Nguyên tắc thiết kế Game Tank Battle City
2.2.1 Nguyên tắc 1: Thiết kế giao diện game chặt chẽ và dễ sử dụng
Cách thiết kế giao diện cho ứng dụng là một trong những vấn đề rất quan trọng đối với người chơi Ngoài ra, bạn còn cần phải quan tâm đến bố cục của game sao cho hợp lý để người d ng dễ dàng tiếp cận các thông tin cần thiết khi
sử dụng Bởi ứng dụng thiết kế không tốt thì người d ng sẽ khó tiếp cận được những nội dung theo đúng ý muốn của người chơi Từ đó, người chơi sẽ nhanh chóng thoát ra khỏi ứng dụng và cũng sẽ không muốn quay lại khi có nhu cầu.
Về cách phân chia và tổ chức, trước khi Game được thiết kế, nhóm đề tài đã định hình một số khung giao diện thường gặp và thiết kế chúng trở thành giao diện.
2.2.2 Nguyên tắc 2: Game phải được sử dụng một cách mượt mà
Các cử chỉ, hành động của nhân vật ch nh cũng như kẻ th phải được thực thi một cách trơn tru, do đó tác giả đã tận dụng để xây dựng cách điều khiển bằng nút bấm trên bàn ph m nhằm giúp cho người d ng có thể thao tác dễ dàng nhất.
Trang 11CHƯƠNG 3: NỘI DUNG THỰC HIỆN
3.1 Phân tích đề tài
3.1.1 Khái niệm game casual?
Game casual (nghĩa đen là “trò chơi thông thường”) là thuật ngữ được sử dụng để chỉ những tựa game được làm ra nhắm đến đại chúng, bao gồm cả những người t chơi game Nó hoàn toàn trái ngược với game
“hardcore” (trò chơi hạng nặng), là dạng trò chơi nhắm đến những game thủ rành rẽ về game và dành nhiều thời gian cho game.
Trang 12Các vòng chơi sẽ tăng dần mức độ khó nhưng kèm theo đó sẽ cócác vật phẩm ph hợp để mọi người có thể sử dụng để chinh phục tròchơi một cách dễ dàng Các game này còn cho phép người chơi cóthể chơi lại nhưng vẫn giữ nguyên thành t ch nếu bị mất mạng.
3.2 Xác định yêu cầu
3.2.1 Giao tiếp hệ thống
Hệ thống cần phải có đầy đủ chức năng của một ứng dụng chơi game.
Các nút điều khiển phải được liên kết chặt chẽ
3.2.2 Giao tiếp về điều khiển
Các điều khiển phải đầy đủ, dễ dàng sử dụng để người d ng không bị ngượng khi sử dụng ứng dụng
Các điều khiển cần phải có hệ thống quản lý rõ ràng, liên kết chặt chẽ với nhau
và đặc biệt phải phục vụ được đầy đủ các chức năng khi người d ng chơi game.
3.2.3 Giao tiếp về giao diện
Giao diện phải sử dụng các hình ảnh sắc nét, mượt mà, mới lạ, dễ nhìn.
Giao diện phải sắp xếp các nút điều khiển, các hình ảnh, các chữ một cách ngăn nắp, gọn gàng và đặc biệt là phải phân bố hợp lý không bị loạn.
Đặc biệt giao diện cần phải ph hợp với màn hình các thiết bị điện thoại khác nhau
Trang 13Khi chạy game, hệ thống sẽ chuyển đến giao diện menu, ở đây người d
ng chỉ cần ấn vào nút Play là hệ thống sẽ chuyển tới một giao diện khác
Khi vào game, người chơi sẽ bắt đầu ở màn đấy và điều đầu tiên người chơi
có thể ấn những nút như W S A D để đi lên, xuống, trái, phải và Space để bắn.
12
Trang 143.4 Sơ đồ quan hệ giữa các lớp
Hình 2 : Sơ đồ quan hệ giữa các lớp
- Class Main: Đây là class để xử lý tiến trình bắt đầu game cũng như kết thúc game
- Class EnemyMove: Đây là class xử lý di chuyển của Enemy
- Class GameController: Đây là class lưu trữ các enemy và xử
lý random Enemy
hoạt Laze và các xử lý va chạm với enemy , HP, âm thanh …
- Class EnemyState : Đây là class d ng để xử lý va chạm của enemy, xử lý
số điểm, gây sát thương, âm thanh , chuyển động…
- Class Laze: Là class để xử lý bay của viên đạn cũng như xử
lý va chạm với enemy
Trang 153.5 Thiết kế đặc tả chức năng
Để hiểu rõ hơn về yêu cầu của đề tài, nhóm nghiên cứu đề xuất phương án thiết kế các biểu đồ để hiểu thêm về cách thức hoạt động, cách xử lý của đề tài.
3.5.1 Biểu đồ Use-case:
a) Biểu đồ Use-case tổng quát:
Hình 3 :Biểu đồ Use Case tổng quát
Hành động của tác nhân Phản ứng của hệ thống
1. User vào ứng dụng Hệ thống đưa ra giao diện ch nh
User nhấn vào button “Play” Hệ thống hiển thị ra màn hình chơi
2.
game
14
Trang 16- Các yêu cầu đặc biệt:
Không có
Hệ thống đang ở màn hình menu game
- Trạng thái hệ thống sau khi thực hiện Use-case:
Hệ thống hiển thị ra màn hình chơi game ch nh
2 User nhấn vào button “Hướng Dẫn”.
Trạng thái hệ thống sau khi thực hiện Use-case:
Hệ thống hiển thị màn hình giới thiệu các chức năng trong game.
Điểm mở rộng:
Phản ứng của hệ thống Hệ thống đưa ra giao diện ch nh.
Hệ thống hiển thị màn hình giới thiệu các chức năng trong game.
Trang 17và tăng lực chiến
người chơi
- Quản lý trò chơi
- Thiết kế và phát triển các chức năngkhác của game
16
Trang 183.6 Demo Game
3.6.1 Giao diện màn hình chờ Menu
Hình 4: Màn hình Menu Game
- Khi người chơi vào game màn hình sẽ hiện chức năng trong game
o Play : Khi click vào Play màn hình sẽ trực tiếp chuyển đến màn hình chọn chế độ chơi cho người d ng
3.6.2 Màn hình game play
-Người chơi sẽ vào trận để chiến đấu với kẻ địch
Trang 20CHƯƠNG 4 : KẾT LUẬN
4.1 Kết quả đạt được của đề tài
Trình bày được tổng quan về công nghệ HTMLHiểu rõ được tác dụng của Animation
Hiểu rõ được cách làm game trên HTML
Xử lý được các lỗi cơ bản trong HTML
Xử lý được âm thanh trong game
Xử lý được nhân vật trong game
Xử lý được các kẻ địch trong game
Xử lý được các vật phẩm trong game
Hoàn thành được game Tank Battle City
Xây dựng được trò chơi “Tank Battle City” có t nh giải tr cao và hiệu
quả giúp người chơi thoải mái sau nhưng ngày làm việc mệt nhọc Chức năng đơn giản dễ sử dụng ph hợp với mọi lứa tuổi.
4.2 Hạn chế của đề tài
- Chưa xử lý được tối ưu các rằng buộc, dữ liệu chưa được sắp xếp linh hoạt hợp lý
- Còn nhiều chức năng chưa được hoàn thiện
- Chưa bắt được hết các lỗi của hệ thống
- Chưa xử lý được trạng thái hệ thống bị dừng khi đang thao tác và còn một
số tồn tại trong việc đặt tên và sử dụng linh hoạt các điều khiển.
Trang 214.3 Hướng phát triển của đề tài
Tương tác được giữa người chơi thông qua hệ thống
Đồng bộ hóa dữ liệu giữa ứng dụng offline và hệ thống
trực tuyến Dữ liệu được tối ưu hóa đến mức chi tiết nhất
Tối ưu hóa nhân vật hơn giúp nhân vật chuyển được nhiều trạng thái nhân vật
20
Trang 22TÀI LIỆU THAM KHẢO
[1] Janine Suvak - Lập Trình Game Với Unity
[2] Unity for Absolute Beginners
[3] Unity 2D Game Development
[4] Learn Unity for 2D Game Developmen
[5] Learning C# Programming With Unity 3D - Alex Okita
[6] Learn Unity3D Programming with UnityScript
[7] Sue Blackman - Beginning 3D Game Development with Unity 4 in-One, Multi-Platform Game Development 2nd Edition - 2013
All-[8] Terry Norton - Learning C# by Developing Games with Unity 3D Beginner's Guide - 2013
[9] Jeff Murray - C# Game Programming Cookbook for Unity 3D - 2014
[10] Charles Bernardoff - NGUI for Unity - 2014
[11]http://www.unity3dstudent.com/ [11]http://unity3d.com/learn
[11]http://vietgamedev.net
[11] Video-Tutorials
http://forum.unity3d.com/threads/26785-Unity-Jump-Start-21