Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Công nghệ thông tin Lập trình game bắn trứng (báo cáo thực tập)...

Tài liệu Lập trình game bắn trứng (báo cáo thực tập)

.PDF
28
1
126

Mô tả:

1 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP LẬP TRÌNH GAME BẮN TRỨNG Công ty thực tập : Công ty Cổ phần SmartScale Người phụ trách : Anh Nguyễn Công Lý Thực tập sinh : Sinh viên Nguyễn Lương Kiên TP. Hồ Chí Minh, tháng 6 năm 2022 Nguyễn Công Lý Nguyễn Lương Kiên 2 LỜI MỞ ĐẦU Hiện tại, ngành công nghiệp Game đang là mũi nhọn của nền kinh tế thế giới khi thị phần của ngành này luôn đứng đầu. Năm 2021, thị phần ngành Game được định giá 198 tỉ đô được dự đoán sẽ vượt mốc 349 tỉ đô trước năm 2027 (theo số liệu của mordorintelligence.com). Ngành game phát triển đồng thời cũng kéo theo cuộc đua về phần mềm lẫn phần cứng vi tính khi sự chân thật về mặt hình ảnh, sự phức tạp, đa dạng về lối chơi và nhu cầu kết nối luôn được đòi hỏi ở mức cao nhất từ người chơi. Không nằm ngoài xu thế của thế giới, Việt Nam nói chung và các nhà phát triển game ở Việt Nam nói riêng luôn muốn được góp tiếng nói của mình trong cộng đồng game thế giới khi họ luôn cố gắng đem đến những sản phẩm chất lượng ra thị trường. Do vẫn còn non trẻ, Việt Nam cần thiết có một tiếng nói đi đầu để đem đến một cái viễn cảnh tươi sáng hơn cho những những bạn trẻ đang mong ước được thực hiện một tựa game trong mơ của mình nhưng bị cản trở vì hiện thực phũ phàng của ngành game Việt Nam. Góp chung vào công cuộc xây dưng một nơi lý tưởng như vậy, bên cạnh các công ty lớn hàng đầu ngành Game của Việt Nam khi lấy phát hành game làm chủ đạo thì ở những studio nhỏ như studio CGK (Công ty Cổ phầnScaleMart) nơi số nhân viên không vượt quá con số 20 nhưng sự nhiệt huyết vượt xa trăm người, nơi những con người đặt ước mơ lên trên tham vọng tiền bạc đã và đang đóng góp sức mình và mong một ngày tiếng gọi nhỏ nhoi của mình sẽ được ai đó nghe thấy. Cảm phục sự cố gắng của họ, bản thân em đã quyết định sẽ tham gia, thử một lần nhìn tận mắt cách những con người ấy quyết tâm từng ngày ra sao. Nguyễn Công Lý Nguyễn Lương Kiên 3 LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty Cổ phần SmartScale đã cho em cơ hội để được thực tập tại công ty. Tuy chỉ trong thời gian ngắn và giai đoạn thực tập của em vẫn còn đang tiếp tục và không có cơ hội được tiếp xúc với mọi người trong công ty nhưng em vẫn cảm thấy được sự nhiệt huyết của mọi người trong công việc của mình. Đặc biệt cảm ơn anh Nguyễn Công Lý đã hướng dẫn em tận tình mặc dù em còn thiếu rất nhiều kinh nghiệm. Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện em làm bài báo cáo này. Nguyễn Lương Kiên TpHCM, ngày 16 tháng 6 năm 2022 Nguyễn Công Lý Nguyễn Lương Kiên 4 NHẬN XÉT CỦA KHOA .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... .......................................................................................................................................................... Nguyễn Công Lý Nguyễn Lương Kiên 5 .......................................................................................................................................................... .......................................................................................................................................................... Nguyễn Công Lý Nguyễn Lương Kiên 6 MỤC LỤC LỜI MỞ ĐẦU ............................................................................................................................................ 2 LỜI CẢM ƠN ............................................................................................................................................ 3 NHẬN XÉT CỦA KHOA .......................................................................................................................... 4 Chương 1 Giới thiêu công ty thực tập ........................................................................................................ 8 1.1. Công ty Cổ phần SmartScale ....................................................................................................... 8 1.2. Sản phẩm của công ty .................................................................................................................. 8 Chương 2 Nội dung thực tập ...................................................................................................................... 9 2.1. Tìm hiểu công ty .......................................................................................................................... 9 2.2. Nghiên cứu kỹ thuật ................................................................................................................... 10 2.2.1. Công cụ trao đổi thông tin .................................................................................................. 10 2.2.2 Tìm hiểu về Cocos Creator và Javascript. .......................................................................... 10 2.3. Thực hiện bài kiểm tra kiến thức Cocos Creator và khả năng tư duy lập trình ......................... 11 2.4. Dự án game bắn trứng ............................................................................................................... 12 Chương 3 Chi tiết dự án game bắn trứng ................................................................................................. 13 3.1. Thông tin chung: ........................................................................................................................ 13 3.2 Tóm tắt luật chơi cơ bản: ........................................................................................................... 14 3.3. Công thức tính điểm .................................................................................................................. 16 3.4. Trứng đặc biệt ............................................................................................................................ 17 3.5. Các hệ thống quản lý cốt lõi ...................................................................................................... 18 3.5.1. Resource Manager: ............................................................................................................. 18 3.5.2. Egg Manager: ..................................................................................................................... 19 3.5.3. Board Manager: .................................................................................................................. 20 Nguyễn Công Lý Nguyễn Lương Kiên 3.5.4. 7 Game Manager: .................................................................................................................. 20 3.6. Thuật toán xác định trứng rơi. ................................................................................................... 21 3.7. Một số hình ảnh hiện tại của game ............................................................................................ 23 3.8. Kết quả ....................................................................................................................................... 26 TÀI LIỆU THAM KHẢO ........................................................................................................................ 27 TỔNG KẾT .............................................................................................................................................. 28 Nguyễn Công Lý Nguyễn Lương Kiên 8 Chương 1 Giới thiêu công ty thực tập 1.1. - Công ty Cổ phần SmartScale Công ty qui mô nhỏ với 17 thành viên được thành lập năm 2016 với đội ngũ phát triển nòng cốt là những thành viên cốt lõi từ Studio CGK. - Công ty tọa lạc tại địa điểm: Lầu 12, Tòa nhà Hải Âu, 39B Trường Sơn, Phường 4, Quận Tân Bình, Thành phố Hồ Chí Minh, Việt Nam. 1.2. Sản phẩm của công ty - Công ty chủ yếu thực hiện các sản phẩm và out-source cho ty mẹ. - Các sản phẩm gồm có Cánh cụt vui vẻ, Đảo tặc và một số các game casual và stimulation đang trong giai đoạn thực hiện và sắp được ra mắt trên thị trường. Nguyễn Công Lý Nguyễn Lương Kiên 9 Chương 2 Nội dung thực tập - Thực tập sinh được thực tập từ xa do sự cản trở của dịch Covid 19 hoành hành trong khoảng thời gian thực tập. - Các nội dung thực tập và kết quả được trao đổi giữa thực tập sinh và người phụ trách là anh Nguyễn Công Lý thông qua Telegrame hoặc Facebook Messenger. - Mỗi tuần sẽ có một ngày báo cáo lại quá trình tìm hiểu, học tập và thực hiện nội dung được trao đổi. - Thực tập sinh được hỏi người phụ trách những khuất mắt, khó khăn cần giải đáp trong quá trình học tập. - Trong quá trình thực tập tại nhà, thực tập sinh sẽ có những buổi gặp mặt trực tiếp cùng người hướng dẫn để trao đổi những khúc mắc trong quá trình thực tập. 2.1. Tìm hiểu công ty Hình thức: Đối thoại trực tiếp Nội dung : Giới thiệu về công ty, cách tổ chức của công ty Được nghe người phụ trách và chủ công ty giới thiệu về công ty bao gồm các thành viên, chỗ làm việc, tiểu sử quá trình thành lập, phát triển và những sản phẩm công ty đã tham gia sản xuất. Được nghe giới thiệu về mục đích hoạt động và các nội dung sẽ hướng tới trong tương lai và cách tổ chức của công ty. Kết quả: Hiểu rõ những khó khăn, trắc trở từ những ngày đầu thành lập từ một studio với cái tên CGK nhưng đã được thành công do sự chăm chỉ và cần cù của đội ngũ phát triển. Nhắm bắt được cách vận hành và cách thức trao đổi với người phụ trách hướng dẫn. Nguyễn Công Lý Nguyễn Lương Kiên 10 2.2. Nghiên cứu kỹ thuật 2.2.1. Công cụ trao đổi thông tin Nội dung : Tìm hiểu về Telegram: cách thức hoạt động, cài đặt và thực hiện một cuộc gọi Telegram. Kết quả : Thực hiện thành công cuộc gọi nhóm giữa thực tập sinh, người phụ trách và chủ công ty. 2.2.2 Tìm hiểu về Cocos Creator và Javascript. Nội dung : Tìm hiểu các khái niệm cơ bản trong Cocos Creator và viết một báo cáo về những gì tìm hiểu được và học kiến thức về Javascript. - Node: là đơn vị cơ bản nhất được quản lý trong Cocos Creator. Các node tồn tại trong một Scene sẽ được bố trí và biểu diễn theo dạng cây (quan hệ cha - con). Có thể theo dõi các node trên panel Node Tree. Các Node cùng với các Component của chúng sẽ được render và thực thi theo thứ tự trên - xuống, cha – con. - Components: Component tạo nên ý nghĩa cho Node. ▪ Render Component: Sprite, Light, Mask, MeshRenderer,… ➔ Thực hiện graphic render. ▪ UI Component: Button, Label,… ➔ Hiện thị và thực hiện chức năng của một số loại UI. ▪ Collider Component: BoxCollider, CircleCollider ➔ Xác định va chạm và phản hồi bằng các callback onCollisionEnter, onCollisionStay, onCollisionExit cho Script Component thuộc cùng một Node. ▪ Physics Component: Collider, Joint, Rigidbody ➔ Bản chất là Physic Engine Box2D với 2D và cannon.js với 3D. Mô phỏng, cài đặt các object chịu tác động của vật lý và phản hồi lại bằng các callback onBeginContact, onEndContact, onPreSolve, onPostSolve cho Script Component thuộc cùng một Node. Nguyễn Công Lý Nguyễn Lương Kiên 11 ▪ Và một số Component khác như: Animation, Camera, ParticleSystem, AudioSource… ➔ với chức năng đúng với tên gọi của mình. ▪ Custom Component (Script): Cocos Creator 2.4.7 hỗ trợ ngôn ngữ viết Script là Javascript và Typescript. Về cơ bản, ta sẽ định nghĩa một Javascript Object với một số Properties định sẵn của Cocos Creator (có thể lược bỏ nếu không cần thiết) và truyền vào phương thức cc.Class(). ▪ Các Lifecycle Callbacks và thứ tự thực thi: onLoad ➔ onEnable ➔ start ➔ update ➔ lateUpdate ➔ onDisable ➔ onDestroy. - Event System: Liên lạc giữa các Node hoặc các Component bằng EventHandler component (cc.Component.eventHandler) hoặc emit/launch một event (Event Launcher). Kết quả : - Thực hiện và tìm hiểu đầy đủ các nội dụng chính của Cocos Creator như trên và hoàn thành được một bài báo cáo đã được người phụ trách hướng dẫn kiểm duyệt. - Thuần thục được ngôn ngữ lập trình Javascript khi viết Script cho Cocos Creator. - Nắm bắt được những nội dung cơ bản và tự áp dụng những demo nhỏ cho những nội dung tìm hiểu được. 2.3. Thực hiện bài kiểm tra kiến thức Cocos Creator và khả năng tư duy lập trình Nội dung: Thực hiện bản demo game bắn trứng rồng cổ điển (Endless Mode) và đảm bảo những mechanic chính của game gốc như: Bắn trứng màu ngẫu nhiên theo góc đã được xác định; Nổ trứng khi bắn trứng vào cụm trứng cùng màu có số lượng từ 3 trở lên; Trứng rớt khi xảy ra hiện tượng nổ. Chính sách ghi điểm khi nổ được trứng, rớt trứng cũng như các Assets của trứng, particles và âm thanh thực tập sinh tự chuẩn bị và sẽ không nằm trong đánh giá. Đường dẫn demo thực hiện: https://github.com/AdrianNguyenUIT/DragonEggPopClone Nhận xét, đánh giá: Nguyễn Công Lý Nguyễn Lương Kiên 12 - Tổ chức các node trên editor vẫn còn lộn xộn khi không có cơ chế sinh trứng tự động và sắp xếp các node không được tổ chức theo mong muốn của người đánh giá. - Gợi ý cách tổ chức các node sao cho dễ đọc và nhìn nhận. - Có các lỗi sau: ▪ Trứng được bắn ra khi giao tiếp với trứng trên bàn có hiện tượng đi xuyên. ▪ Thuật toán xác định trứng rơi vẫn chưa biểu hiện theo đúng yêu cầu. Kết quả: - Đã có sự nhìn nhận và xem xét lại demo thực hiện và đã tiến hành debug và chỉnh sửa thuật toán và tạo một cơ chế pooling và sinh trứng tự động. - Rút ra bài học, kinh nghiệm về việc tổ chức các node trong editor sao cho dễ nhìn và tương tác. 2.4. Dự án game bắn trứng Nội dung: Làm lại một tựa gam bắn trứng đã có mặt trên Google Play là Egg Shoot của Crab Studio với mục đích tham khảo và sẽ chỉnh sửa, thêm thắt những tính năng, giao diện với mục tiêu là sẽ trở thành một mini game trong dự án game lớn của công ty. Áp dụng những gì đã làm trong bài kiểm tra trên để tham khảo, có thể chỉnh sửa thuật toán tùy ý. Đường dẫn của game gốc: https://play.google.com/store/apps/details?id=com.cua.egg.shoot&hl=en&gl=US Hình ảnh của game gốc: Nguyễn Công Lý Nguyễn Lương Kiên 13 Chi tiết dự án thực hiện: Xem chương 3. Chương 3 Chi tiết dự án game bắn trứng 3.1. Thông tin chung: - Là tựa game làm lại tựa game Egg Shoot của Crab Studio (Chương 2 – mục 2.4) với mục đích sẽ sử dụng game bắn trứng (đã qua sửa đổi) thành một mini game trong một tựa game đang phát triển của công ty. - Các Assets của trò chơi do công ty cung cấp. - Người thực hiện: Thực tập sinh Nguyễn Lương Kiên Nguyễn Công Lý Nguyễn Lương Kiên 14 3.2 - Tóm tắt luật chơi cơ bản: Khi tham gia màn chơi, người chơi điểu khiển trỏ chuột hoặc cảm ứng để điều khiển mũi tên chỉ thị hướng mà người chơi muốn bắn trứng. - Trứng để bắn sẽ có một mầu ngẫu nhiên tùy vào các màu trứng được phép có trên bàn. - Khi trứng được bắn đi: Va chạm vào hai bên tường sẽ bật ngược, thay đổi hướng x của vector di chuyển của trứng; Va chạm với trứng sẽ xác định điều kiện nổ là nếu cụm trứng sau khi va chạm xảy ra là cúm trứng cùng màu với số lượng từ 3 trở lên sẽ xảy ra sự kiển nổ trứng). Nguyễn Công Lý Nguyễn Lương Kiên 15 - Sự kiện nổ trứng sẽ giúp người chơi ghi điểm theo công thức tính điểm của trò chơi. - Khi các trứng trên bàn gặp phải dây chắn ngang, người chơi sẽ có 6 giây để làm rớt hoặc nổ hết những trứng đó . Nếu sau 6 giây mà vẫn có trứng nằm trên dây chắn ngang, game sẽ kết thúc màn chơi và ghi nhận số điểm hiện tại. Nguyễn Công Lý Nguyễn Lương Kiên 16 - Khi cát ở đồng hồ cát ở tường bên phải hiện một quả trứng có cánh chảy xuống hết bên dưới sẽ xuất . Loại trứng này báo hiệu màu trứng tiếp theo (vàng) sẽ xuất hiện trên bàn nêu như người chơi không làm nổ quả trứng này. Để làm nổ quả trứng bay người chơi chỉ cần bắn trứng hiện tại vào trứng bay thì sẽ nhận được 250 điểm. Tuy nhiên quả trứng (vàng) tiếp theo sẽ bay nhanh hơn và khó bắn trúng hơn. 3.3. Công thức tính điểm [Số trứng Nổ]: Số trứng trong cụm trứng cùng màu khi nổ. [Điểm]: Điểm số cơ bản gắn cho mỗi quả trứng (mặc định là 10). [Tích các số nhân]: Trong trường hợp người chơi làm nổ những quả trứng đặc biệt giúp nhân số điểm đạt được với số biểu thị (X2, X3, X4) và được nhân dồn. Ví dụ người chơi ăn được 1 quả trứng X2 và 1 quả trứng X3 thì điểm số sẽ được nhân 6. [Số trứng Rơi]: Số quả trứng lại rơi khi sự kiện nổ xảy ra. Nguyễn Công Lý Nguyễn Lương Kiên 17 3.4. Trứng đặc biệt - Trên bàn trứng sẽ có duy nhất một quả trứng tại một thời điểm trở thành trứng đặc biệt với dấu hiệu nhận biết là trứng sẽ có animation nở ra vào. , . - Khi làm nổ quả trứng này sẽ kích hoạt hiệu ứng ngẫu nhiên đặc biệt cho quả trứng hàng chờ tiếp theo. - Các hiệu ứng đặc biệt: ▪ Trứng bonus điểm (nhân với giá trị điểm mặc định của mỗi quả trứng): (5 * 10 điểm) , (10 * 10 điểm), (15 * 10 điểm), (20 * 10 điểm) ▪ Trứng nhân điểm: (X2 số điểm), (X3 số điểm), (X4 số điểm). ▪ Trứng UP: Nguyễn Công Lý sẽ làm bàn trứng di chuyển lên một đoạn. Nguyễn Lương Kiên 18 3.5. Các hệ thống quản lý cốt lõi 3.5.1. Nguyễn Công Lý Resource Manager: Nguyễn Lương Kiên 19 3.5.2. Nguyễn Công Lý Egg Manager: Nguyễn Lương Kiên 20 3.5.3. Board Manager: 3.5.4. Game Manager: Nguyễn Công Lý Nguyễn Lương Kiên
- Xem thêm -

Tài liệu liên quan