Những lưu ý khi phát triển game với Unity là gì?

hovanban

Well-known member
Developer cần những kỹ năng, tố chất gì khi phát triển Game trên Unity?
Unity cũng chỉ là một game engine – hay nói rộng ra là công cụ, để phát triển game mà thôi nên điều quan trọng là Developer cần chú trọng hơn đến những kỹ năng, tố chất khi phát triển Game nói chung.

Về tố chất cơ bản của một Game Developer, ngành Game là một ngành nghề khá bay bổng và không có nhiều ràng buộc nguyên tắc như những lĩnh vực khác, như phát triển Web hay ứng dụng Điện thoại di động, nên tùy vào trí tưởng tượng của bạn và đam mê thì bạn có thể bắt đầu tạo ra một thế giới riêng – là nơi mà bạn có thể kiểm soát mọi thứ, vào bất kỳ lúc nào.
“Làm thế nào để bắt đầu? Nếu bạn thích game gì, thì bạn có thể làm thử. Lúc mới bắt đầu làm về game, mình thường nhìn game trên thị trường, chỉ là một vài game đơn giản thôi, rồi tự hỏi xem game đó được làm ra sao, mình viết code thử xem có thể làm được như vậy không.
Tuy không hẳn giống 100% thì mình cũng có thể bắt chước được khoảng 95-99% bằng cách nhìn vào logic, nhìn người ta viết thế nào thì mình cũng bắt chước làm theo.”
Về kỹ thuật, một game developer trước nhất cần nắm vững những nguyên tắc về hình học, vật lý, toán học cấp 3, và nắm vững C#, OOP, các thuật toán, cấu trúc dữ liệu,…

Bạn có thể tập viết Code theo Code Convention của Microsoft cũng như các Design Pattern. Huy cũng chia sẻ thêm nhận định cá nhân về lý do vì sao bạn lại cho rằng hình học, vật lý, toán học cấp 3 lại quan trọng trong việc làm game:
“Đối với Game Developer thì cả 3 đều quan trọng. Hồi xưa đi học không để ý, thấy không xài chứ sau này đi làm Game thì xài thường xuyên. Còn Developer về web thì ít xài lắm. Với game 3D thì yêu cầu vật lý, cảm quan hình học cao. Thậm chí, với game 3D thì còn có những vị trí chuyên phát triển hệ thống vật lý gọi là Physics Developer.
Nhưng khi làm việc với Unity thì họ có sẵn một thư viện vật lý, mình chỉ cần áp dụng thôi.
Còn với game 2D, ví dụ như game Hayday, thì yếu tố vật lý, hình học lại không quan trọng. Với những game đó thì Toán học lại quan trọng hơn.”
Ngoài ra, tiếng Anh luôn quan trọng với Developer, dù bạn học ngôn ngữ hay lập trình ngành nào.

Hầu hết các tài liệu về Unity hiện nay đều được viết bằng tiếng Anh, cũng như cộng đồng quốc tế Dev hỗ trợ với ngôn ngữ chính là tiếng Anh. Khi bạn gặp phải một vấn đề gì đó, để tìm kiếm đúng keyword nói về vấn đề đó hoặc tên gọi của lỗi đó, tìm được đúng giải pháp cho vấn đề thì bạn cần phải nắm đúng từ vựng tiếng Anh để dễ giải quyết hơn.

Đồng thời, khi làm game với team nước ngoài thì bắt buộc phải cải thiện kỹ năng tiếng Anh để có thể dễ dàng giao tiếp với họ.

Các lỗi thường gặp khi làm việc với Unity là gì và cách khắc phục/phòng ngừa

Đối với những developer nặng về code, các bạn thường mắc một sai lầm đó là không khai thác những resource có sẵn của Unity.

Thay vì tìm hiểu sử dụng những tool sẵn có, tìm hiểu cách sử dụng Editor của Unity (điểm mạnh nhất của Unity) thì các developer hay viết code from scratch để làm những việc đó. Một ví dụ điển hình là các bạn hay bỏ qua tool Animator/Animation của Unity.

Huy ví dụ: “Khi bạn cần làm scene chuyển cảnh 5 giây, ghép bằng 120 tấm hình chỉ khác nhau chút chút. Thông thường, mọi người sẽ phải tự viết code để làm những cảnh chuyển như vậy, rất tốn thời gian. Trong khi đó, Unity có hỗ trợ tool animation này và bạn chỉ cần kéo và thả hình ảnh thôi.”

Cơ hội việc làm Game Unity Developer ở Việt Nam
Mức độ yêu cầu Unity của các công ty game ở Việt Nam

Các game studio ở Việt yêu cầu kỹ năng Unity đa dạng, từ đơn giản tới phức tạp, nâng cao:
  • Điều kiện cần: Nắm vững lập trình C# hoặc ít nhất ở mức cơ bản, và cách sử dụng Unity. Yêu cầu hiểu Unity là gì ở mức độ cơ bản, không phức tạp do tự game engine đã rất đầy đủ, một người không biết code cũng có tạo ra game với Unity nếu biết cách tối ưu Editor của Unity.
  • Nâng cao: Nắm vững OOP, thuật toán và cấu trúc dữ liệu. Nếu yêu cầu cao hơn nữa thì sẽ cần developer hiểu biết thêm về vật lý, cảm quan hình học.
  • Yêu cầu 3D tùy công ty.
Cơ hội nghề nghiệp cho Game Unity Developer ở Việt Nam

