Các bước cơ bản để phát triển một trò chơi điện tử
Lộ trình và Tài liệu học lập trình game 2024 - ITviec Blog
Đạt được một trình độ học vấn nhất định · Xác định loại trò chơi điện tử để phát triển · Chọn ngôn ngữ lập trình game · Nắm vững Toán học và 3D.
Game Developer
Nhiều <anchor>Game Developer</anchor> đã theo đuổi trình độ học vấn cao hơn để có được kỹ năng và kiến thức cần thiết trong ngành. Dù không có quy định bắt buộc về ngành học của các lập trình viên, tuy nhiên, những bằng cấp này thường phản ánh tính liên ngành của việc phát triển trò chơi, bao gồm các yếu tố kỹ thuật, nghệ thuật và tường thuật.
Lập trình game là gì? Lập trình game cần học những gì?
Ngày xuất bản:

17/04/2017

Ngày cập nhật:

02/02/2024

# Làm lập trình game có dễ dàng như bạn tưởng?

Nội dung chính

lap-trinh-game-thumbnail

Lập trình game đang là một trong những nghề thu hút nhất đối với nhân lực IT trẻ hiện nay. Một vài lý do nổi bật là với nghề này, bạn được thỏa sức sáng tạo và có mức thu nhập hấp dẫn so với mặt bằng chung lương ngành công nghệ thông tin.

Nghề lập trình game, hay còn gọi là Game Developer, có phải chỉ cần “mê chơi game” là đủ? Cũng như bao nghề lập trình viên khác, Game Developer cũng có những câu chuyện “hậu trường” không phải ai cũng biết. Hãy cùng ITviec khám phá nghề lập trình game với anh Trần Mai Nam – Game Developer của AMANOTES, để hiểu thêm về nghề này nhé.

## Lập trình game là làm gì?

### Những vị trí trong ngành lập trình game

Anh Nam chia sẻ rằng người lập trình game là người bằng hiểu biết về kỹ thuật của mình, hiện thực hóa ý tưởng/bản thiết kế của Designer thành sản phẩm cụ thể, hoàn chỉnh.

Nghề lập trình game chia làm 2 nhánh chính là front-end và back-end. Cả front-end lẫn back-end đều tham gia phát triển các tính năng cho game. Cụ thể hơn:

- Front-end sẽ đảm nhiệm những tính năng giao tiếp trực tiếp với người dùng.

- Những tính năng này bao gồm hệ thống UI, các hiệu ứng đồ họa, âm thanh, hình ảnh trong game.v.v…

  - Các nhánh nhỏ của front-end sẽ gồm UI/UX, graphic, gameplay, tools, engine, script programmer.v.v…

- Back-end sẽ đảm nhiệm những phần mà người dùng không “nhìn tận mắt, nghe tận tai”.
  - Ví dụ như lưu trữ dữ liệu trên các server, quản lý hệ thống mạng.v.v…
  - Các nhánh nhỏ của front-end sẽ gồm Database administrator, system engineer, network programmer, custom services developer.v.v…

front-end-back-end

Ảnh vui về Front-end và Back-end trong lập trình game

Cá nhân anh Nam thì chuyên về front-end. Anh chia sẻ rằng bạn nên học các kỹ năng về đồ họa, ví dụ vẽ model 3D, sử dụng photoshop, thiết kế UI UX v.v. điều đó sẽ hỗ trợ tốt hơn rất nhiều cho nghề nghiệp.

Tuy nhiên, anh cũng chia sẻ rằng hầu hết các game developer sau một thời gian dài làm việc đều tự học hỏi để trở thành Full-stack Developer vì muốn có thể tự phát triển một sản phẩm game của riêng mình.

Bản thân anh đã từng đóng vai trò Full-stack Developer trong một vài dự án, ví dụ như Võ Sĩ Thép của Joombi Games.

### Lập trình game chỉ có ngồi chơi game cả ngày?

Anh Nam cho rằng một trong những câu hỏi, và cũng là hiểu lầm, anh nghe nhiều nhất chính là “Lập trình game chắc sẽ được chơi game suốt ngày”. Nhiều người thích chơi game đều sẽ chọn theo nghề lập trình game vì họ đều nghĩ như vậy. Tuy nhiên, sự thật không phải vậy.

