Mơ ước lập trình game và ngôn ngữ lập trình?

Trước tiên, em biết đây là câu hỏi vừa nhàm, lại vừa chung chung, em sẽ hỏi rất nhiều, mong mọi người giúp đỡ ạ ^

Hi các anh chị, em là newbie. Em có mơ ước rất lớn là có thể làm những trò chơi tuyệt vời nhất. Nhưng nếu tự em tìm hiểu trong mạng internet rộng lớn có lẽ sẽ mất rất nhiều thời gian, mà em sắp lên lớp 12 rồi, em muốn thời gian sẽ được dùng có ích nhất. Vì vậy em muốn nhờ các anh chị giúp đỡ.
Em đang học C, vì từ trước, em đọc (qua qua) ở đâu đó, C++ là ngôn ngữ đa dạng, được ứng dụng nhiều trong game, nó lại còn là ngôn ngữ hướng đối tượng (Em có hiểu sơ là muốn lập trình ứng dụng thì ngôn ngữ phải có hướng đối tượng, hình như là OPP), mà muốn học C++ thì trước hết phải hiểu C, hiểu Pascal. Pascal thì em học rồi. Còn C thì rất cơ bản thôi.
Nhưng mấy ngày này, em lại tìm thông tin khác, thì thấy nhiều người nói C++ được ứng dụng không còn nhiều, thay vào đó là C#, là Java, làm em rất hoang mang. Em nghĩ đây là tâm trạng trung của rất nhiều bạn trẻ như em.
Vậy nên em có rất nhiều câu hỏi, mong được giải đáp:

  • Có thực sự C++ không tối ưu không ? Nếu vậy, C, C++, C# và Java khác nhau ở đâu, ngôn ngữ nào có những lợi thế cũng như khuyết điểm nào ?
    (Tâm sự riêng: Em biết League of legends được lập trình chủ yếu các code bằng C/C++, nên em muốn hỏi luôn cái nào thích hợp cho PC, cho điện thoại, và mong muốn của em là game PC)
  • Các tài liệu (cả Tiếng Việt và tiếng Anh) về việc áp dụng ngôn ngữ của mình vào lập trình ứng dụng, vì học ngôn ngữ thì toàn hàm, biến, thuật toán, mà khi nhìn chương trình ứng dụng, em toàn thấy những từ khóa, câu lệnh lạ lẫm hơn nhiều.
  • Xu hướng game ở VNkinh nghiệm làm nghề của các anh chị ?
    *Em xin chân thành cảm ơn trước. Mong mọi người chia sẻ và giúp đỡ !

Hi Nguyễn Hoàng Phương

  1. Máy tính ngày càng mạnh và điện thoại cũng thế nên bây giờ chỉ làm các game nhỏ cà đơn giản thì bạn có thể code bằng ngôn ngữ nào cũng được. Còn nếu làm dự án lớn yêu cầu tối ưu cao và tận dụng hết sức mạnh phần cứng thì C/C++ thêm một số ngôn ngữ bặc thấp nữa.
    2 C/C++ và C#, java thì C# và java là các ngôn ngữ hiện đại hỗ trợ dev tốt hơn và code đơn giản hơn.
    3 Chương trình ứng dụng thì cũng hàm, biến, thuật toán không có gì thần thánh cả.
    4 Mình không làm game.
4 Likes

Mình chưa đi làm, và cũng không theo ngành này trong thời gian sắp tới.
Nhưng mình có đọc được bài viết khá hay:


Theo mình thì, bạn cứ học tốt Cpp, SQL đi. Tốt rồi thì tự bạn sẽ lại có hướng đi cho mình.
IT thì cứ học tới đâu là lại có cái mới tới đó.
Lớp 12 thì cố gắng thi vào mấy trường như Bách Khoa, KHTN, DHQG nhé.
Chúc thớt thi tốt

2 Likes

Theo như mình thấy thì các game nhỏ kiểu như Flappy Bird thì dùng Java, các game nhỏ trên web như Agar.io thì dùng JavaScript là đủ, vì không đòi hỏi hiệu suất, code bằng mấy cái đó kết hợp framework cho nhanh, giảm giá thành.

Tuy nhiên cỡ như LoL thì rất ảnh hưởng, vì game yêu cầu xử lý nhiều đối tượng, chỉ cần tụt FPS một chút, lag thêm vài chục ms là coi như trò chơi ném vào sọt rác.

Những thứ phức tạp như truy vấn CSDL, giao diện thân thiện, bắt sự kiện thì thường dùng các ngôn ngữ bậc cao, vì những giai đoạn này không cần tính toán nhiều, hiệu năng không phải là yêu cầu thiết yếu.
Những thứ như tính toán đồ hoạ, va chạm vật lý… thường sử dụng C/C++ vì đây là công đoạn cần hiệu năng. Các đoạn C/C++ thường được viết thành các module riêng biệt dưới dạng thư viện liên kết ngoài (dll) và được gọi vào chương trình chính viết bằng ngôn ngữ bậc cao hơn.

À, mình chưa đi làm và không làm game nhé :smiley:

6 Likes

Chắc em vẫn đang học Đại học nên chị nghĩ comment của mình vẫn giúp em được phần nào.
Chị không làm game nên không thể chia sẻ kinh nghiệm của mình nhưng mà 2 bài chia sẻ này có thể sẽ giúp ích được cho em trong việc xác định lại lần nữa xem có nên theo đuổi nghề này không nhé.

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