Đam mê làm game thì nên học ngôn ngữ c++ hay c#

Ôi trời ơi @@

Bây giờ, nếu bạn muốn bị “đẽo cày giữa đường”, bạn cứ thoải mái đặt các câu hỏi kiểu như: “Em nên học C++ hay C#” ; “C++ hay C# có tương lai hơn” ; “thằng nào làm game tốt hơn” …

Còn nếu không muốn bị như thế, hãy tự chọn 1 thằng và học nó đi, đừng hỏi nữa !

2 Likes

Chung quy lại mục đích cuối cùng là kiếm tiền và rất nhiều tiền. Mà cái gì cũng có cách kiếm nhiều tiền cả.

2 Likes

game làm ra có ai chơi game mà quan tâm xem game nó viết bằng C++ hay C# đâu. Chủ yếu đồ họa đẹp, cốt truyện hay, gameplay độc đáo, nhạc hay, marketing giỏi, cộng 1 tí may mắn thì ăn tuốt. Mấy cái này chả có quan hệ gì tới C/C++/C#/Java cả.

1 mình solo đây: ConcernedApe. Game như Harvest Moon 2D thôi, anh này là nhạc sĩ thì phải, phải tự học vẽ, tự học code. Viết game 2-3 năm. Stardew Valley thành công vì có nhạc hay, art đẹp, cốt truyện phong phú. Chả ai quan tâm anh viết bằng ngôn ngữ gì.

2 Likes

Chào em,

Em thích lập trình game thì cứ C++ mà học nhé. Không phải java hay c# hoặc bất cứ ngôn ngữ nào khác không lập trình game được, mà do C++ là ngôn ngữ làm nên game engine mạnh nhất.

Mạnh vì sao? Vì nó bắt dev quản lý tốt bộ nhớ để tối ưu hoá hiệu năng. Phù hợp build đa nền tảng. Và còn rất nhiều thứ khác hay ho nữa. Em google để biết thêm nhé.

Ưu điểm thì như anh đã nói ở trên. Còn nhược điểm thì:

  1. Khó để master hơn các ngôn ngữ khác.
  2. Quên giải phóng bộ nhớ là mặc định ăn hành.
  3. Như em nói. Nhu cầu tuyển dụng lập trình game với C++ ít tại Việt Nam.

Em có thể nộp đơn vào gameloft để làm việc nhé. Nhưng anh nói trước là không đơn giản để được nhận làm nhân viên chính thức đâu. Họ có tuyển Java và C++. Nhưng em vào làm rồi thì cũng qua C++ hết thôi =)))

Chia sẻ với em về thời gian anh thực tập ở gameloft trong 2 tháng nhé.

  • 4 tuần đầu trainning. Có thể thay đổi. Vì sau quá trình tranning em được review, đánh giá để gameloft điều chỉnh thời gian cho phù hợp.
  • 4 tuần sau làm project viết một framework nhỏ bằng C++ build ra đa nền tảng. Sau đó sử dụng framework đó để viết 1 game nhỏ. Anh viết lại game flappy bird :wink:
  • Mấy ngày cuối bảo vệ nhận bằng về nhà đóng khung kèm 2 chai cho ứng viên sáng giá được giữ lại công ty. Anh được nhận đấy nhé :smile:

Như chia sẻ thì em có thể thấy nó không hề đơn giản. Nhưng khi gặp khó khăn em có thể hỏi các anh trong công ty.

Đó là quá trình anh thực tập. Có thể em vào sẽ được thực tập với những nội dung khác. À quên. Anh ở Đà Nẵng nhé :blush:

Hy vọng qua bài chia sẻ em có thể định hướng được cho bản thân mình.

Chúc em sớm thành công!

3 Likes

Dạ , em cảm ơn anh nhiều . Em thấy c++ không có foundation , vậy khi mình build source c++ đa nền tảng thì có gặp khó khăn nào không a ? Em tính vừa học oop của c++ với opengl , anh thấy học như vậy có ổn không ? Em đang là sv năm 1 ở đh khtn tphcm , c++ căn bản em cũng ok rồi

Mình thấy cứ bắt tay vào làm thì mới hiểu bản thân thiếu gì ? khó khăn ở đâu ? cần học gì ?..
=> chứ cứ lên diễn đàn hỏi định hướng suốt, không tự đưa cho mình 1 mục tiêu và không bắt tay vào làm thì …rất khó cho sau này phát triển.
Ví dụ như kiểu đi từ VN sang Mỹ ý. Bạn muốn đi thì xem ngày giờ, tiền bạc có bao nhiêu, đi hãng nào thì check chọn ngày bay, chọn ghế…
-> còn cứ phân vân bên này rẻ bên kia đắt thì mãi vẫn ở VN.
P/S: có thể chọn sai nhưng từ sai lầm sẽ học được nhiều kinh nghiệm.

1 Like

Cái này em yên tâm. Khi vào thực tập em sẽ được trainning. Thực ra gameloft có framework C++ rất mạnh. Nhưng họ muốn mình tạo ra một framework để xem mình có hiểu sâu C++ hay không thôi.

Lúc anh làm bài test chủ yếu là technical với một số bài xử lý va chạm đơn giản. Ví dụ như có một đường thẳng đi qua hình tròn. Tìm giao điểm của đường thẳng với hình tròn đó.

