Học làm game như thế nào
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.
Show 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 gameAnh 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:
Ả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 NamAnh 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. Những kỹ năng cần thiết để trở thành Game DeveloperNgoạ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ể:
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ể.
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.
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.
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. Anh 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:
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ó 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.
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. 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.
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.
Một trong những sai lầm “nhớ đời” nhất của anh Nam là khi anh làm 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.
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ở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.
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é! |