Các nhiệm vụ hàng ngày điển hình của một lập trình viên trò chơi cấp nhập cảnh là gì? [đóng cửa]


64

Điều tôi muốn biết là: Nhiệm vụ hàng ngày của một lập trình viên tốt nghiệp tại nơi làm việc trong ngành công nghiệp trò chơi là gì? Có phải chủ yếu là mã hóa, phân tích, thiết kế, hoặc những gì?

Cảm ơn bạn.

PS Tôi đang học năm thứ hai Đại học và đang làm việc chuyên về lập trình trò chơi, đặc biệt là trò chơi, công cụ hoặc lập trình UI.

Câu trả lời:


103

Dựa trên kinh nghiệm của tôi (ở Hoa Kỳ, được thuê từ trường đại học cho một dự án vừa mới ra khỏi nguyên mẫu và là một nhóm khoảng 50, sau đó bị hủy bỏ, sau đó chúng tôi tiếp tục thực hiện hai trò chơi nữa trong bốn năm đã ở đó với tổng số nhà phát triển khoảng 200),

  • Bạn có thể sẽ dành khoảng 50-70% thời gian để lập trình. Trong thời gian này, tôi bao gồm cả 'những thứ thú vị' như tạo ra một tính năng thực sự thông minh, cũng như những lần bạn nhìn chằm chằm vào một bãi chứa bộ nhớ trong 8 giờ liên tục để cố gắng tìm ra những gì đã bị hỏng. Có thể 25-50% trong số đó là lập trình dạng thực tế ngồi xuống bàn phím và lập trình trong khu vực của bạn.
  • 15-25% khác trong các cuộc họp và nhiệm vụ hành chính, như xử lý lỗi, các cuộc họp về xử lý lỗi, lập lịch, tài liệu cấp cao cho các lập trình viên và nhà sản xuất khác, email, cập nhật toàn bộ dự án / công ty, v.v. Điều này phụ thuộc vào mức độ tự chủ của bạn - nếu bạn không có quyền tự chủ, thì bạn sẽ dành nhiều thời gian hơn để lập trình, bởi vì bạn sẽ dành ít thời gian hơn để thiết lập lịch trình của riêng mình. Nếu bạn kiểm soát nhiều hơn lịch trình của mình, bạn có thể làm việc với những điều thú vị hơn, nhưng sau đó bạn cần dành thời gian để làm công việc này.
  • 15-25% khác giúp các nhà thiết kế / nghệ sĩ, tham dự các cuộc họp sáng tạo thực sự về trò chơi, cập nhật các tài liệu thiết kế trò chơi, v.v.

Khi bạn đi lên trong lớp lương, thời gian bạn dành cho lập trình có thể sẽ đi xuống . Bạn sẽ phải đưa ra nhiều quyết định hành chính hơn, được kêu gọi để giúp đỡ những người ít kinh nghiệm hơn trong nhóm và dành nhiều thời gian hơn để làm tài liệu và đánh giá mã / kiến ​​trúc. Về mặt tích cực, chất lượng lập trình có thể sẽ tăng lên; bạn sẽ làm việc với các tính năng thú vị hơn (và nhiều lỗi khó chịu hơn).

Cho dù thời gian bạn dành để giúp các nhà thiết kế và nghệ sĩ tăng, giảm hay không thực sự thay đổi, tùy thuộc vào lĩnh vực bạn muốn làm việc. Nếu bạn muốn làm việc trên UI, công cụ và trò chơi, hãy hy vọng rằng thời gian sẽ tăng lên đến 50% khi bạn có thêm kinh nghiệm. Bạn sẽ ngồi lại với các nhà thiết kế cao cấp để lên kế hoạch và giới thiệu các công cụ mới và xem cách họ sử dụng những công cụ hiện có. Thật không may, thời gian này cũng đi ra khỏi lịch trình lập trình của bạn.


