Những ngày đầu tháng 2, cái tên Flappy Bird là chủ đề hot nhất của làng game thế giới. Trò chơi này đã đạt hơn 50 triệu lượt tải và đem lại 50.000 USDngày cho người phát triển trò chơi. Đột nhiên, tác giả Nguyễn Hà Đông tuyên bố gỡ bỏ trò chơi này, chỉ bởi vì “Tôi không thể tiếp tục hơn nữa”. Điều gì đã xảy ra? Theo Times, Hà Đông đã đạt được thành công vang dội với Flappy Bird. Trò chơi phổ biến với tốc độ chóng mặt trên khắp thế giới. Thành công của nó là điều mà mọi nhà thiết kế game mơ ước, fan của trò chơi thuộc đủ mọi lứa tuổi, tầng lớp. Thế rồi đột nhiên, hàng chục triệu người chơi game bị sốc khi tác giả quyết định xóa bỏ trò chơi và sau đó im lặng. Không ai biết Con chim Flappy có lại bay nữa hay không. Còn hiện nay, những người đã cài game trên điện thoại vẫn có thể tiếp tục chơi. Và Nguyễn Hà Đông hứa hẹn sẽ tiếp tục phát triển game. Hai game khác của Đông vẫn đang hoạt động và hy vọng chúng sẽ là những thành công tiếp theo đưa tên tuổi Việt Nam đến với thị trường phát triển game thế giới.
TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT KHOA CÔNG NGHỆ THÔNG TIN -*** - CHUYÊN ĐỀ ĐỀ TÀI XÂY DỰNG ỨNG DỤNG ANDROID GAME FLAPPY BIRDS Giảng viên hướng dẫn: ThS Nguyễn Tuấn Anh Sinh viên thực hiện: Trần Thị Khánh (1721050490) Lớp: MMT K62B Hà Nội – 2021 LỜI MỞ ĐẦU Những ngày đầu tháng 2, tên Flappy Bird chủ đề hot làng game giới Trò chơi đạt 50 triệu lượt tải đem lại 50.000 USD/ngày cho người phát triển trò chơi Đột nhiên, tác giả Nguyễn Hà Đơng tun bố gỡ bỏ trị chơi này, “Tơi khơng thể tiếp tục nữa” Điều xảy ra? Theo Times, Hà Đơng đạt thành cơng vang dội với Flappy Bird Trị chơi phổ biến với tốc độ chóng mặt khắp giới Thành cơng điều mà nhà thiết kế game mơ ước, fan trò chơi thuộc đủ lứa tuổi, tầng lớp Thế đột nhiên, hàng chục triệu người chơi game bị sốc tác giả định xóa bỏ trị chơi sau im lặng Khơng biết Con chim Flappy có lại bay hay khơng Cịn nay, người cài game điện thoại tiếp tục chơi Và Nguyễn Hà Đông hứa hẹn tiếp tục phát triển game Hai game khác Đông hoạt động hy vọng chúng thành công đưa tên tuổi Việt Nam đến với thị trường phát triển game giới Chính tiếng game em thích game Flappy Birds nên em làm Tiểu luận làm game Flappy Bird Android Studio Bài tiểu luận sinh viên Trần Thị Khánh biên soạn dựa kiến thức mà thầy ThS Nguyễn Tuấn Anh dạy thơng qua tìm hiểu, nghiên cứu tích cực em Mặc dù em cố gắng song không tránh khỏi số thiếu sót mong thầy đóng góp ý kiến để em hồn thiện tiểu luận 2 MỤC LỤC DANH MỤC HÌNH VẼ HÌNH 1.2.1: BIỂU TƯỢNG CỦA HỆ ĐIỀU HÀNH ANDROID HÌNH 1.3.1: GIAO DIỆN TRANG CHỦ GOOGLE PLAY HÌNH 1.4.1: CÁC PHIÊN BẢN HỆ ĐIỀU HÀNH ANDROID HÌNH 1.4.2: PHIÊN BẢN ĐẦY ĐỦ CỦA HỆ ĐIỀU HÀNH ANDROID HÌNH 2.1.1: PHẦN MỀM ANDROID STUDIO HÌNH 2.2.2.1: GIAO DIỆN ANDROID STUDIO KHI CÀI ĐẶT HỒN TẤT HÌNH 3.1.1: FLAPPY BIRDS HÌNH 3.2.1.1: MƠ HÌNH USD HÌNH 3.2.1.2: MƠ HÌNH DFD CẤP HÌNH 3.2.2.3: MƠ HÌNH DFD CẤP HÌNH 3.2.2.4: MƠ HÌNH DFD CẤP – PHÂN TÍCH XỬ LÝ “CONTROL BIRD” HÌNH 3.4.3.1: FILE HÌNH ẢNH VÀ ÂM THANH HÌNH 3.4.3.2: ĐỊNH NGHĨA CÁC BIẾN HẰNG HÌNH 3.4.3.3: HÀM KHỞI TẠO HÌNH 3.4.3.4: HÀM STARTGAME HÌNH 3.4.3.5: HÀM RENDER HÌNH 3.4.3.6: HÀM RENDER HÌNH 3.4.3.7: HÀM RENDER HÌNH 3.4.3.8: HÀM RENDER 3 HÌNH 4.1: GIAO DIỆN KHI CHUẨN BỊ VÀO GAME HÌNH 4.2: GIAO DIỆN KHI ĐANG CHƠI GAME HÌNH 4.3: GAME OVER 4 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ANDROID GAME FLAPPY BIRDS GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 1.1 Giới thiệu hệ điều hành Android Android hệ điều hành dựa tảng Linux thiết kế dành cho thiết bị di động có hình cảm ứng điện thoại thơng minh máy tính bảng Ban đầu Androi phát triển bới Tổng công ty Android, với hỗ trợ tài từ Google sau Google mua lại vào năm 2005 Android mắt vào năm 2007 với tuyên bố thành lập Liên minh thiết bị cầm tay mở: gồm công tay phần cứng, phần mềm, viễn thông với mục tiêu đẩy mạnh tiêu chuẩn mở cho thiết bị di động Chiếc điện thoại chạy Android bán vào tháng 10 năm 2008 Android có mã nguồn mở Google phát hành mã nguồn theo giấy phép Apache Chính mã nguồn mở với giấy phép khơng có nhiều ràng buộc cho phép nhà phát triển thiết bị, mạng di động lập trình viên nhiệt huyết điều chỉnh phân phối Android cách tự Ngoài ra, Android cịn có cộng đồng lập trình viên đông đảo chuyên viết ứng dụng để mở rộng chức thiết bị, loại ngôn ngữ lập trình Java có sửa đổi Những yếu tố giúp Android trở thành tảng điện thoại thông minh giới, vượt qua Symbian, công ty công nghệ lựa chọn Android chiếm 75% thị phần điện thoại thơng minh tồn giới vào thời điểm quý năm 2012, với tổng 500 triệu thiết bị kích hoạt 1,3 triệu lượt kích hoạt ngày Sự thành cơng hệ điều hành khiến trở thành mục tiêu vụ kiện liên quan đến phát minh, góp mặt gọi “Cuộc chiến điện thoại thông minh” công ty công nghệ 1.2 Lịch sử phát triển Vào tháng 10/2003, trước thuật ngữ “điện thoại thông minh” hầu hết công chúng sử dụng vài năm trước Apple công bố iPhone hệ điều hành iOS, công ty Android Inc thành lập Palo Alto, California Bốn người sáng lập Rich Miner, Nick Sears, Chris White Andy Rubin Vào thời điểm thành lập, ơng Rubin nói Android Inc phát triển “thiết bị di động thông minh hơn vị trí sở thích chủ sở hữu” 5 Theo PC World, Rubin sau tiết lộ phát biểu vào năm 2013 Tokyo hệ điều hành Android mắt để cải thiện hệ điều hành máy ảnh số Rõ ràng, nhóm nghiên cứu Android không nghĩ từ đầu việc tạo hệ điều hành phục vụ phần cốt lõi hệ thống máy tính di động hồn chỉnh Nhưng sau đó, thị trường máy ảnh kỹ thuật số giảm sút, Android Inc định chuyển sang hệ điều hành điện thoại di động Như Rubin nói vào năm 2013, “Cùng tảng, hệ điều hành xây dựng cho máy ảnh, trở thành Android cho điện thoại di động.” Năm 2005, chương lớn lịch sử Android thực Google mua lại công ty gốc Ông Andy Rubin thành viên sáng lập khác tiếp tục phát triển hệ điều hành quyền chủ sở hữu họ Quyết định đưa để sử dụng Linux làm tảng cho hệ điều hành Android điều có nghĩa Android cung cấp miễn phí cho nhà sản xuất điện thoại di động bên thứ ba Google nhóm Android cảm thấy cơng ty kiếm tiền với dịch vụ khác sử dụng hệ điều hành, bao gồm ứng dụng Hình 1.2.1: Biểu tượng hệ điều hành Android 6 Hệ điều hành Android thức mắt từ năm 2007 với tuyên bố thành lập Liên minh thiết bị cầm tay mở Chiếc điện thoại Android bán vào năm 2008 1.3 Ứng dụng Android Android có lượng ứng dụng bên thứ ngày nhiều, chọn lọc đặt cửa hàng ứng dụng Google Play hay Amazon AppStore để người dùng lấy về, tải xuống cài đặt tập tin APK từ trang web khác Các ứng dụng Cửa hàng Play cho phép người dùng duyệt, tải cập nhật ứng dụng Google nhà phát triển thứ ba phát hành Cửa hàng Play cài đặt sẵn thiết bị thoả mãn điều kiện tương thích Google Ứng dụng tự động lọc danh sách ứng dụng tương thích với thiết bị người dùng, nhà phát triển giới hạn ứng dụng họ dành cho nhà mạng cố định quốc gia cố định lý kinh doanh Hình 1.3.1: Giao diện trang chủ Google Play Các ứng dụng cho Android phát triển ngôn ngữ Java sử dụng phát triển phần mềm Android (SDK) SDK bao gồm đầy đủ công cụ dùng để phát triển, gồm có cơng cụ gỡ lỗi, thư viện phần mềm, giả lập điện thoại QEMU, tài liệu hướng dẫn, mã nguồn mẫu hướng dẫn bước Mơi trường phát triển tích hợp (IDE) hỗ trợ thức Eclipse sử dụng phần bổ sung Android Development Tools (ADT) … 7 1.4 Các phiên hệ điều hành Android qua đời Chính mã nguồn mở với giấy phép khơng có nhiều ràng buộc cho phép nhà phát triển thiết bị, mạng di động lập trình viên nhiệt huyết điều chỉnh phân phối Android cách tự khiến cho kho ứng dụng hệ điều hành Android phát triển cách nhanh chóng Android phổ biến tới mức thiết kế để chạy điện thoại máy tính bảng, cịn nhà sản xuất tùy chỉnh để cài đặt Smart TV, máy chơi game thiết bị điện tử khác Bản chất mở Android khích lệ đội ngũ đơng đảo lập trình viên người đam mê sử dụng mã nguồn mở để tạo dự án cộng đồng quản lý Những dự án bổ sung tính cao cấp cho người dùng thích tìm tịi đưa Android vào thiết bị ban đầu chạy hệ điều hành khác Hệ điều hành Android mắt năm 2008 trải qua hàng loạt thay đổi nâng cấp để 8 Hình 1.4.1: Các phiên hệ điều hành Android Hình 1.4.2: Phiên đầy đủ hệ điều hành Android MƠI TRƯỜNG LẬP TRÌNH ANDROID STUDIO 2.1 Giới Thiệu Android Studio Android Studio mơi trường phát triển tích hợp (IDE) thức cho việc phát triển ứng dụng Android Nơi mà nhà phát triển viết code lắp ráp ứng dụng họ từ gói Và thư viện khác Thư viện phần mềm, công cụ lập trình tiện dụng, nhiều để giúp bạn xây dựng, kiểm thử Cũng gỡ lỗi ứng dụng Android Android Studio hỗ trợ loạt giả lập để xem trước ứng dụng, bạn khơng có thiết bị thử nghiệm, bạn chắn thứ hoạt động trơn tru Bên cạnh đó, loạt cơng cự lời khuyên tối ưu hóa, đồ thị doanh số bán hàng, số liệu lấy từ phân tích giúp nhà phát triển quản lý ứng dụng bán tìm hướng cụ thể với thiết bị Android 9 Android Studio hỗ trợ hệ điều hành Windows, Mac OS X Linux, IDE thức Google để phát triển ứng dụng Android gốc để thay cho Android Development Tools (ADT) dựa Eclipse Hình 2.1.1: Phần mềm Android Studio 2.2 Cài đặt Android Studio 2.2.1 Yêu cầu phần cứng máy tính - Microsoft® Windows® 8/7 (32 or 64-bit) - GB RAM (Tốt 8GB) - 400 MB hard disk space + 1GB cho Android SDK, emulator system images caches - Độ phân giải tối thiếu 1280 x 800 -Java Development Kit () 10 10 Hình 3.2.1.1: Mơ hình USD 3.2.2 Mơ hình DFD • Cấp Hình 3.2.1.2: Mơ hình DFD cấp • Cấp 15 15 Hình 3.2.2.3: Mơ hình DFD cấp • Cấp 16 16 Hình 3.2.2.4: Mơ hình DFD cấp – Phân tích xử lý “Control Bird” 3.3 Mô tả Game Flappy Birds Ý tưởng trò chơi: - Thế giới game + Chú chim + Những cặp ống nước - Mục đích + Điều khiển chim bay qua nhiều cặp ống nước tốt, lần bay qua cặp ống nước cộng điểm Cách chơi: Bấm vào bàn phím để chim bay lên, điều khiển chim qua cặp ống nước 17 17 Việc xây dựng game flappy bird game đơn giản, dễ chơi giúp người giải trí sau làm việc lúc rảnh rỗi.Việc xây dựng game flapppy bird giúp em học hỏi tìm hiểu làm game 2D lập trình android Chương trình giải được: Xây dựng luồng android Thực vẽ hình Canvas Kết nối database Hạn chế chương trình: Hiện ứng dụng chưa hoàn chỉnh phát sinh nhiều lỗi cần test Chưa giải thuật toán tối ưu để game chay mượt Game đơn giản sơ sài Định hướng phát triển: Hoàn thiện game để game chơi mượt tạo cảm giác hấp dẫn chơi game Thêm số chức tạo độ khó cho game 3.4 Phân tích tốn 3.4.1 Phân tích u cầu - Animations (hoạt hoạ đối tượng game) Flappy Birds • Liên tục đổi ảnh, split theo vị trí thời gian hạn định, giúp Flappy Birds trông hoạt động vỗ cánh • Khả chúi ngẩng đầu Flappy Birds nhấp vào hình khơng nhấp vào hình • Trọng lực: tạo đoạn code cho thả click Flappy Birds rơi với tốc độ nhanh chậm bao nhiêu, bay nhảy độ cao chạm đất • Vị trí khởi điểm Flappy Birds, vị trí tương đối so với hình di chuyển ống nước Ống nước 18 18 • Luân phiên ống xuất với kích thước khác • Độ rộng – dài ống nước đóng vai trị để tính xác định điểm: Flappy Birds vượt qua độ rộng => cho phép tăng điểm 3.4.2 Xây dựng đối tượng Background: Image background nạp cố định lên hình Ống trơi liên tục bên trái game bắt đầu Con chim: Bird • gameState trạng thái chim (0 game chưa bắt đầu,1 startgame,2 gameover) • int score (điểm chim đạt bay qua ống) • đập cánh liên tục gọi game bắt đầu • justTouched chạm vào hình chim nhảy lên Ống: Tube • Trơi liên tục trái (nếu vượt q hình tự động ẩn) • gap: khoảng cách ống ống • Khi chim qua ống cộng điểm • Khi chim chạm ống gameState=2 Màn hình game • justTouched gọi người dùng chạm hình • Khi chim chết gameState=2 • Nạp background, nạp Bird, nạp Score - gọi reset lại Game • Nạp hai ống có khoảng hở 400 - gọi sau khoảng thời gian cho trước 3.4.3 Code với libGDX Chuẩn bị resource: • File ảnh: bg.png, bird.png, bird2.png, bottomtube.png, gameOver.png, toptube.png • File âm thanh: hit.wav, music.mp3, sfx_wing.ogg (phát tiếng va chạm, âm chơi vỗ cánh) Tạo Project: • Sử dụng gdx-setup-ui.jar để tạo project FlappyBird • Copy tồn resource vào thư mục assets 19 19 Hình 3.4.3.1: File hình ảnh âm Coding: • Định nghĩa biến hằng: Hình 3.4.3.2: Định nghĩa biến 20 20 • Hàm khởi tạo: o Truyền bg.png để làm cho game o Truyền gameOver.png để chim chết lên o Khởi tạo mảng birds truyền bird.png bird2.png để thực hành động vỗ cánh o Truyền toptube.png bottomtube.png để làm ống ống o Chiều cao tối đa ống = chiều cao hình/2 - khoảng cách ống dưới/2-100 o Khoảng cách ống trước ống sau = 3/4 chiều rộng hình o Khởi tạo âm chơi game Hình 3.4.3.3: Hàm khởi tạo • Hàm startGame o Tạo chim với toạ độ ban đầu chim so với trục y (lấy tâm chon chim cho vào hình) o Tạo ống với lần tạo ống o Khi startGame tạo âm chạm hình 21 21 Hình 3.4.3.4: Hàm startGame • Hàm render xử lý vòng lặp cho game o Vẽ background vào biến Batch để game di chuyển background đứng yên o gameState == 1: game bắt đầu chạy o Khi qua ống cộng thêm điểm o Khi chạm hình chim bay lên khoảng 15dp đồng thời phát âm o o o o chạm hình Lặp lại cơng thức tạo ống đồng thời vẽ ống Nếu toạ độ chim so với trục y > chim ln rơi Vượt hình gameState == (game over) Khi game over vẽ game over dừng game, chạm vào hình reset lại game o Biến flapState câu lệnh if-else để chim vỗ cánh o Vẽ chim lúc vỗ cánh vẽ điểm o Khi chim chạm ống gameState == (game over) 22 22 Hình 3.4.3.5: Hàm render Hình 3.4.3.6: Hàm render 23 23 Hình 3.4.3.7: Hàm render Hình 3.4.3.8: Hàm render 24 24 DEMO ỨNG DỤNG Khi bắt đầu chạy game giao diện hình background, chim vẫy cánh điểm số hình kèm theo âm game Hình 4.1: Giao diện chuẩn bị vào Game 25 25 Khi ta nhấp vào hình trị chơi bắt đầu chạy điều khiển chim cách nhấp vào hình Sau chim qua cột điểm số tăng lên điểm có âm phát ta nhấp vào hình Hình 4.2: Giao diện chơi game 26 26 Khi chim bị chạm vào cột vượt hình chết hình Gam Over điểm số cuối Hình 4.3: Game Over 27 27 KẾT LUẬN Chương trình trước mắt chạy theo yêu cầu tiêu đề ra, không mắc phải lỗi nghiêm trọng chiếm dụng nhớ Ram không cao, không cầu kỳ dễ sử dụng – thân thiện với người dùng Tuy nhiên, lấy ý tưởng game người khác, chưa mang tính sáng tạo thực tiễn game chưa nhạy bén hoàn hảo gốc tác giả Nguyễn Hà Đơng Ngồi vấn đề cần cải thiện trên, tương lai em phát triển thêm: Thêm rào chắn mới, khung hiển thị mới, thêm tính lưu điểm cao 28 28 TÀI LIỆU THAM KHẢO Khám phá lịch sử hệ điều hành Android (viettimes.vn) Giới Thiệu Về Android Studio (codehub.com.vn) Đề tài: Xây dựng ứng dụng Android đọc báo mạng qua dịch vụ RSS (slideshare.net) Android Studio gì? 11 Bước cài đặt Android Studio | ĐÀO TẠO CÁC KHÓA HỌC NGẮN HẠN-DÀI HẠN (niithanoi.vn) 29 29 ... KHI ĐANG CHƠI GAME HÌNH 4.3: GAME OVER 4 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ANDROID GAME FLAPPY BIRDS GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 1.1 Giới thiệu hệ điều hành Android Android hệ điều hành dựa tảng... tích hợp sâu Firebase vào ứng dụng sau click chuột TRIỂN KHAI XÂY DỰNG ỨNG DỤNG GAME FLAPPY BIRDS 3.1 Khái quát Game Flappy Birds Flappy Bird (tạm dịch "chú chim vỗ cánh") trò chơi điện tử điện... 17 Việc xây dựng game flappy bird game đơn giản, dễ chơi giúp người giải trí sau làm việc lúc rảnh rỗi.Việc xây dựng game flapppy bird giúp em học hỏi tìm hiểu làm game 2D lập trình android