Việc sử dụng Unity ở các Studio Game ở Việt Nam đang là một xu hướng vì với sự phát triển mạnh mẽ cũng như nhu cầu cải thiện hiệu năng hiệu suất của team phát triển Game thì Unity có thể hỗ trợ hết tất cả những vấn đề đó. Chính vì thế, những công việc yêu cầu Unity sẽ luôn luôn cần trên thị trường.

Theo quan sát cá nhân, Huy nhận định rằng hiện tại, nhu cầu tuyển dụng Unity Developer ở Việt Nam rất là cao, nhất là trong những năm 2021 và 2022. Lý giải nguyên nhân, Huy cho rằng: “Một phần do xu hướng gamefi (blockchain) tăng cao. Thách thức lớn nhất để tìm được việc trên thị trường đó là kỹ năng của bạn đến đâu. Bạn phải làm chủ được những công nghệ như Unity với đa dạng những thành phần như vật lý, editor, C#.”
Tuy Unity vẫn là game engine phổ biến nhưng không phải tất cả công ty, studio Game ở Việt Nam đều yêu cầu Unity. Vẫn có một số công ty ở Việt Nam sử dụng những engine khác như Cocos2D-X, Unreal, hoặc sử dụng internal engine.

Ngoài ra, bạn có thể tham khảo mức lương dành cho ngành Game Developer năm 2023 sau đây:

Vị tríSố năm kinh nghiệmMức lương trung vị
Game DeveloperTừ 1 đến dưới 3 năm22 triệu đồng
Từ 3 đến dưới 5 năm28.5 triệu đồng
Từ 5 năm đến dưới 8 năm32 triệu đồng
Trên 8 năm51 triệu đồng
NgànhTỉnh thànhMức lương trung bình
GameHà Nội27.3 triệu đồng
Đà Nẵng33 triệu đồng
TP. HCM28.2 triệu đồng

Game Unity Developer trong ngành IT nói gì?

Điều gì quan trọng nhất khi phát triển game multi-player?

Trong suốt nhiều năm làm Unity Game Developer, Huy chia sẻ về một trong những sai lầm “để đời” nhất của bản thân khi làm game multi-player – game nhiều người chơi:
“Để làm game nhiều người chơi, có nhiều cách để làm, cách đơn giản nhất là tạo server như một trạm trung chuyển. Người chơi A muốn di chuyển thì gửi tín hiệu lên server rồi server forward tín hiệu qua cho người chơi B để người chơi B biết về A.
Đối với mô hình này, server chỉ đóng vai trò là nhận tín hiệu rồi gửi đi, không tính toán gì, nên nếu khi có nhiều người chơi cùng tính, cùng gửi tín hiệu đi, thì hậu quả là màn hình chơi không giống nhau. Có nghĩa là ví dụ như người A thấy người B hết máu rồi nhưng người C không thấy. Thế là người chơi C lại tiếp tục tấn công người B. Như vậy dẫn đến nhiều vấn đề hơn.
Tuy nhiên, khi chơi game multiplayer, việc đồng bộ giữa các người chơi (tất cả người chơi đều thấy chung một thế giới) là yêu cầu vô cùng quan trọng nên mô hình này không hiệu quả.
Ban đầu mình làm theo mô hình đó vì đơn giản, dễ làm. Sau này, khi nhận ra vấn đề, mình phải xây dựng mô hình mới. Ở mô hình mới, người chơi chỉ gửi tín hiệu lên trên server và yêu cầu server tính toán, nếu server thấy ổn thì mới đưa ra kết quả cho tất cả người chơi. Mô hình này chỉ có 1 bên tính (chính là server) thì kết quả sẽ đồng bộ, tất cả người chơi đều thấy như nhau. Hồi trước mình không chọn cách này vì mình thấy quá trình phát triển phức tạp (cười).”
Xã hội nghĩ gì về Game Developer?
Một trong những “định kiến” lớn nhất mà Game Developer phải đối mặt từ xã hội chính là câu hỏi: “Học cái gì mà không có lợi ích gì cho xã hội vậy?”.

Theo lời Huy kể thì cả Huy và những người bạn nghe những câu hỏi thế này nhiều đến mức mà “thấy chuyện đó cũng bình thường nên không lấy làm buồn nữa”. Tuy nhiên, đây cũng là trăn trở khiến cho nhiều sinh viên, hay Fresher/Junior nản lòng trong những ngày đầu của nghiệp. Vậy thì làm thế nào để “đương đầu” với những định kiến như vậy? Huy chia sẻ một cách đầy tích cực về nghề nghiệp:
“Mình cũng xác định game là giải trí, là vui mà cái gì vui thì dễ nghiện. Tuy nhiên, khi game có thể áp dụng vào trong giáo dục được thì cũng là ích lợi tích cực của game. Đồng thời, ngày càng có ít người nghiện game hơn ngày xưa nên mình tin rằng xã hội sẽ có góc nhìn tích cực hơn đối với game và người làm game (cười).”
Cảm ơn Huy đã chia sẻ với ITviec cũng như bạn đọc những thông tin vô cùng bổ ích và thú vị về Unity là gì, cơ hội phát triển nghề nghiệp Unity Game Developer nói riêng ở Việt Nam và những chia sẻ của một Game Developer nói chung với nhiều kinh nghiệm.

CÔNG TY TNHH TƯ VẤN TRUYỀN THÔNG MINARA
ĐỊA CHỈ:
- 182 Trần Bình Trọng, P.3, Q.5, Tp.HCM
- 27 Đường số 16, Trung Tâm Hành Chính Dĩ An, Bình Dương.
Điện thoại: 097.777.1060
Email: info@minara.vn
Website: www.minara.vn
 
Chỉnh sửa lần cuối:
Bên trên