Trong các mô tả công việc, tôi thường thấy các vị trí được gọi là "Lập trình trò chơi". Những người ở vị trí đó làm gì?
Trong các mô tả công việc, tôi thường thấy các vị trí được gọi là "Lập trình trò chơi". Những người ở vị trí đó làm gì?
Câu trả lời:
Khi các công ty nói về việc thuê một lập trình viên chơi game , điều họ đang nói đến là một lập trình viên sẽ chịu trách nhiệm về mã trực tiếp chạm vào trải nghiệm trò chơi. Đó là, lập trình viên sẽ chịu trách nhiệm thực sự xây dựng các trò chơi, thay vì động cơ hoặc các hệ thống trò chơi lớn hơn. Nhưng ngoài ra, mọi thứ khác nhau rất nhiều:
Một số công ty mong đợi các lập trình viên chơi game thực hiện giao diện người dùng. Một số thì không. Một số công ty mong đợi họ triển khai mã AI, một số thì không. Một số mong đợi họ thực hiện mã âm thanh, một số thì không. Thành thật mà nói, "trò chơi" trong lập trình trò chơi là một cách viết tắt của ngành cho "mọi thứ mà chúng tôi đã không thuê một chuyên gia để làm". Vì vậy, những lập trình viên này cần phải rất linh hoạt, và cần có khả năng học các ngành mới một cách nhanh chóng.
Tôi đã dành gần mười lăm năm làm lập trình viên trò chơi trong ngành thương mại, qua năm công ty khác nhau.
Kinh nghiệm của tôi là ở một số công ty, một lập trình viên trò chơi được coi là vị trí cấp cơ sở hoặc cấp thấp; Rốt cuộc, các lập trình viên chỉ làm việc trên một trò chơi riêng lẻ, không cần phải tinh vi như những người đang làm việc trên các hệ thống cần hỗ trợ nhiều trò chơi khác nhau cùng lúc, theo cách mà các lập trình viên động cơ cần phải làm. Trong loại công ty này, nếu một lập trình viên chơi game thực sự làm tốt, anh ta có thể được thăng cấp vào đội ngũ động cơ một ngày nào đó, nếu anh ta có thể chứng minh giá trị của mình. Hoặc anh ta có thể trở thành một chuyên gia, nếu anh ta thể hiện năng khiếu cho một lĩnh vực cụ thể.
Trong các công ty khác, một lập trình viên trò chơi được coi là một vị trí trung bình; lập trình viên làm việc trên một trò chơi cá nhân cần phải có một số kinh nghiệm hữu ích và đáng tin cậy. Các lập trình viên thiếu kinh nghiệm có thể được giao những công việc không mong muốn để cắt răng (đường ống dữ liệu, công cụ, v.v.), và cuối cùng được phép chuyển sang công việc "lập trình viên trò chơi". Trong loại hệ thống này, một lập trình viên trò chơi tiếp tục làm khá tốt có thể chuyển sang vai trò lãnh đạo dự án, hoặc người nào khác vào nhóm động cơ.
Ở các công ty khác, một lập trình viên trò chơi được coi là một vị trí cấp cao, và cũng là một vị trí nửa thiết kế; những lập trình viên này được kỳ vọng là những lập trình viên xuất sắc, đã được chứng minh, nhưng cũng có độ nhạy và trình độ thiết kế mạnh mẽ, vì họ trực tiếp chạm vào mã ảnh hưởng mạnh nhất đến trải nghiệm của người chơi với trò chơi. Trong loại hệ thống này, một lập trình viên trò chơi thực sự giỏi có thể sẽ mãi mãi là một lập trình viên trò chơi - đây được coi là vị trí có giá trị nhất mà anh ta có thể lấp đầy.
Theo nguyên tắc chung, các trò chơi của công ty càng tốt, vị trí mà họ coi là lập trình viên trò chơi càng cao (và do đó, sẽ càng khó thực hiện công việc như vậy).
Tôi luôn luôn thấy nó giúp minh họa bằng ví dụ.
Một lập trình viên trò chơi sẽ được giao các nhiệm vụ dọc theo: thực hiện hệ thống chiến đấu cận chiến, thực hiện cơ chế phục hồi sức khỏe hoặc thực hiện các điều khiển nhảy của người chơi.
Một lập trình viên động cơ (cái mà bạn gọi là một người không phải là lập trình viên trò chơi) sẽ được giao các nhiệm vụ dọc theo: triển khai ánh sáng hoãn lại, hoặc hệ thống hoạt hình hoặc lớp kết nối mạng.
Điểm khác biệt chính là "khách hàng" là ai. Đối với các lập trình viên chơi game, đó là nhóm thiết kế - nhiệm vụ của họ là biến thiết kế thành hiện thực. Đối với các lập trình viên động cơ, nó thường là các lập trình viên khác . Các lập trình viên động cơ tạo ra công nghệ và hệ thống, mà các lập trình viên trò chơi và người tạo nội dung sau đó có thể sử dụng để hiện thực hóa thiết kế.
Các lập trình viên động cơ viết mã phần lớn là bất khả tri trong trò chơi - công nghệ tương tự thường có thể được sử dụng trong nhiều trò chơi. Các lập trình viên chơi trò chơi có xu hướng viết mã rất đặc trưng cho trò chơi đang được thực hiện. Và luôn có sự chồng chéo - đôi khi để thực hiện lối chơi, bạn cần một số mã công cụ mới.
Mã hóa trò chơi không khó hơn hay dễ hơn mã hóa động cơ. Tuy nhiên, đây chắc chắn là một bộ kỹ năng hơi khác nhau; bạn thường cần phải sáng tạo hơn, và có thể bodge giải pháp. Mục tiêu của bạn không phải là tạo ra một hệ thống có thể sử dụng lại hoàn hảo (lý tưởng cho các lập trình viên động cơ), mà là tạo ra việc thực hiện trò chơi tốt nhất. Vì vậy, những gì có thể là một tài sản trong lập trình động cơ (chú ý đến chi tiết và cấu trúc được thiết kế tốt) có thể là một trở ngại trong lập trình trò chơi (trong đó khả năng thích ứng và thời gian lặp lại quan trọng hơn). Một lập trình viên chơi trò chơi giỏi biết khi nào nên làm đúng (khi thiết kế chắc chắn và mã sẽ được sử dụng ở nhiều nơi) và khi nào thực hiện nhanh chóng (khi thiết kế vẫn đang được xử lý và mã của bạn có cơ hội tốt bị loại bỏ sau khi thử nghiệm).
Trên hết, các lập trình viên trò chơi cần có khả năng cộng tác với nhóm thiết kế ở cấp độ mà các lập trình viên động cơ không làm được. Bên cạnh các kỹ năng giao tiếp rõ ràng, điều đó có nghĩa là bạn cần phải làm quen với các thiết kế trò chơi khác nhiều hơn so với các lập trình viên động cơ, để khi một nhà thiết kế nói "làm cho nó hoạt động như Zelda", bạn sẽ biết họ đang nói gì.
Để học cách trở thành một lập trình viên động cơ, bạn sẽ đi sâu vào một công nghệ và tìm hiểu cách thức hoạt động của nó, và có thể thực hiện phiên bản của chính nó; trò chơi sẽ chỉ là một đấu trường để thể hiện công nghệ.
Để học cách trở thành một lập trình viên trò chơi, bạn sẽ sử dụng công cụ của người khác và sử dụng nó theo nhiều cách khác nhau có thể. Nói cách khác, nếu bạn muốn trở thành một lập trình viên chơi game, hãy tạo ra các trò chơi chứ không phải công nghệ .
Chính xác những gì nó nghe như, một lập trình viên thực hiện và duy trì cơ chế chơi trò chơi.
http://en.wikipedia.org/wiki/Game_programmer#Gameplay_programmer