Có phải tôi đang tự làm tổn thương mình khi không biết C ++ cho thiết kế trò chơi? [đóng cửa]


14

Ngay bây giờ, tôi cảm thấy mình mạnh mẽ trong cả Java a C #. (Không có nhiều bước nhảy từ cái này sang cái khác thực sự).

Mặc dù tôi không mong đợi một nhà thiết kế / lập trình trò chơi là một mục tiêu có thể đạt được từ sớm trong sự nghiệp của mình, nhưng đây là mục tiêu tôi sẽ đạt được sau này trong sự nghiệp của mình.

Với suy nghĩ này, tôi cảm thấy việc bỏ qua C ++ và các công cụ thiết kế trò chơi liên quan đến nó cuối cùng sẽ làm tổn thương tôi hoặc làm tôi chậm lại trong khả năng đạt được mục tiêu của mình.

Đây có phải là trường hợp? Hoặc tôi có thể tiếp tục trau dồi kỹ năng C # của mình bằng XNA và WPF cho các dự án cá nhân có thể nâng tôi vào một nghề nghiệp như vậy không?


1
Hãy nhìn vào các vị trí tại các công ty trò chơi và cho tôi biết những gì bạn nhìn thấy. Có lẽ bạn sẽ thấy rằng bạn có đám đông trò chơi trên web / facebook, những người chủ yếu tìm kiếm các nhà phát triển hành động / php, đám đông máy tính để bàn tìm kiếm c ++ / lua và đám đông i-gad sử dụng object-c. Nó phụ thuộc vào những gì bạn muốn làm thực sự là liệu bạn có tự làm tổn thương mình hay không. (Điều này đến từ ai đó đang tập trung vào C # và python và bỏ qua c ++)
Ken

Câu trả lời:


21

IMO, vâng, bạn có khả năng đang làm tổn thương chính mình. Trước hết, đúng hay sai có một hệ thống phân cấp nhận thức giữa các ngôn ngữ lập trình - và C ++ thường có đứng cao hơn so với Java hoặc C # (ví dụ, câu hỏi như của bạn là khá phổ biến - ngược lại là hầu như không nghe). Nếu bạn áp dụng ở đâu đó sử dụng C # hoặc Java và bạn biết C ++, họ sẽ không nghi ngờ khả năng lập trình của bạn. Nếu bạn áp dụng ở đâu đó sử dụng C ++ và bạn biết C # và Java, sẽ có một cơ hội khá công bằng, họ sẽ đặt câu hỏi về khả năng lập trình của bạn, ít nhất là ở một mức độ nào đó. Điều đó không có nghĩa là nhận thức không thể vượt qua, nhưng bạn vẫn tự đặt mình vào thế bất lợi.

Thứ hai, ít nhất là trong số các nhà phát triển trò chơi độc lập mà tôi biết (phải thừa nhận, không nhiều lắm), có một số điều không thích cơ bản về C # chỉ vì nó từ Microsoft. Sun đã được nhìn nhận tích cực hơn rất nhiều, nhưng vì việc mua lại của Oracle dường như không còn là vấn đề nữa. Hầu hết đều xem "Oracle" và "trò chơi thú vị" gần với các đối lập chính xác nhất có thể với con người.

Cuối cùng, từ quan điểm thực tế, các trò chơi là một trong những nơi mà C ++ được sử dụng nhiều nhất. Nếu bạn không biết C ++ ở mức độ hợp lý, điều đó chỉ đơn giản là hạn chế các lựa chọn của bạn một cách đáng kể.


5

Nó không hoàn toàn rõ ràng, nhưng mục tiêu của bạn là gì? Để trở thành một nhà thiết kế trò chơi? Bạn nghĩ vị trí đó là / không?

Trong trường hợp cơ bản, miễn là bạn không viết mã thực tế, không biết C ++ cụ thể sẽ không làm tổn thương bạn. Tất nhiên, có một sự hiểu biết cơ bản của lập trình tự (thiết kế hướng đối tượng và có thể nghĩ về điều kiện, vv) được sẽ giúp đỡ bạn. Bản thân C ++ làm gì so với C # hoặc Java có lẽ sẽ không thành vấn đề khi giúp thiết kế các quy tắc trò chơi dễ mô tả bằng mã.


3

Nó thực sự phụ thuộc vào mục tiêu của bạn là gì. Nếu bạn muốn chuyển sang thiết kế càng nhanh càng tốt và làm việc theo cách của bạn để trở thành một giám đốc, nền tảng kỹ thuật mà bạn biết rõ về Java và C # sẽ là quá đủ.

Nếu mục đích của bạn là tìm đến một vị trí lập trình cấp cao / lãnh đạo và chuyển sang vị trí giám đốc từ đó, tốt hơn bạn nên học một loại ngôn ngữ không được quản lý. Không nhất thiết là C ++ - C, Objective C, hoặc một cái gì đó khác như D sẽ ổn. Nhưng ngay cả khi làm việc ở mức độ trừu tượng cao hơn trong C #, thật khó để trở thành một lập trình viên tuyệt vời mà không hiểu con trỏ và quản lý bộ nhớ, không thể đọc các cụm từ và bộ nhớ, mà không thể hiểu hoặc thậm chí thực sự tối ưu hóa mức độ thấp.

Tôi cũng nên nói thêm - nếu bây giờ bạn không ở trong ngành, lập kế hoạch 20 năm là điều ngớ ngẩn. Có thể bạn sẽ phát hiện ra bạn ghét nó; có thể bạn sẽ phát hiện ra rằng bạn không muốn trở thành một giám đốc vì tất cả những điều không liên quan đến phát triển, và bạn chỉ muốn ở lại một nhà thiết kế hoặc lập trình viên cao cấp, làm việc dưới quyền một giám đốc nhưng có nhiều tự do cụ thể tên miền bạn thích.


2

Bạn có thể sẽ ổn khi sử dụng các ngôn ngữ bạn biết; C # với XNA là phổ biến ngay bây giờ vì bạn có thể phát triển lên XBOX360, Zune và PC. Sự phổ biến của Java đang quay trở lại nhờ thành công độc lập của Minecraft với nó.

Tôi đã ở một vị trí tương tự như bạn và quyết định "bắt đầu lại" để nói chuyện với C ++ và 2 tuần trước tôi đã mua "Bắt đầu C ++ thông qua Lập trình trò chơi". Nó KHÔNG phải là một cuốn sách lập trình trò chơi, mà là một cuốn sách dành cho người mới bắt đầu C ++ bao gồm mọi thứ bạn cần biết trong C ++ khi lập trình trò chơi bằng API hoặc Thư viện khác và thay thế các dự án nhàm chán bằng các dự án liên quan đến trò chơi nhiều hơn. Thật là một buổi đọc tuyệt vời.

Bây giờ tôi đang chuyển sang DirectX và mua một cuốn sách có tựa đề "Lập trình trò chơi RTS trong DirectX" của Carl Granberg. Nó có đánh giá tuyệt vời. Tôi vẫn không chắc chắn liệu mình có đưa ra quyết định tồi với DirectX qua OpenGL hay không, nhưng chúng ta sẽ thấy.


2

Học nhiều ngôn ngữ sẽ chỉ là lợi thế của bạn. Ngay cả khi gần như tất cả các công cụ chuyên nghiệp sử dụng - hoặc nên sử dụng - kịch bản và / hoặc các công cụ mở rộng để dễ sử dụng cho nhà thiết kế, bạn vẫn chính xác ở chỗ nó giúp ích rất nhiều cho một dự án mà bạn đã làm việc cụ thể. Ngay cả khi người phỏng vấn của bạn không chú ý đến các dự án của bạn (điều không thể xảy ra), làm việc trên một dự án cá nhân sẽ là một kinh nghiệm học tập lớn.

Đối với các nhà thiết kế và nghệ sĩ, danh mục đầu tư thậm chí còn quan trọng hơn, vì bạn không thể thực hiện các bài kiểm tra lập trình hoặc có các cuộc phỏng vấn công nghệ đơn giản. Vì vậy, tôi không nói rằng bạn nên bối rối và tìm hiểu mọi thứ cần biết về C ++.

Thay vào đó, bạn sẽ có thể hiển thị một vài trò chơi có tiềm năng thiết kế tốt (nghĩ các khái niệm trò chơi nhỏ, rõ ràng như Limbo hoặc Portal,) cho dù bạn tự phát triển chúng hay bạn tạo chúng bằng Flash. Sử dụng mã hóa như một công cụ, không phải là vũ khí chính của bạn. Đảm bảo rằng chúng có thể dễ dàng truy cập trên trang web của bạn bằng video trò chơi, ảnh chụp màn hình và tải xuống có sẵn.

Trên hết, hãy đánh bóng mọi thứ bạn làm, bất kể bạn có dự án nhỏ hay loại dự án nào. Nếu lập trình là về sự mạnh mẽ và khả năng sử dụng, thì thiết kế là về niềm vui (mọi người thường quên điều này) và cho thấy rằng bạn thực sự có thể đóng đinh các chi tiết.


0

C ++ là người khởi tạo và tạo ra một số ngôn ngữ được sử dụng rộng rãi nhất bao gồm Java. Bằng cách học C ++ (dù là dành cho nhà phát triển trò chơi hay cách khác), bạn sẽ có thể học hầu hết mọi ngôn ngữ với tốc độ và dễ dàng. Đó là sự kỳ diệu của ngôn ngữ này. C ++ cung cấp cho bạn quyền kiểm soát mã nhiều hơn so với Java. Vì vậy, nếu bạn muốn thực sự trở thành một bậc thầy thực sự về mã của mình, thì bạn sẽ ở vị trí tốt hơn rất nhiều khi học C ++

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.