Không hoàn toàn là cách tôi nhớ nó, nhưng nó giúp ích khi đối tác đào tạo của bạn thực sự dạy cho bạn những điều ;-)
coderanger

@coderanger: Tôi không nghĩ ai trong chúng tôi nhận được nhiều sự giúp đỡ từ đối tác đào tạo của mình. ;)

26

Khác với những điểm thảo luận cấp cao mà Joe đưa ra, có một vài điều khác bạn nên chú ý.

  • Thông thường bạn sẽ sử dụng một số loại công cụ theo dõi lỗi hoặc theo dõi nhiệm vụ mà khách hàng tiềm năng của bạn sẽ sử dụng để phân công nhiệm vụ cho bạn. Đôi khi chúng giống nhau (ví dụ FogBugz). Đôi khi danh sách lỗi của bạn sẽ thông qua một nhà xuất bản và danh sách nhiệm vụ của bạn nằm trên wiki nội bộ. Bạn không chỉ ngồi xuống và bắt đầu làm bất cứ điều gì , nhiệm vụ của bạn sẽ được hướng dẫn.
  • Đôi khi bạn sẽ được yêu cầu ước tính nhiệm vụ của bạn. Điều này là ẩn khi sử dụng các hệ thống như FogBugz. Một phần trách nhiệm của bạn sẽ / nên / có thể là chia nhỏ tính năng cấp cao hơn thành các phần mà bạn có thể sử dụng để ước tính chính xác thời gian cần thiết cho mục đích xem bạn đang theo dõi các cột mốc như thế nào, v.v.
  • Rất nhiều hãng phim đã chuyển sang các phương pháp phong cách nhanh nhẹn / kỹ lưỡng hơn. Cập nhật biểu đồ ghi xuống (nghĩa là bạn đã dành X giờ cho nhiệm vụ Y và dự kiến ​​sẽ hoàn thành trong thời gian Z) là khá phổ biến. Các cuộc họp standup hàng ngày có lẽ là một chút phổ biến hơn. Dù bằng cách nào, bạn sẽ cung cấp một số khả năng hiển thị cho những gì bạn đang làm việc.
  • Bạn sẽ sử dụng kiểm soát phiên bản / nguồn. Studio càng lớn, họ càng có khả năng sử dụng Perforce. Bạn nên biết những điều cơ bản của nó (kiểm tra tệp, cam kết tệp, có thể giải quyết xung đột hợp nhất cục bộ của bạn). Bạn cũng có thể được yêu cầu hiểu chi nhánh và sáp nhập các chi nhánh. Một số studio hoạt động trong đó tất cả các nhà phát triển có được chi nhánh địa phương của họ và bạn có thể đăng ký bao nhiêu tùy thích và hợp nhất khi chi nhánh của bạn. Các studio khác (của chúng tôi) chỉ có chính sách "không phá vỡ chính", vì vậy bạn phải đảm bảo cập nhật, kiểm tra nhanh để đảm bảo bạn không phá vỡ bất cứ điều gì, sau đó đăng ký. Một số studio không có chính sách đó và mọi người phá vỡ mọi lúc và điều đó thật khó chịu và bạn phải học cách giải quyết vấn đề đó.
  • Mã đánh giá là khá phổ biến. Đôi khi, họ là toàn bộ bộ phận mã. Nhóm của chúng tôi sử dụng cách tiếp cận bạn bè mã trong đó có nhiều hơn một để đánh giá về tổng kiểm tra. Dù bằng cách nào bạn cũng sẽ được yêu cầu cung cấp phân tích quan trọng về mã của người khác.

11

Tôi vừa hoàn thành một kỳ thực tập 4 tháng để làm việc trong một trò chơi rất lớn. Dự án đã ở giai đoạn rất muộn khi tôi đến đó, vì vậy hầu hết những gì tôi làm là sửa lỗi. Đó có lẽ là một phần không nhỏ trong thời gian của tôi ... sử dụng kinh nghiệm của tôi với mã hóa để sửa lỗi thay vì thiếu kinh nghiệm phát triển trò chơi để thiết kế hoặc phát triển các tính năng.