Trong giờ làm việc, Game Developer chỉ chơi phần tính năng game mà anh ta đang tham gia phát triển, chứ không thể chơi toàn bộ game. Mục đích phục vụ công việc, chứ không để giải trí.

### Ngành lập trình game ở Việt Nam

Anh Nam đánh giá rằng ngành lập trình game hiện nay ở Việt Nam vẫn khá tốt, với rất nhiều công ty start-up ra đời. Tuy khả năng thất bại vẫn rất cao nhưng chỉ cần 1 sản phẩm thành công là công ty có thể lớn mạnh nhanh chóng.

Ngoài ra, anh cũng chia sẻ rằng mức lương cho Game Developer không cao so với các vị trí lập trình hot khác như AI, Blockchain, Mobile .v.v tuy nhiên so với mặt bằng chung của xã hội thì vẫn tốt, đặc biệt là bạn có thể làm giàu được bằng cách tự mình làm ra sản phẩm.

Bạn có thể tham khảo mức lương lập trình viên ngành Game theo kinh nghiệm ở bảng dưới đây (trích từ “Báo cáo Lương IT: Mức Lương & Mong Đợi Nghề Nghiệp Của Các Chuyên Gia IT 2022-2023” do ITviec thực hiện):

Số năm kinh nghiệm

Mức lương

Dưới 1 năm

19.000.000

Từ 1 đến dưới 3 năm

22.000.000

Từ 3 đến dưới 5 năm

28.500.000

Từ 5 đến dưới 8 năm

32.000.000

Trên 8 năm

51.000.000

\* Mức lương Gross trung vị theo tháng (VNĐ), không bao gồm Thưởng và các phúc lợi khác.

## Những kỹ năng cần thiết để trở thành Game Developer

Ngoại trừ những kỹ năng về mặt chuyên môn, theo anh Nam, để theo nghề lập trình game thì bạn cũng cần những kỹ năng mềm khác, cụ thể:

- Kỹ năng phân tích và giải quyết vấn đề một cách logic

Lập trình game cũng giống như giải toán.

Cái bạn nhận được là “đề bài” (ý tưởng, thiết kế). Nhiệm vụ của bạn là sử dụng công cụ/kiến thức để giải quyết vấn đề tốt nhất có thể.

- Kỹ năng “tự giác” học

Anh Nam nhấn mạnh rằng đây là một kỹ năng cần phỉ được đề cao, vì tốc độ thay đổi trong ngành phát triển phần mềm cực kỳ nhanh.

Ngoài ra, khi một nền tảng bị thoái trào, những kĩ năng, kinh nghiệm mà mình đã tích lũy được trong nền tảng đó sẽ thành vô dụng, bạn phải luôn sẵn sàng để học cái mới.

Việc học nhiều, trải qua nhiều công nghệ giúp cho người lập trình game có cơ hội hiểu sâu hơn về các nền tảng toán học cơ bản chung.

Nhờ vậy, mình học hỏi nhanh hơn khi phải tiếp xúc với những công nghệ mới.

- Kỹ năng hợp tác với mọi người

Hẳn bạn đã nghe về việc phải biết cách làm việc với mọi người rất nhiều lần nhưng dù đề cập nhiều đến thế nào cũng không đủ nhấn mạnh rằng đây là một kỹ năng vô cùng quan trọng.

Trừ khi bạn làm việc một mình hoặc làm phần mềm cho mình bạn dùng.

- Kỹ năng chấp nhận sự khác biệt, chịu thay đổi

Do ngành game khá đặc thù, đòi hỏi sự sáng tạo cao nên theo anh Nam, để làm trong ngành rất cần sự cởi mở, open-minded và chấp nhận sự khác biệt.

Trong một dự án game, bạn sẽ tiếp xúc với rất nhiều kiểu người, đa dạng về tính cách, trình độ, vẻ ngoài cũng như phong cách.

lap-trinh-gameAnh Nam cùng bạn bè, đồng nghiệp trong một hoạt động cộng đồng.

