Môi trường làm việc tại FPT rất chuyên nghiệp, giúp em có thểphát huy tối đa năng lực của bản thân và phát triển một cách toàn diện.Nhờ được tiếp cận với môi trường làm việc tốt, cùng vớ
lOMoARcPSD|39211872 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ======***====== BÁO CÁO THỰC TẬP TỐT NGHIỆP Giáo viên hướng : ThS Lê Minh Hoàng dẫn Sinh viên thực hiện : Võ Văn Đức Mã số sinh viên : 20202605216 Lớp : CNTT4-K15 Hà Nội – Năm 2024 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 1 LỜI CẢM ƠN Trong kỳ thực tập vừa qua tại Công Ty TNHH Hệ Thống Thông Tin Fpt (FPT IS), em xin gửi lời cảm ơn chân thành tới quý công ty và thầy giáo Lê Minh Hoàng đã tạo mọi điều kiện thuận lợi nhất cho em hoàn thành tốt kỳ thực tập này Khi thực tập tại Công Ty TNHH Hệ Thống Thông Tin Fpt, em đã học được rất nhiều kiến thức bổ ích từ kỹ năng mềm như thuyết trình, làm việc nhóm, kỹ năng phỏng vấn, đặt vấn đề và giải quyết vấn đề cũng như vô vàn kiến thức chuyên ngành quý giá Môi trường làm việc tại FPT rất chuyên nghiệp, giúp em có thể phát huy tối đa năng lực của bản thân và phát triển một cách toàn diện Nhờ được tiếp cận với môi trường làm việc tốt, cùng với sự hướng dẫn tận tình của thầy giáo Lê Minh Hoàng đã giúp em hoàn thành kỳ thực tập và tích lũy được rất nhiều kinh nghiệm quý giá phục vụ cho quãng đường phát triển sâu và xa hơn nữa trong chuyên ngành công nghệ thông tin Bên cạnh đó em cũng xin phép được gửi lời cảm ơn sâu sắc tới các thầy cô Trường Đại học Công Nghiệp Hà Nội, đặc biệt là các thầy cô giáo khoa Công Nghệ Thông Tin đã tận tình dạy dỗ, truyền đạt những kiến thức quý báu và dìu dắt em qua quá trình học tập tại trường Em rất mong nhận được sự góp ý, đánh giá của thầy, cô giáo trong khoa để bài khóa luận của em được hoàn thiện tốt hơn nữa Em xin chân thành cảm ơn! Hà Nội, ngày 28 tháng 2 năm 2024 Sinh viên thực hiện Võ Văn Đức Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 2 LỜI MỞ ĐẦU Công nghệ thông tin ngày càng phát triển như vũ bão trong mọi lĩnh vực ngành nghề và đang mở rộng khắp nơi trên toàn thế giới Không chỉ trên thế giới mà ở Việt Nam, trong vài năm gần đây, có rất nhiều chuyên gia đang đầu tư rất nhiều vào công nghệ để có thể hoà nhập với thế giới Việt Nam cho thấy là quốc gia có tiềm năng phát triển lĩnh vực công nghệ thông tin, trong đó phát triển hệ thông thông tin đang là thế mạnh của đất nước Hệ thống thông tin giúp cho công việc quản lý được dễ dàng hơn, nâng cao hiệu suất sản xuất cũng như tiết kiệm được thời gian và công sức Qua thời gian và kiến thức tiếp thu được tại nhà trường và trong doanh nghiệp thực tập, em thấy việc xây dựng hệ thống công nghệ thông tin để áp dụng vào các lĩnh vực trong kinh doanh, sản xuất là điều vô cùng quan trọng và cần thiết không chỉ ở Việt Nam mà còn ở khắp nơi trên toàn thế giới Ở bài báo cáo này, em xin phép được trình bày các kiến thức học hỏi được khi trải qua quá trình thực tập thực tế giống như một lộ trình để trở thành Game developer Em rất mong nhận được những lời nhận xét, đánh giá của thầy cô để bài báo cáo trở nên hoàn thiện và kỹ năng lập trình của bản thân được phát triển xa hơn nữa trong tương lai Em xin trân thành cảm ơn! Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 3 MỤC LỤC LỜI CẢM ƠN 1 LỜI MỞ ĐẦU 2 MỤC LỤC .3 MỤC LỤC HÌNH ẢNH 4 DANH MỤC BẢNG BIỂU .4 DANH MỤC VIẾT TẮT 5 CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ THỰC TẬP .5 1.1 Giới thiệu chung 5 1.2 Sản phẩm và dịch vụ .5 1.3 Công nghệ và chất lượng .5 1.4 Văn hoá doanh nghiệp 6 CHƯƠNG 2: QUÁ TRÌNH THỰC TẬP TẠI ĐƠN VỊ 7 2.1 Nhiệm vụ được giao 7 2.2 Giải pháp thực hiện 7 2.3.1 Tìm hiểu Unity 7 2.3.2 Tìm hiểu Unity 2D 9 2.3.3 Tìm hiểu script trong unity 11 2.3.4 Công nghệ sử dụng 12 2.3 Kế hoạch thực hiện 14 2.3.1 Thời gian thực hiện .14 2.3.2 Một số script của game (code) .14 2.3.2 Kiểm thử .19 2.3.3 Điều chỉnh .19 CHƯƠNG 3: KẾT QUẢ THỰC TẬP 19 3.1 Cấu trúc chương trình 19 3.2 Một số tính năng cơ bản 21 3.2.1 Giao diện Game .21 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 4 3.2.2 Tương tác với quái 23 3.2.3 Xuất hiện câu hỏi 23 3.2.4 Về đích 23 KẾT LUẬN VÀ KIẾN NGHỊ 24 NHẬT KÝ THỰC TẬP 26 TÀI LIỆU THAM KHẢO 27 MỤC LỤC HÌNH ẢNH Hình 1 Unity 7 Hình 2 Unity2D 9 Hình 3 Ví dụ một Script 12 Hình 4 StoryBoard của Game 13 Hình 5 Script điều khiển nhân vật 15 Hình 6 Script di chuyển quái vật 16 Hình 7 Script về đích .17 Hình 8 Scrip tương tác với quái .17 Hình 9 Script hiển thị câu hỏi 18 Hình 10 Script trả lời câu hỏi đúng 18 Hình 11Script trả lời câu hỏi sai .19 Hình 12 Cấu trúc dự án 20 Hình 13 Cấu trúc Map 20 Hình 14 Tương tác câu hỏi .20 Hình 15 Giao diện game 21 Hình 16 Thành phần trong game 22 Hình 17 Màn Hình chơi game 23 Hình 18 Màn hình câu hỏi 23 Hình 19 Màn hình hoàn thành trò chơi 24 DANH MỤC BẢNG BIỂU Bảng 1 Thời gian thực hiện chương trình .14 Bảng 2 Kiểm thử 19 Bảng 3 Nhật ký thực tập 26 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 Từ 5 TNHH DANH MỤC VIẾT TẮT IS IT Nghĩa Scrip Trách nhiệm hữu hạn Information System Clones Information Technology Chương trình C# dùng để vận hành game trong Unity Các bản sao được tạo ra từ Game Object trong Unity CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ THỰC TẬP 1.1 Giới thiệu chung Công Ty TNHH Hệ Thống Thông Tin Fpt tập đoàn công nghệ hàng đầu có trụ sở tại Việt Nam hoạt động trong lĩnh vực công nghệ thông tin và nguồn nhân lực công nghệ thông tin Công ty Hệ thống thông tin FPT (FPT Information System – FPT IS) là thành viên của tập đoàn FPT Hiện tại, FPT IS gồm 10 công ty thành viên và 1 liên doanh với Nhật Bản Lĩnh vực hoạt động: phát triển phần mềm ứng dụng, dịch vụ ERP, dịch vụ công nghệ thông tin, tích hợp hệ thống, dịch vụ điện tử và cung cấp thiết bị CNTT 1.2 Sản phẩm và dịch vụ Công ty Cổ phần Hệ thống Thông tin FPT (FPT IS) cung cấp rất nhiều dịch vụ về công nghệ như: Software development IT solution and product IT education IT resource matching website 1.3 Công nghệ và chất lượng Phát triển ứng dụng chung: JavaScript, HTML, CSS, ReactJS, Java, Python, C#/C++, PHP, NodeJS Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 6 Phát triển ứng dụng mobile: ReactNative, Objective-C, Swift, Java, … 1.4 Văn hoá doanh nghiệp Nhân viên tại công ty luôn mang đến một hình ảnh chuyên nghiệp, năng động đối với các khách hàng và đối tác bởi cách ăn mặc chỉnh chủ đã được rèn luyện qua các quy định tại công ty Nhân viên luôn đúng giờ giấc và có ý thức tại nơi làm việc Do đặc thù là một công ty công nghệ nên việc bảo mật thôn tin là một điều rất quan trong tại FPT IS Mọi thành viên trong công ty đều được nhắc nhở đầy đủ các quy tắc về bảo mật thông tin Điều này không chỉ tránh rò rỉ thông tin, công nghệ của các dự án mà còn tạo niềm tin của khách đối với công ty Một công ty năng động như FPT IS thì không chỉ chú trọng vào công việc mà còn rất quan tâm đến đời sống của nhân viên Để giúp các thành viên trong công ty thêm gắn kết công ty thường xuyên tổ chức cái lễ hội và hoạt động tập thể Không những thế các chế độ lương thưởng hợp lý của công ty cũng giúp nhân viên có thêm rất nhiều động lực trong công việc Với văn hóa doanh nghiệp rõ ràng FPT đã tạo nên một môi trường làm việc tuyệt vời Mỗi sinh viên khi có cơ hội thực tập tại FPT IS sẽ luôn được trải nghiệm những điều tuyệt vời này Đây quả là một nơi lý tưởng để làm việc và cống hiến cho ngành công nghệ thông tin của nước nhà Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 7 CHƯƠNG 2: QUÁ TRÌNH THỰC TẬP TẠI ĐƠN VỊ 2.1 Nhiệm vụ được giao Tìm hiểu nghiệp vụ của chương trình và tìm hiểu các kiến thức liên quan để xây dựng một game 2D học tập bằng Unity hoàn chỉnh trên nền tảng C# Yêu cầu: xây dựng được một game học tập 2D trên Unity Các thuật toán cần có thực hiện: Thuật toán xử lý va chạm Thuật toán điều khiển nhân vật Thuật toán điều khiển Camera Thuận toán điều khiển thời gian 2.2 Giải pháp thực hiện 2.3.1 Tìm hiểu Unity Hình 1 Unity Unity là một trình phát triển trò chơi và ứng dụng 3D và 2D đa nền tảng, đang được sử dụng rộng rãi trong ngành công nghiệp giải trí số Nó cung cấp một môi trường linh hoạt cho việc phát triển nhanh chóng và triển khai trò chơi trên nhiều thiết bị khác nhau Dưới đây là một số khái niệm và tính năng chính của Unity: 1 Game Engine Đa Nền Tảng: Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 8 Unity được xây dựng với mục tiêu hỗ trợ nhiều nền tảng, bao gồm Windows, macOS, iOS, Android, Linux, và nhiều nền tảng khác Điều này giúp nhà phát triển tối ưu hóa công sức và tài nguyên khi triển khai trò chơi trên nhiều thiết bị 2 Ngôn Ngữ Lập Trình C#: Unity sử dụng ngôn ngữ lập trình C# cho việc viết mã C# là một ngôn ngữ mạnh mẽ và linh hoạt, giúp nhà phát triển tạo ra mã nguồn dễ đọc và quản lý 3 Asset Store: Unity Asset Store là một thư viện trực tuyến nơi người phát triển có thể mua và bán tài nguyên như mô hình 3D, texture, script, và nhiều hơn nữa Điều này giúp tăng tốc quá trình phát triển bằng cách sử dụng những nguồn tài nguyên đã được tạo sẵn 4 Hỗ Trợ VR và AR: Unity cung cấp các công cụ và thư viện tích hợp để phát triển trò chơi và ứng dụng thực tế ảo (VR) và thực tế ảo (AR) Điều này làm cho nó trở thành một lựa chọn phổ biến trong lĩnh vực phát triển nội dung thực tế ảo 5 Giao Diện Người Dùng Dễ Sử Dụng: Unity có giao diện người dùng thân thiện và dễ sử dụng, với các công cụ kéo và thả (drag-and-drop) giúp nhà phát triển tạo ra trò chơi một cách nhanh chóng mà không cần kiến thức sâu về lập trình 6 Đồng Bộ Hóa Cộng Đồng: Unity có một cộng đồng lớn và đa dạng Người dùng có thể chia sẻ kiến thức, tài nguyên, và hỗ trợ lẫn nhau qua các diễn đàn trực tuyến và cộng đồng trực tuyến khác 7 Xử Lý Đồ Họa và Âm Thanh: Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 12 Script thường được sử dụng để quản lý và điều khiển đối tượng trong trò chơi Việc tạo, di chuyển, xoay và phá hủy đối tượng đều được thực hiện thông qua script 6 Coroutine: Unity hỗ trợ coroutine, là một cơ chế giúp xử lý các tác vụ có thời gian chờ đợi mà không làm đóng băng toàn bộ trò chơi Việc này thường được sử dụng để tạo hiệu ứng và chờ đợi các sự kiện nhất định 7 Tiện Ích Debugging: Unity cung cấp các công cụ debugging mạnh mẽ cho script Người phát triển có thể sử dụng lệnh Debug.Log() để in thông điệp ra Console, giúp theo dõi và kiểm tra giá trị biến trong quá trình phát triển 8 Asset và Resource Management: Script thường được sử dụng để quản lý tài nguyên như âm thanh, hình ảnh và mô hình 3D Điều này giúp đảm bảo tài nguyên được tải và sử dụng đúng cách Script trong Unity là một phần không thể thiếu của quá trình phát triển trò chơi Việc hiểu rõ về cách sử dụng script giúp nhà phát triển tạo ra trải nghiệm chơi game độc đáo và chất lượng Ví dụ: Lệnh điều khiển nhân vật chạy Hình 3 Ví dụ một Script 2.3.4 Công nghệ sử dụng Công nghệ sử dụng ở đây là Unity Unity là một game engine đa nền tảng được phát triển bởi Unity Technologies, mà chủ yếu để phát triển video game cho máy tính, consoles và điện thoại Lần đầu tiên nó được công bố chạy trên hệ điều Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 13 hành OS X, tại Apple's Worldwide Developers Conference vào năm 2005, đến nay đã mở rộng 27 nền tảng 2.2.4.1 Lý do sử dụng công nghệ: Độ phổ biến cao Giao diện dễ tiếp cận và sử dụng Hệ sinh thái rộng lớn Dễ tiếp cận với nhiều tài nguyên game Công đồng người dùng lớn mạnh Dễ tương tác giao lưu vào nhiều lập trình viên game khác 2.2.4.2 Storyboard của game Hình 4 StoryBoard của Game Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 14 2.3Kế hoạch thực hiện 2.3.1 Thời gian thực hiện STT Thời gian Nhiệm vụ Ghi chú 1 8/1/2024 Tìm hiểu về Unity 15/1/2024 và Unity 2D 2 15/1/2024 Nghiên cứu về 22/1/2024 game 2D Flatform 3 22/1/2024 Tạo ra bản đồ, 29/1/2024 nhân vật chơi, quái vật 4 29/1/2024 Tạo điều khiển 4/2/2024 nhân vật, quái vật Game play 5 19/2/2024 Tạo xử lý va 26/2/2024 chạm, tương tác và cơ chế chơi game 6 26/2/2024 Thiết kế giao diện 29/2/2024 game, xử lý âm thanh Bảng 1 Thời gian thực hiện chương trình 2.3.2 Một số script của game (code) Script điều khiển nhân vật Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 15 Hình 5 Script điều khiển nhân vật Script di chuyển của Quái vật (enemy) Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 16 Hình 6 Script di chuyển quái vật Script về đích Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 17 Hình 7 Script về đích Đoạn script Player tương tác với Monster: Hình 8 Scrip tương tác với quái Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 18 Đoạn Script tương tác với quái vật sẽ hiển thị câu hỏi: Hình 9 Script hiển thị câu hỏi Đoạn script trả lời đúng câu hỏi Hình 10 Script trả lời câu hỏi đúng Đoạn script trả lời sai câu hỏi Downloaded by mon hon (monmon1@gmail.com)