Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
705,5 KB
Nội dung
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 ORDINAL NUMBER BẰNG UNITY Công ty thực tập : CGT Người phụ trách : Nguyễn Văn Sinh Thực tập sinh : Bùi Trần Uyên Quang TP Hồ Chí Minh, tháng 06 năm 2020 LỜI MỞ ĐẦU Ngày nay, ngành công nghiệp game phận thiếu ngành công nghiệp phần mềm Với tốc độ phát triển vô mạnh mẽ, ngành game nhân tố kích thích phát triển cơng nghệ thông tin giới, phần cứng phần mềm Cùng với xu phát triển giới, Việt Nam ngoại lệ Ngành công nghiệp game non trẻ Việt Nam phát triển mạnh mẽ, để hịa nhập với cơng ty hàng đầu game giới Đặc biệt công ty trẻ nơi phát triển ý tưởng mẻ táo bạo Ngành game sinh nhu cầu giải trí giới trẻ thiết bị công nghệ Và giới trẻ nguồn nhân lực quan trọng cho việc phát triển ngành game sau Vì lý này, em định chọn lập trình game làm định hướng cho việc học tập Sau ba năm học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn tham gia làm game môi trường chuyên nghiệp, em xin thực tập công ty CGT, môi trường làm việc động, sáng tạo, nơi giúp em thực dự định LỜI CẢM ƠN Trân trọng gửi lời cảm ơn công ty CGT tạo điều kiện cho em có hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn nhiệt tình nhóm trainer, nhóm thực tập chúng em tiếp thu kiến thức quan trọng để làm game tảng Unity với yêu cầu sản phẩm thực tế Chân thành cảm ơn anh chị nhóm trainer bỏ nhiều thời gian,công sức để hướng dẫn chúng em hoàn thành đợt thực tập Đặc biệt cảm ơn anh Nguyễn Văn Sinh, training kĩ thuật hướng dẫn, giúp đỡ cho chúng em việc làm quen với cách thức làm việc thực tế công ty hỗ trợ cách làm báo cáo, lên kế hoạch kỹ khác để nhóm hồn thành sản phẩm thời gian qua Cũng xin cảm ơn thầy cô khoa Cơng nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo Bùi Trần Uyên Quang TP Hồ Chí Minh, tháng năm 2020 NHẬN XÉT CỦA KHOA MỤC LỤC LỜI MỞ ĐẦU LỜI CẢM ƠN MỤC LỤC Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty CGT .5 Sản phẩm công ty Chương 2: Nội dung thực tập Tìm hiểu cơng ty kỹ công ty Nghiên cứu kỹ thuật 2.1 Các công cụ làm việc 2.2 Tìm hiểu thiết kế giao diện 2D Unity 2.3 Xử lý hiệu ứng với DOTween Thực project Lịch làm việc Chương 3: Chi tiết project .11 Giới thiệu game .11 1.1 Gameplay 11 1.2 Hệ thống level up .12 Thực 14 Kế hoạch .14 TÀI LIỆU THAM KHẢO 16 TỔNG KẾT 17 Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty CGT CGT công ty chuyên đào tạo đồ họa game, anime Tuy nhiên, trước bùng nổ thị trường mobile game nguồn lực sẵn có, CGT bắt đầu lấn sang lĩnh vực phát triển game, chủ yếu tảng Android iOS thông qua engine Unity Với việc cơng ty cịn mẻ thị trường game nói chung thị trường mobile game nói riêng, CGT hướng đến dịng game puzzle, thiết kế không phức tạp đảm bảo chất lượng để đủ sức cạnh tranh với đối thủ khác Sản phẩm công ty Một số sản phẩm tiêu biểu thực đội ngũ phát triển game CGT kể đến Block Puzzle Jewel, Solitaire Tripeaks, Wood Block, … Chương 2: Nội dung thực tập Trong đợt thực tập, nhóm giao cho đề tài thực lại tựa game “Ordinal Number” thông qua việc sử dụng engine Unity, đồng thời rèn luyện kỹ mềm làm việc nhóm, thuyết trình, giao tiếp Tại cơng ty, sinh viên có hội học tập, khám phá làm việc môi trường phát triển game chuyên nghiệp, động, sáng tạo Tìm hiểu cơng ty kỹ công ty Thời gian : ngày Nội dung : Giới thiệu công ty, cách tổ chức công ty Được nghe người phụ trách giới thiệu cơng ty, q trình thành lập phát triển (như nhắc đến trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức cơng ty Ngồi ra, thực tập sinh giới thiệu cách thức làm việc công ty thời gian làm, quy định cần phải tuân thủ, cách sử dụng công cụ giao tiếp quản lý công việc, … Kết : Hiểu thêm cơng ty CGT Có thêm kỹ việc sử dụng công cụ hỗ trợ giao tiếp quản lý task cơng việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm Nghiên cứu kỹ thuật 2.1Các cơng cụ làm việc Nội dung : Tìm hiểu cơng cụ sử dụng q trình làm việc Trong thời gian này, supervisor hướng dẫn thực tập sinh tìm hiểu cơng cụ giúp ích cho cơng việc sau Một số phần mềm số SourceTree – sử dụng cho việc quản source code project, Shoebox – tool hỗ trợ tạo bitmap font, xử lý tạo sprite sheet số tác vụ khác cho file liên quan đến phần hình ảnh, Slack – cơng cụ hỗ trợ giao tiếp thành viên nhóm, Trello – phần mềm giúp quản lý danh sách công việc đã, thực dự án có liên quan Thực : Thực hành sử dụng phần mềm nêu Kết : Các cơng cụ sử dụng quy trình cơng ty tương đối giống với số công cụ sinh viên sử dụng trình học tập trường nên làm quen nhanh chóng 2.2Tìm hiểu thiết kế giao diện 2D Unity Nội dung : Được training kỹ thuật thiết kế xử lý giao diện 2D Unity - Xử lý canvas: Phân biệt đối tượng dạng UI (text, sprite, …) nằm canvas, cách xử lý đối tượng UI Điều chỉnh để đảm bảo canvas có tính responsive, khơng bị tình trạng vỡ hình ảnh chạy game nhiều thiết bị - Xử lý canvas: Biết điểm khác biệt ảnh hưởng đến component transform nói riêng thành phần khác nói chung đối tượng khơng nằm canvas Ảnh hưởng lẫn scene có đối tượng nằm khơng nằm canvas Hiểu rõ nên không nên để đối tượng canvas - Raycast: Tìm hiểu kỹ thuật raycast, cách cài đặt trường hợp cần sử dụng đến raycast Sử dụng phối hợp raycast với canvas game để tạo phần UI phần xử lý có chất lượng tốt Dùng kỹ thuật raycast để bắt kiện đặc biệt device tap hai vị trí khác xử lý kiện - Camera: Biết cách xử lý camera để hoạt động tốt với raycast hay canvas sử dụng project Điều chỉnh camera để đảm bảo reponsive cho game Thực : - Tham gia đầy đủ buổi training công ty - Thực kiến thức project mẫu giao tương ứng Kết : - Nâng cao kỹ lập trình với Unity Có kiến thức quan trọng cho việc lập trình game mobile sau Nắm cách để thiết kế giao diện cho mobile game 2.3Xử lý hiệu ứng với DOTween Nội dung: Biết kiến thức để sử dụng thư viện DOTween xử lý thành phần UI xử lý logic game - Khái niệm DOTween DOTween animation engine hỗ trợ việc thực thao tác liên quan đến xử lý animation cho đối tượng hình ảnh Unity thông qua việc sử dụng code, chỉnh sửa thơng số component Ngồi ra, coi DOTween thư viện hàm mà cung cấp giúp cho việc thực animation không cần phải thông qua animator animation cách thông thường Unity, thay vào đó, state q trình thực dựa vào hàm DOTween cung cấp - Các phương thức tác động lên transform: Nắm bắt phương thức tác động lên số transform RectTransform ứng dụng vào thực tế việc thiết kế UI phối hợp với số logic game Trong đó, phân biệt xử lý tọa độ local tọa độ world để kết hợp với xử lý logic raycast - Các phương thức tác động lên màu component hình ảnh: Hiểu rõ cách thức hoạt động phương thức tác động lên màu component liên quan đến hình ảnh nhằm ứng dụng việc tạo nhiều hiệu ứng hình ảnh game, đồng thời kiến thức tảng để phối hợp với phần sequence phía sau, tạo hiệu ứng hình ảnh tốt nhất, tận dụng tối đa khả DOTween - DOVirtual: Bao gồm phương thức hỗ trợ việc tác động yếu tố thời gian đến đoạn xử lý trì hỗn việc gọi đoạn xử lý khoảng thời gian hay cho giá trị đoạn xử lý chạy từ mốc đến mốc khoảng thời gian cho trước - Sequence: Cho phép điều khiển chuỗi Tweeners hay xử lý dùng DOTween hay nhiều đối tượng, xem chuỗi DOTween mảng động Mỗi Tweener có phương thức tác động tới việc thực animation tạm dừng, tua ngược hay loop Ngồi ra, Tweener cịn điều khiển mức độ thay đổi giá trị animation thông qua phần phương thức SetEase Thực : - Tham gia đầy đủ buổi trainning Thực thiết kế giao diện cho sản phẩm thông qua việc sử dụng thư viện DOTween Áp dụng DOTween vào phần xử lý dự án thay cho việc sử dụng animation truyền thống Kết : - Hiểu khái niệm thiết kế giao diện với DOTween Tạo giao diện tối ưu hóa phần xử lý cho số dự án thông qua DOTween Thực project Sau tháng training thực hành, thực tập sinh nắm kiến thực sử dụng Unity công cụ liên quan Trong tháng thứ hai, trainer hướng dẫn thực tập sinh áp dụng kiến thức học để thực project game hồn chỉnh Chi tiết đồ án nói phần sau Lịch làm việc Tuần Mức độ Công việc Người hướng dẫn hồn thành - Tìm hiểu cơng ty, Anh Nguyễn Văn 100% cách tổ chức Sinh công ty - Làm quen với công cụ làm việc công ty - Học cách trao đổi, làm việc nhóm qua email cơng vụ khác - Tìm hiểu thiết kế Anh Nguyễn Văn 90% giao diện 2D Sinh Unity - Thực kiến thức học số project mẫu giao - Tìm hiểu Anh Nguyễn Văn 90% DOTween Sinh - Thực hành thiết kế giao diện viết xử lý có ứng dụng DOTween - Tìm hiểu tích Anh Nguyễn Văn 85% hợp package để Sinh chạy Admod, tích hợp Facebook SDK Google Play Game Services - Tích hợp package vào project thực hiện, sử lỗi phát sinh Giai đoạn phát triển 1: Anh Nguyễn Văn 100% - Lên kế hoạch Sinh Nhận xét người hướng dẫn - Viết xử lý sườn Thống với artist số lượng sprites cần thiết Giai đoạn phát triển 2: - Hoàn thiện hệ thống level up - Thực hoàn chỉnh giao diện Giai đoạn Alpha: - Thay đổi cách nhận input mode ordinal cho phù hợp với tập users sản phẩm - Thêm hai mode cộng trừ - Cải thiện hiệu ứng particle Giai đoạn Beta giai đoạn kết thúc, báo cáo : - Cải thiện UI, UX hiệu ứng game - Fix bug logic bug hiệu ứng gây khó chịu cho users - Báo cáo cuối đợt thực tập Anh Nguyễn Văn 100% Sinh Anh Nguyễn Văn 100% Sinh Anh Nguyễn Văn 95% Sinh 10 Chương 3: Chi tiết project Giới thiệu game Ordinal Number game toán đơn giản hướng đến đối tượng users trẻ em 12 tuổi, vừa tạo trò chơi giúp em nhỏ giải trí đồng thời luyện thêm phản xạ tính tốn 1.1 Gameplay Thiết kế ban đầu game gồm chữ số khác hình sinh ngẫu nhiên, người chơi cần chuỗi từ nhỏ đến lớn chữ số thơng qua việc chạm chữ số Ngồi ra, game cịn hai chế độ chơi khác cộng trừ, xuất phép toán tương ứng yêu cầu người chơi chọn đáp án xác đáp án đưa Gameplay theo dạng endless tính điểm Tất mode chơi có đồng hồ đếm thời gian, trả lời sai (quá số lần quy định chế độ cộng trừ) hay không trả lời kịp thời gian chơi kết thúc đồng thời tiến hành ghi điểm lại vượt qua số điểm cao Hình ảnh gameplay chế độ ordinal 11 Hình ảnh gameplay chế độ tốn cộng trừ Giao diện menu game 1.2 Hệ thống level up Do game theo dạng endless nên cần phải thiết kế hệ thống level up hợp lý, tạo cho người chơi cảm giác hào hứng phải đảm bảo game không bị dễ q khó Ngồi cần phải đảm bảo section game khoảng vừa đủ cho người chơi việc quảng cáo thu doanh thu 12 Trước yêu cầu đó, hệ thống level up thiết kế dựa theo hai dạng Đối với người chơi lấy số mốc điểm cố định để phân chia độ khó, người chơi quen thuộc tiến hành phân chia độ khó game tăng tiến theo số điểm cao mà người chơi đạt Từ game ln thay đổi độ khó theo khả người chơi, tránh tình trạng game rơi vào trạng thái q khó, khơng thể vượt qua Đoạn xử lý phân cấp level Sau phân cấp level tại, tiến hành tăng độ khó game cách cho khoảng giá trị random câu hỏi tăng dần, yêu cầu người chơi phải tính tốn nhiều 13 Đoạn xử lý thay đổi text phép toán theo level Thực Thành viên thực Ordinal Number: - Bùi Trần Uyên Quang Dương Gia Bảo Và giúp đỡ tận tình anh Nguyễn Văn Sinh Kế hoạch Giai đoạn phát triển 1: - Viết xử lý cho core gameplay mode ordinal theo thiết kế chạm – kéo Hiện thực thành phần UI Tạo số hiệu ứng particle sơ Kết : - UI sơ sài Hệ thống level up chưa hoàn thiện 14 Giai đoạn phát triển 2: - Phát triển hệ thống tính điểm Phát triển sơ hệ thống level up cho mode Hoàn thành UI Tiến hành test thử gameplay Kết : - Các tính đề hồn thiện, chuyển sang cho phận testing gameplay design UI hoàn thành Hệ thống level up cần cải thiện thêm Giai đoạn alpha: - Thay đổi lại input cho chế độ ordinal theo dạng touch số theo thiết kế Thêm mode cộng Thêm mode trừ - Cải thiện hiệu ứng particle Kết : Các tính hoàn thành Giai đoạn Beta: - Nâng cấp UI, UX dựa vào sprites artist cung cấp - Fix bug input mode ordinal số bug hiển thị mode cộng, trừ - Fix bug liên quan đến flick khung hình UI dialog - Tích hợp package show quảng cáo Google Play Game services Kết : Hoàn thành yêu cầu đề 15 TÀI LIỆU THAM KHẢO DOTween http://dotween.demigiant.com/documentation.php For Particle https://docs.unity3d.com/ScriptReference/ParticleSystem.html For Raycast https://docs.unity3d.com/ScriptReference/Physics.Raycast.html For PlayerPrefs https://docs.unity3d.com/ScriptReference/PlayerPrefs.html 16 TỔNG KẾT Như vậy, vịng tháng ngắn ngủi, nhóm kịp hoàn thành game puzzle chạy Anroid iOS Game có đầy đủ tính đề ban đầu Do thời gian có hạn nên tính game cịn đơn giản, hình ảnh chưa bắt mắt Nhưng game phát triển theo framework có tính kế thừa nên sau có thời gian phát triển lên mức cao hơn, dễ dàng tạo thêm mode chơi khác để làm phong phú nội dung Chân thành cảm ơn giúp đỡ anh Nguyễn Văn Sinh, nỗ lực bạn Dương Gia Bảo góp phần hoàn thành game 17 ... thực đội ngũ phát triển game CGT kể đến Block Puzzle Jewel, Solitaire Tripeaks, Wood Block, … Chương 2: Nội dung thực tập Trong đợt thực tập, nhóm giao cho đề tài thực lại tựa game ? ?Ordinal Number? ??... reponsive cho game Thực : - Tham gia đầy đủ buổi training công ty - Thực kiến thức project mẫu giao tương ứng Kết : - Nâng cao kỹ lập trình với Unity Có kiến thức quan trọng cho việc lập trình game mobile... DOTween Thực project Sau tháng training thực hành, thực tập sinh nắm kiến thực sử dụng Unity công cụ liên quan Trong tháng thứ hai, trainer hướng dẫn thực tập sinh áp dụng kiến thức học để thực