Ngoài ra, sự cởi mở còn thể hiện ở chỗ bạn có khả năng thay đổi để phù hợp hay không.

Anh Nam kể về một người đồng nghiệp của anh, suốt nhiều năm chuyên làm cho các công ty game Âu Mỹ nên có tác phong thoải mái, thường xuyên đi làm với giờ giấc không cố định.

Tuy nhiên, sau này khi làm cho một công ty Nhật, anh ấy đã tự thay đổi để phù hợp. Anh ấy còn chịu khó học thêm tiếng Nhật để giao tiếp trực tiếp với sếp. Và, anh ấy đã thành công! Hiện nay anh ấy là nhân lực chủ chốt của công ty, được đưa sang Nhật để lãnh đạo đội ngũ Developer người Nhật.

## Muốn theo nghề lập trình game thì nên bắt đầu từ đâu?

Lập trình game thì cũng là lập trình phần mềm. Để xác định xem mình có phù hợp với nghề lập trình game hay không, trước tiên, theo anh Nam, bạn hãy trả lời 3 câu hỏi sau:

1. Bạn có thích trở thành Software Engineer không?
2. Có thích chơi game không?
3. Bạn đã từng muốn tham gia vào một dự án vừa mang tính thương mại, vừa có tính nghệ thuật (ví dụ như lập nhóm nhạc, làm phim, sáng tác truyện.v.v…) chưa?

Nếu cả ba câu trả lời đều là “có”, thì chúc mừng, bạn đã có thể “một chân” bước vào nghề lập trình game được rồi.

Việc tiếp theo bạn nên trau dồi những kỹ thuật về lập trình, phát triển game:

- Bạn cũng có thể theo học các khóa học lập trình game tại VTC Academy hoặc bộ môn lập trình game của trường Đại học CNTT.
- Các diễn đàn lớn về game như gamedev.net, gamasutra, hay các trang tutorial của các engine nổi tiếng như Unity3D, Unreal… cũng là nguồn resources học lập trình game miễn phí rất tốt.

Bạn có thể tham gia vào một vài nhóm nhỏ tự làm game, phát triển những game đơn giản. Sau đó, bạn nên ứng tuyển vào các công ty để có cơ hội làm những dự án lớn hơn.

## Game Developer, trong ngành nói gì?

Với hơn 8 năm kinh nghiệm làm trong ngành lập trình game, anh Nam kể về bốn bài học quý giá nhất mà anh nghĩ mọi Game Developer nói riêng, những Developer nói chung, có thể cùng chia sẻ với anh.

- Thứ nhất: Không nên áp đặt suy nghĩ chủ quan của mình lên người dùng

Khi làm game Thuận Thiên Kiếm, nhóm anh Nam đã bỏ rất nhiều công sức để làm những tính năng như dâng hương cúng giỗ vua Hùng, bắt sâu bọ ngày Tết Đoan Ngọ, hoặc tính năng thi cử Trạng Nguyên.

lap-trinh-game-2

Thuận Thiên Kiếm – game thuần Việt do anh Trần Mai Nam tham gia phát triển

Sau này, game được vận hành bởi một nhóm khác. Họ đã nghiên cứu thị hiếu người dùng và đề nghị làm những tính năng khác, phù hợp hơn. Chẳng hạn: Bầu Cua Cá Cọp, quay số may mắn.v.v…

Những tính năng này phù hợp với tâm lý thích may rủi của người Việt. Kết quả là đã đem lại doanh thu lớn cho sản phẩm.

- Thứ hai: Trong một vài trường hợp, vẫn có thể đề cao cá tính của người lập trình game

Suy cho cùng, lập trình game vẫn là sáng tạo. Ngành game luôn có chỗ cho những sản phẩm độc đáo, thể hiện cá tính mạnh của người phát triển.

- Thứ ba: Không nên chủ quan

Một trong những sai lầm “nhớ đời” nhất của anh Nam là khi anh làm game Madzone.

lap-trinh-game-madzone

Madzone – game gần đây nhất do anh Trần Mai Nam tham gia phát triển.