OOP thì bắt buộc phải học rồi. OpenGL em học rất là tốt. Vì em mới năm một. Nên hãy học những gì em thấy hứng thú. Đừng nghe lời những ai nói rằng nên học cái này. Không nên học cái kia. Cứ học để biết mình thực sự thích gì. Như anh đây ra trường rồi muốn học cũng khó. Vì không có thời gian nhiều. Cố gắng mỗi ngày học một ít để biết thêm một chút công nghệ thôi.

Cố gắng lên em nhé! :smile:

1 Like

3 posts were split to a new topic: Recommend 1 chỗ học C# và Unity tốt tại HN

anh có fb không :smiley: cho em xin , sao này em thỉnh giáo anh

Bạn thích làm team nhóm 1-3 người ( dạng quy mô nhỏ ), thích tự làm , tự xây dựng lên star up, thích 3D, thích tự viết tool , engine. Bạn thích gì mà nhiều thế @@, nếu vậy sao bạn không thích luôn C# và C++ đi. Mà bạn thích nhiều thế thì kiến thức đòi hỏi không ít đâu nhé. Đối với mình hướng đi lập trình game tốt nhất là đầu tiên học thật chắc C++, sau đó học OpenGL hoặc DirectX, rồi học dùng game engine sẵn có. Bây giờ làm game người ta quan tâm rất nhiều đến đồ họa, gameplay, đặc biệt là năng suất, việc bạn thích 3D và thích tự viết engine hoàn toàn không khả thi, cũng như không phù hợp ở thời điểm hiện tại. Chưa kể tài liệu về 3D game engine ở Việt Nam hầu như không có, “tự học” và master nó lại càng khó hơn. Tốt nhất ở thời điểm hiện tại( năm nhất ) bạn nên chú tâm học cho chắc C++(quên luôn C# đi), rèn luyện thuật toán sau đó bắt đầu với môn học như nhập môn phát triển game chẳng hạn. Lúc đó bạn tự biết bạn thích gì.

1 Like

mình có thắc mắc là đồ họa với âm thanh trong game làm ntn đối với mình chỉ biết code đồ họa + code c++

với lại emthắc mắc khi engine đã hỗ trợ thì học lập trình đồ họa opengl để làm gì vậy anh ?

1 Like

Học engine là bạn học sử dụng công cụ. Để làm game cần nhiều hơn thế, hãy học nhiều công cụ để thấy cái bạn cần thực sự là Unity hay là thứ khác. Và nếu làm game với Unity, bạn sẽ nắm rõ ưu/nhược điểm để sử dụng công cụ một cách thông minh thay vì chỉ học làm game như 1 con vẹt, từ đầu đến cuối chỉ làm theo cái có sẵn. Tư duy đã bị bó hẹp do thói quen học tập không sáng tạo thì làm gì cũng khó.

1 Like

Các quá trình mà game engine che giấu đi hầu hết liên quan đến khoản đồ họa là cái bạn phải học. Vì vậy, học về đồ họa giúp bạn hiểu sâu hơn về nguyên tác hoạt động của game engine. Nếu có kiến thức về lập trình đồ họa thì việc học và sử dụng các game engine sẽ trở nên đơn giản hơn rất nhiều. Bạn hiểu engine ở mức độ rất sâu, từ đó bạn dễ dàng tối ưu cũng như chỉnh sửa lại engine để phù hợp hơn với tựa game của bạn. Nói chung học đồ họa là điều tất yếu nếu bạn muốn theo hướng phát triển game.

1 Like

mỗi ngôn ngữ đều có một ưu điểm riêng
VD C#:

  • Sự tích hợp với Unity Game Engine
  • Đa nền tảng
  • Tài liệu phong phú
  • Thư viện và công cụ hỗ trợ
    C# có một loạt các thư viện và công cụ hỗ trợ cho lập trình game, bao gồm các thư viện đồ họa, âm thanh, và vật lý, cũng như các framework và middleware phổ biến.

VD C++:

  • Hiệu suất cao
  • Kiểm soát tối đa
    C++ cung cấp mức độ kiểm soát tối đa về việc quản lý bộ nhớ và tài nguyên. Bạn có thể thao tác trực tiếp với bộ nhớ, xử lý sự kiện, và tối ưu hóa các phần của game.
  • Sử dụng trong các engine game mạnh mẽ
    Một số engine game mạnh mẽ như Unreal Engine và CryEngine sử dụng C++ làm ngôn ngữ chính để phát triển game. Làm quen với C++ sẽ giúp bạn làm việc hiệu quả với các công cụ này.
  • Đa nền tảng
  • Thư viện và framework đồ họa và vật lý
  • Sử dụng trong lập trình hệ thống

Lựa chọn giữa C# và C++ trong lĩnh vực lập trình game sẽ còn phụ thuộc vào yêu cầu cụ thể của mỗi dự án. Nếu như bạn đang phát triển game đòi hỏi hiệu suất cao và kiểm soát tối đa, C++ sẽ là một lựa chọn tốt. Trong khi đó, nếu bạn muốn phát triển game nhanh chóng và sử dụng các công cụ và engine phát triển game phổ biến, C# và Unity Game Engine mới là lựa chọn phù hợp.

Còn nếu bn là Newbie thì:

  • Chọn C#:

    • Mới bắt đầu học lập trình
    • Muốn phát triển game nhanh chóng
    • Đam mê thiết kế game đa nền tảng
  • Chọn C++:

    • Muốn kiểm soát tối đa và hiệu suất cao
    • Muốn làm việc với các engine game mạnh mẽ
    • Phát triển game độc lập

Đấy là những ý kiến riêng của mình thôi, còn lại là do bn quyết định nhé :>>>

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?