Chân thành cảm ơn Action Square và các anh chị trong team SB đã bỏ ra nhiều thời gian, công sức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình trong khi làm quen môi trường mới cũng như tr
Trang 1TRƯỜ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
C++ GAME DEVELOPER INTERN
Công ty thực tập: Action Square VN Người phụ trách: 오승석
Thực tập sinh: Trần Trung Thành
Trang 2LỜI MỞ ĐẦU
Ngày nay, ngành công nghiệp game là một bộ phận không thể thiếu của ngành công nghiệp phần mềm Với tốc độ phát triển vô cùng mạnh mẽ, ngành game đã và đang là nhân tố kích thích sự phát triển của công nghệ thông tin thế giới, cả về phần cứng và phần mềm
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ Ngành công nghiệp game non trẻ Việt Nam đã và đang phát triển mạnh mẽ, để hòa nhập với những công ty hàng đầu về game trên thế giới Bên cạnh những công ty game trẻ tuổi trong nước, những công ty game lớn trên thế giới cũng gia nhập vào thị trường Việt Nam, góp phần rất lớn vào sự phát triển tích cực của ngành game Việt
Ngành game được sinh ra là do nhu cầu giải trí của giới trẻ bằng những thiết bị công nghệ mới nhất Và cũng chính giới trẻ sẽ là nguồn nhân lực quan trọng cho việc phát triển của ngành game sau này Vì lý do này, em quyết định chọn lập trình game làm định hướng cho việc học tập của mình
Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như muốn được tham gia làm game trong một môi trường chuyên nghiệp, em có dự định là sẽ thực tập trong hè Vì vậy, em quyết định chọn Action Square - một môi trường lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này
Trang 3LỜI CẢM ƠN
Em xin trân trọng gửi lời cảm ơn Action Square đã tạo điều kiện cho em cơ hội được thực tập tại công ty Dù trong thời gian ngắn nhưng nhờ sự chỉ dẫn nhiệt tình của anh 오승석, em đã tiếp thu những kiến thức quan trọng để có thể tham gia một dự án thực tế
Chân thành cảm ơn Action Square và các anh chị trong team SB đã bỏ ra nhiều thời gian, công sức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình trong khi làm quen môi trường mới cũng như trong việc tiếp cận kiến thức công nghệ, kỹ năng lập trình và tư duy sản phẩm để có thể thực hiện tốt dự án cá nhân và dự án thực tế trong thời gian qua
Em 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áo cáo này
TP HCM, ngày 27 tháng 12 năm 2023
Thành Trần Trung Thành
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
MỤC LỤC
LỜI MỞ ĐẦU 2
LỜI CẢM ƠN 3
NHẬN XÉT CỦA KHOA 4
MỤC LỤC 5
CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 6
1.1 Giới thiệu Công ty Action Square VN 6
1.2 Sản phẩm công ty 7
1.3 Lịch làm việc khi thực tập tại công ty 9
CHƯƠNG 2: NỘI DUNG THỰC TẬP 10
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 10
2.2 Nghiên cứu kỹ thuật 10
2.2.1 Tuần 1 10
2.3 Thực hiện dự án cá nhân 11
2.3.1 Công nghệ 11
2.3.2 Mô tả dự án 11
2.3.3 Kết quả 12
CHƯƠNG 3: TỔNG KẾT 13
3.1 Điểm mạnh 13
3.2 Điểm yếu 13
3.3 Chuẩn đạt được 13
TÀI LIỆU THAM KHẢO 14
Trang 6CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1.1 Giới thiệu Công ty Action Square VN
Hình 1.1 Logo Action Square VN
1.1.1 Giới thiệu chung
- Tên công ty: CÔNG TY TNHH ACTIONSQUARE VN
- Địa chỉ: Tòa nhà Etown Central, 11 Đoàn Văn Bơ, Phường 13, Quận 4, TP.HCM
- Trụ sở chính: Tầng 20, 419, Teheran-ro, Gangnam-gu, Seoul, Hàn Quốc
- Người đại diện: KIM TAEHOONLIM HALIM
1.1.2 Lịch sử hình thành
Công ty Action Square được thành lập vào năm 2012 với sứ mệnh phát triển các trò chơi hành động cho mọi người thưởng thức Từ khi thành lập, công ty đã tập trung vào việc phát triển các trò chơi di động chất lượng cao với đồ họa tuyệt vời và gameplay hấp dẫn Sự cam kết của họ đến việc cung cấp trải nghiệm chơi game tốt nhất có thể đã giúp họ thu hút một lượng lớn người chơi và cộng đồng game thủ trên toàn thế giới
Trò chơi ARPG di động đầu tiên của công ty"Blade" đã thành công lớn ở thị trường Hàn Quốc Sau đó, công ty tiếp tục phát triển phần tiếp theo có tên "Blades of Three Kingdoms"
và có một số dự án mới đang được phát triển cho nhiều nền tảng chơi game khác nhau như: Blade II, Overhit, Phantomgate, Các tựa game này đã nhận được sự đánh giá cao về đồ họa, cốt truyện và cách thiết kế gameplay
Trang 7Qua các năm, Action Square không ngừng phát triển và mở rộng Họ liên tục cập nhật nội dung mới, tính năng và sáng tạo để đáp ứng mong đợi của người chơi và duy trì sự hấp dẫn của sản phẩm của mình trên thị trường game đang cạnh tranh khốc liệt
1.2 Sản phẩm công ty
Action Square Co., Ltd đã sản xuất và phát hành một số tựa game đáng chú ý trong ngành công nghiệp game Dưới đây là một số tựa game nổi bật mà công ty này đã phát triển:
Nói đến sự thành công của Action Square không thể không nhắc đến tên của dòng game BLADE và nổi bật nhất trong đó không thể không kể đến là BLADE II Blade II với đồ họa trở nên hoàn mỹ hơn nhờ trợ lực từ nền tảng Unreal Engine 4 tối tân Bên cạnh đồ họa, sản phẩm này còn phô diễn lối chơi nhập vai chặt chém cực đã tay trên màn hình ngang của điện thoại di động nhưng cũng không thiếu đi các yếu tố cuốn hút của dòng game nhập vai Đi cùng với nhiều cải tiến trong đồ họa và lối chơi, Blade 2 còn mang tới các đoạn phim cắt cảnh vô cùng đặc sắc, đậm chất hành động tạo cảm hứng cùng sự phấn khích trải nghiệm cho game thủ
Trang 8Blades of Three Kingdoms: là game nhập vai đa nhân vật hấp dẫn đã nhanh chóng thu hút cộng đồng game thủ Hàn Quốc từ những ngày đầu ra mắt
Tên đầy đủ của game là Blades of Three Kingdoms: Return, mặc dù chỉ vừa ra mắt vào ngày 6/10/2021 nhưng game đã ngay lập tức để lại ấn tượng mạnh mẽ trong cộng đồng với lối chơi nhập vai đa nhân vật.Qua đó game thủ có chọn 3 trong số hơn 81 chiến tướng huyền thoại thời Tam Quốc vào đội hình của mình Ngoài những tên tuổi huyền thoại như Quan Vũ, Trương Phi, Lữ Bố… thì mỗi vị tướng đều sở hữu hệ thống kỹ năng độc đáo riêng
Dungeon Stalkers là một tựa game chinh phục hầm ngục năng động và kịch tính, dự kiến sẽ ra mắt cho PC và Mobile vào tháng 12 năm 2023 Trong game Dungeon Stalkers, người chơi sẽ khám phá xung quanh và cố gắng chạy trốn khỏi một khu vực thù địch, nguy hiểm trong khi
Trang 9thu thập các vật phẩm và tài nguyên hiếm có Dungeon Stalker cho phép người chơi chỉ huy hành trình tìm kiếm sự giàu có, vinh quang và sự thật trong những ngục tối bí ẩn được tạo ra bởi một lời nguyền mạnh mẽ
Action Square đã tập hợp một nhóm các nhà phát triển toàn sao, bao gồm các nhà sản xuất dày dạn kinh nghiệm và giám đốc nghệ thuật từ các công ty hàng đầu như Blizzard, Riot Games, Ubisoft và những người khác để tạo ra Dungeon Stalkers đúng với mong đợi
1.3 Lịch làm việc khi thực tập tại công ty
Em tham gia làm việc tại công ty bắt đầu từ ngày 01/11/2023 tới 31/12/2023, các ngày làm việc trong tuần là Thứ 2 đến Thứ 6 Công việc hằng ngày bắt đầu từ lúc 9h đến 18h Thời gian nghỉ trưa khoảng 1 tiếng Sau mỗi ngày làm việc em sẽ báo cáo tiến độ công việc trong ngày, đặt câu hỏi và nhận chia sẻ, giải đáp từ anh hướng dẫn, đặt mục tiêu cho ngày làm việc tiếp theo Mỗi ngày sẽ có 1 cuộc thảo luận ngắn vào sáng lúc 9 giờ 30 phút, mentor nói về các vấn
đề đã giải quyết, tồn đọng, bài học, giải pháp và mục tiêu
Trang 10CHƯƠNG 2: NỘI DUNG THỰC TẬP
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian: 1 ngày
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 giới thiệu
về công ty, quá trình thành lập và phát triển, quy trình làm việc từ cao xuống thấp Ngoài ra, thực tập sinh còn được giới thiệu về văn hóa làm việc trong công ty như thời gian đi làm, các quy định, …
Kết quả: hiểu thêm về Action Square, quá trình thành lập và phát triển Có thêm các kỹ năng
về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn 2.2 Nghiên cứu kỹ thuật
2.2.1 Tuần 1
Nội dung: Học và ôn lại các kiến thức liên quan đến ngôn ngữ lập trình C và C++
- Trong thời gian này, mentor cung cấp cho thực tập sinh một khóa học được tổng hợp và thiết kế bởi công ty
Thực hiện: Xem tất cả video trong khóa học và làm bài tập
Kết quả: Đã nắm được những kiến thức cần thiết liên quan đến ngôn ngữ C và C++
2.2.2 Tuần 2
Thời gian: 1 tuần
Nội dung: Được training khả năng vận dụng ngôn ngữ C và C++ để giải quyết các vấn đề đơn giản
- Trong thời gian này, mentor yêu cầu các thực tập sinh thực hiện các bài code trên trang web leetcode và báo cáo hàng ngày, giao bài tập kiểm tra năng lực thực tập sinh
Thực hiện: Hoàn thành các bài code C và C++ trên leetcode ở mức độ Easy và hoàn thành các bài kiểm tra của mentor
Kết quả: Nắm được cách sử dụng ngôn ngữ C và C++ để giải quyết các vấn đề đơn giản và viết code một cách tối ưu với độ phức tạp nhỏ nhất
2.2.3 Tuần 3 đến Tuần 5
Nội dung: Được training khả năng vận dụng ngôn ngữ C và C++ để giải quyết các vấn đề phức tạp, đảm báo code tuân theo các quy chuẩn, gọn gàng và tối ưu nhất có thể
- Lập trình hướng đối tượng: Được ôn tập về các kiến thức cơ bản về lập trình hướng đối tượng như khái niệm về đối tượng, thuộc tính, phương thức, các đặc tính như tính kế thừa, tính đóng gói, tính đa hình và tính trừu tượng, lớp bạn, hàm bạn, Ngoài ra thực tập sinh còn
Trang 11được training các giải thuật phức tạp được sử dụng trong game như thuật toán tìm đường đi ngắn nhất, thuật toán tìm đường a*, thuật toán cắt tỉa alpha beta,
- Design pattern: Được học về các mấu thiết kế thường dùng trong game như Singleton, Obsever, State machine,
Thực hiện:
- Tham gia đầy đủ các buổi training
- Thực hiện làm các bài tập trên leetcode ở mức độ medium
- Thực hành các kiến thức được học về hướng đối tượng để thực hiện các bài tập mà mentor giao, tiến hành xây dựng một số các thư viện đơn giản: int, string, thư viện xử lý ảnh,
- Thực hành các kiến thức được học về design pattern và các thuật toán để thực hiện một vài game đơn giản như: game XO (thuật toán alpha beta),
Kết quả:
- Nâng cao khả năng lập trình và giải quyết vấn đề một cách tối ưu (độ phức tập nhỏ nhất)
- Trau dồi thêm nhiều kiến thức về lập trình hướng đối tượng, design pattern và các thuật toán thường được sử dụng trong game
- Học được các quy tắc viết code đúng chuẩn, tối ưu, dễ đọc
2.2.4 Tuần 6 đến Tuần 8
Thời gian: 3 tuần
Nội dung: Được training các kiến thức về Unreal Engine và Visual studio
- Unreal engine: Được học và làm quen với giao diện, các thành phần và chức năng của Unreal engine, cách quản lý tài nguyên dự án, làm việc với scene, game, cách thiết kế các class kết hợp cùng với blueprint
Kết quả:
- Nắm bắt được các kiến thức được dạy về Unreal Engine
- Hoàn thành các bài tập về các game nhỏ được giao như Mario Bros 3, ToonTank, Fist-person shooter,
2.3 Thực hiện dự án cá nhân
2.3.1 Công nghệ
- Progaming language: C++
Trang 12- Cách chơi:
• Di chuyển: các phím mũi tên Trái/ Phải
• Nhảy: S
• Bay: S + phím mũi tên trên
• Tăng tốc: A
- Yêu cầu hệ thống: Window
2.3.3 Kết quả
Trang 13CHƯƠNG 3: TỔNG KẾT
Quãng thời gian thực tập tại Action Square đã giúp em cải thiện bản thân rất nhiều trong quy trình làm việc thực tế, tác phong của người kỹ sư phần mềm Được làm việc tại đây, em đã học thêm được kỹ năng mềm sử dụng mail, quản lý ticket, làm việc nhóm, giao tiếp với cấp trên,… Chỉ trong thời gian hạn chế, em đã hoàn thành dự án cá nhân trong quá trình training với các tính năng, yêu cầu đặt ra ban đầu
3.1 Điểm mạnh
- Có khả năng tiếp thu tốt
- Có tinh thần trách nhiệm cao và tận tâm với những việc được giao
- Có khả năng nghiên cứu, tìm hiểu và đọc các nguồn tài liệu tham khảo trên internet
- Hòa đồng thân thiện với mọi người trong công ty
- Nâng cao khả năng tiếng anh của bản thân
3.2 Điểm yếu
- Cải thiện giao tiếp với đồng nghiệp và leader
3.3 Chuẩn đạt được
G1 Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh
nghiệp
8/10
G2 Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ hệ
thống trong dự án
9/10
G3 Nắm được quy trình, phương pháp và công nghệ phát triển sản phẩm
phần mềm tại doanh nghiệp
9/10
G4 Có khả năng tìm hiểu vấn đề, mô hình hóa vấn đề và tham gia giải
quyết vấn đề
9/10
G5 Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng trình
bày
8/10
Trang 14TÀI LIỆU THAM KHẢO
1 cplusplus; C++ Tutorials: cplusplus.com/doc/
2 Epic Game; Unreal Engine 4 Document: Unreal Engine 4 Documentation | Unreal Engine 4.27 Documentation
3 Refactoring.Guru; Design Patterns: About us (refactoring.guru)