Rất nhiều thứ tôi đã làm cũng liên quan đến CNTT. Phát triển các công cụ nội bộ là một điều lớn - một số giúp trực tiếp với nhà phát triển trò chơi, một số để tự động hóa những thứ đã được thực hiện thủ công trước đó. Và tất nhiên, sửa lỗi cho các công cụ khác, bao gồm trình cài đặt Trò chơi của Windows cho Windows Live.

Playtesting là một phần lớn khác, và tôi cũng chịu trách nhiệm thực hiện một số bản dựng đã được đẩy lên playtesters. Lỗi trong thế giới trò chơi khá khó để theo dõi và đòi hỏi nhiều công sức để tìm ra nguyên nhân.

Tôi không chuyên về trò chơi hay đồ họa, nên có lẽ bất kỳ công việc nào bạn làm sẽ liên quan nhiều đến chuyên môn của bạn hơn việc này. Nhưng tôi hy vọng nó mang lại cho bạn một ý tưởng.


4

Dự án năm cuối cùng của tôi là về yếu tố canvas HTML5. Tôi hiện đang làm việc trong một kỳ thực tập trong hai tháng qua, nơi tôi phải chuyển một trò chơi flash hiện có sang canvas của HMTL5.

Từ những gì tôi có thể nói với bạn về cuộc sống của tôi ở đây, cũng khó khăn. Nhóm yêu cầu có nhu cầu rất cụ thể. Những gì chuột nhấp được cho là để làm gì, làm thế nào các hiệu ứng nên áp dụng trên trò chơi. Bất kể nó khó khăn đến mức nào đối với lập trình viên ngay cả đối với yêu cầu khôn ngoan nhất, nó vẫn phải được giải quyết, và sau khi tất cả các yêu cầu được thực hiện. Báo cáo lỗi bắt đầu. Chúa thật phiền phức. Nó thực sự bắt đầu để có được trên dây thần kinh của bạn. Độ lệch 1px cho một lần nhấp có thể khiến cuộc sống của bạn trở thành địa ngục, hãy tin tôi! Nó có thể có nghĩa là cấu trúc mới của toàn bộ không gian định vị và tương tác của bạn để bạn có thể phù hợp với ý tưởng bất chợt và huyền thoại của họ.

Nhưng nó cũng vui! :) Niềm vui tuyệt vời khi viết rằng một chức năng thực sự thông minh, tương tác với cộng đồng về cách bạn có thể tạo lại một chức năng mà flash tự động. Tất cả. Đó là thời gian mà bạn không hối tiếc khi có công việc đó .. Làm cho nó cảm thấy như là công việc tốt nhất trên thế giới, và với cháu tôi là tuyệt nhất trên thế giới.

Vì vậy, một ngày bình thường trong công việc của tôi sẽ đến để thực hiện một chức năng. Nghiên cứu và tìm kiếm một chức năng làm cho một tính năng có thể. Bắt địa ngục thử nghiệm từ mã đó. Sửa mã đó. Thảo luận với cộng đồng về cách mã đó có thể được tối ưu hóa. Sau đó viết những gì tôi cảm thấy là chương trình tốt nhất trên trái đất: P

Vào cuối ngày, chủ yếu hài lòng với những gì tôi đã hoàn thành, đôi khi vẫn căng thẳng về nơi tôi có thể làm tốt hơn và những gì tôi có thể làm khác đi và hoàn thiện điều đó. Tôi mới chỉ ở giai đoạn mới bắt đầu và vì vậy tôi có thể không thể tư vấn cho bạn về cách nó sẽ có trong tương lai nhưng đến bây giờ .. Tôi nghĩ rằng tôi phải làm công việc tuyệt vời nhất :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.