Hậu quả là khi phát hành game trên nền tảng Android, game đã không tương thích trên nhiều loại điện thoại khác nhau do cùng OS là Android nhưng mỗi hãng lại thay đổi mã nguồn, UI của OS theo định hướng riêng.

Sau đó, team đã phải giải thích, xin lỗi khách hàng và mất gần 2 tháng, tập trung toàn lực để khắc phục.

- Thứ tư: Không cần xây dựng một core framework

Nhiều Game Developer muốn thường có xu hướng đề cao tính tái sử dụng (re-usable). Họ luôn muốn xây dựng một framework có thể áp dụng cho nhiều dự án, nhiều quãng thời gian khác nhau.

Tuy nhiên theo cá nhân anh thì việc này có lẽ đúng với các ngành lập trình khác, nhưng không hẳn đúng với ngành lập trình game Việt Nam.

Theo anh, ngành game hiện nay đòi hỏi việc thực hiện các tính năng càng nhanh càng tốt, để có thể thử nghiệm và kiểm tra nhiều ý tưởng khác nhau.

Bên cạnh đó, các công ty Việt Nam cũng thường phải thay đổi business liên tục theo thị hiếu của khách hàng.

Bởi vậy, việc đầu tư thời gian xây dựng một core framework áp dụng chung cho mọi dự án có lẽ không thực sự hiệu quả về mặt chi phí.

Tiểu sử:

Khi vừa tốt nghiệp khoa CNTT Đại học Bách khoa TP. Hồ Chí Minh (2008), anh Trần Mai Nam tình cờ được tuyển vào GSS, bộ phận chuyên làm game của Vinagame ( VNG hiện nay) và làm ở đó đến đầu năm 2012, vị trí Senior Game Developer. Sau đó, anh làm dự án mô hình thực tế ảo máy bay F16 cho Singapore Air Force.

Tháng 06/2012, anh quay lại ngành game làm Lead Developer cho Joombi Games. Sau đó, anh đầu quân cho GIANTY Vietnam ở vị trí Game Developer trong suốt hơn 4 năm.

Đến nay, anh vẫn gắn bó với ngành lập trình game và hiện là Game Developer cho AMANOTES.

Robby ITviec

Nếu bạn nghĩ những chia sẻ này có thể giúp ích cho bạn bè hoặc đồng nghiệp, đừng quên nhấn nút Share bên dưới nhé!

##### Chia sẻ bài viết

TAG:

TÁC GIẢ

Storyteller

After nearly 10 years working in the online industry, Anh eventually found her strong passion for content marketing and storytelling.

#### Technical Expert

#### Trần Mai Nam

Game Developer

Khi vừa tốt nghiệp khoa CNTT Đại học Bách khoa TP. Hồ Chí Minh (2008), anh Trần Mai Nam tình cờ được tuyển vào GSS, bộ phận chuyên làm game của Vinagame (VNG hiện nay) và làm ở đó đến đầu năm 2012, vị trí Senior Game Developer. Sau đó, anh làm dự án mô hình thực tế ảo máy bay F16 cho Singapore Air Force.

Tháng 06/2012, anh quay lại ngành game làm Lead Developer cho Joombi Games. Sau đó, anh đầu quân cho GIANTY Vietnam ở vị trí Game Developer trong suốt hơn 4 năm.

Đến nay, anh vẫn gắn bó với ngành lập trình game và hiện là Game Developer cho AMANOTES.

#### Related Articles

#### CellphoneS đồng hành cùng ITviec trong Khảo sát Lương IT 2024: Mang đến giá trị cho cộng đồng IT tại Việt Nam

#### Lộ trình học Backend toàn diện A-Z cho người mới bắt đầu

#### Backend Developer là gì: Mô tả công việc và lộ trình sự nghiệp

#### Lập trình web lương bao nhiêu? Yếu tố nào ảnh hưởng đến lương?

#### Web Developer là gì: Định nghĩa, Trách nhiệm và Lộ trình học tập

### ITviec Blog – Ý Tưởng Phát Triển Sự Nghiệp IT Của Bạn

Δ



Δ

#### Nhà tuyển dụng IT