Liệu em có đi đúng hướng

Hướng học ko phải đi theo ngôn ngữ mà là kiến thức về lập trình game
Hầu hết mọi nn đều có thể lập trình game nhưng cần chọn nn có hỗ trợ OOP và thành thục nnlt và OOP
Khi lập trình game sẽ có rất nhiều điều phải học, các kĩ thuật xử lí, toán học, vật lý,… Ban đầu có thể tự lt 1 số game nhỏ và đơn giản theo kiểu waterfall nhưng càng làm game lớn hơn 1 tí càng thấy khó và phức tạp. Lúc này ko nên bối rối, hãy thử tìm hiểu các game engine để lấy lại đc cảm hứng và học cách tổ chức game của game engine.
Nhiều ng kì thị game engine để học vì nghĩ dùng game engine sẽ thui chột kĩ năng và ko giỏi. Đây là quan niệm sai, khi ms bước chân vào lĩnh vực game, đọc các quyển sách về lm game rất khó hình dung nhưng nếu kết hợp với game engine sẽ học cực tốt và dễ hiểu. Đồng thời game engine cho bạn ra sản phẩm nhanh để nhanh chóng học đc các concept khó.
Sau khi đã hiểu thì hãy tự làm game engine cho riêng mình để hiểu sâu hơn về cách game engine hoạt động. Bạn có thể lựa chọn học thêm computer graphic hoặc ko, nhưng chắc chắn phải học về game loop, component, physic, … Và tự cài đặt đc.
Rồi viết code sao cho dễ bảo trì, dễ đọc, Tuỳ biến,…
Mình viết bằng đt nén chưa ns hết đc bạn tự tìm hiểu tiếp nhá
Giới thiệu bạn cuốn game programming pattern khá hay về lt game. Nhớ đọc nhé
Chúc may mắn

2 Likes

2 posts were merged into an existing topic: Topic này chứa các post được cho là Off-topic

Tks anh - twenty chars

Về cơ bản game có 2 hướng để theo, hướng đơn giản nhất là chọn 1 engine và bám theo nó.
Các kiến thức cần để có thể theo hướng 1:

  • Kiến thức lập trình cơ bản, kỹ thuật lập trình.
  • Lập trình hướng đối tượng.
  • Kiến thức về toán: vector (kiến thức lớp 10), còn nếu mún hiểu rõ hơn các di chuyển của nhân vật thì cần kiến thức các phép biến đổi trong không gian + ma trận (kiến thức đại học), kiến thức vật lý cơ bản ( chủ yếu nằm trong chương trình 10 và 11)
  • Học về một ngôn ngữ tương ứng vs engine mà mình chọn: Unity thì C#/Javascript, cocos2dx thì C++, cao cấp hơn là unreal engine 4 thì c++, nhưng khuyên là nên chọn 2 cái đầu, unreal 4 đòi hỏi phải có kiến thức vững về đồ họa nếu mún nắm được nó
  • AI: Thuật toán, các thuật toán trên đồ thị
  • Bật lợi khi theo hướng thứ 1, k nắm rõ được phần cứng, k có khả năng can thiệp sâu vào, khả năng làm game AAA gần như bằng 0
    Hướng thứ 2 thì khó khăn hơn đối vs sinh viên đại học, còn đối với phổ thông thì nó khó gấp trăm lần đò là theo đồ họa, học từ tầng thấp nhất của phần mềm lên cao dần tới các công nghệ hiện đại.
    Các kiến thức cần cho hướng 2:
  • Toán, khẳng định luôn 1 điều nếu k giỏi toán đừng mơ học được cái này. Đa phần các kiến thức toán đều nằm trong chương trình từ 11-> đại học
  • ngôn ngữ C++ (dùng để viết app tương tác CPU)
  • ngôn ngữ Shading (dùng để viết app tương tác GPU)
  • AI
    Ưu điểm khi theo hướng này: có tất cả ưu điểm của hướng 1 và những khuyết điểm của hướng 1 đều được khắc phục ở đây + thêm khả năng hiểu rõ phần cứng và có thể tương tác sâu vào phần cứng.
    A gặp nhiều đứa còn nhỏ nhưng mún theo game như e rồi, đa số là đọc xong những cái a nói bên trên rồi bỏ k dám theo nữa, số còn lại thì theo được và a đều khuyên là nên theo hướng 1, 1 game tuy nhìn có vẻ đơn giản nhưng nó là sản phẩm trí tuệ tổng hợp của cả nhân loại đó, nên đừng nghĩ game là đơn giản
10 Likes

Em mới học cấp 2 thôi nhưng đang theo hướng 2 nè anh. Lúc đầu em cũng nghĩ theo hướng 2 rất khó (đúng là khó thật), nhưng em thấy thực ra đối với những lứa trẻ như bọn em việc tiếp thu kiến thức ms dễ hơn nhiều so với ng lớn. Bản thân em trc khi học về OpenGL cũng chỉ có kiến thức toán học cấp 2 và biết chút chút vector qua vật lí. Sau đó nhờ học về computer graphic mà em biết rất nhiều về vector, matrix, cách tạo ra môi trường 3d và tính toán ánh sáng, … do đó em thấy ko có gì là khó khăn cả chỉ là bản thân có muốn thật sự học ko. Phần toán học có thể làm em confuse lúc đầu nhưng tầm 1 tuần là em hiểu đc các khái niệm đó và em nghĩ em chưa thông minh hơn ai nên chắc chắn sẽ có những ng bé hoặc bằng em hoàn toàn có thể theo hướng 2 đc
Tất nhiên điều anh viết vẫn đúng theo số đông.
Với lại game AAA thì hầu hết đều phải dùng game engine và cần rất nhiều sức lực, tiền bạc và còn phải hay nữa nên em thấy việc đánh giá học theo hướng 1 khả năng làm game AAA = 0 là chưa thật chính xác :smiley:
Ý kiến cá nhân của em thôi, có gì sai sót mong mọi người chỉnh lại

2 Likes

Học về graphic mà về OpenGL thì em thấy trong các cái em tìm cái này là hay nhất. Dễ hiểu, đầy đủ: Learn OpenGL ai cần có thể tham khảo

1 Like

Tất nhiên mún làm game AAA thì phải sử dụng engine mới làm được, nhưng nếu không hiểu rõ engine đang làm thì không thể nào làm được, các engine lớn đều cho phép can thiệp sâu vào như unreal 4… Đa số các studio game đều tự viết shading chứ không dựa vào shading của engine, cùng 1 engine, cùng 1 cấu hình game nhưng sẽ có những game tương thích với máy yếu cũng có những game quá nặng, những thứ đó đều phụ thuộc vào ngôn ngữ shading và khả năng tối ưu, và nếu mún làm được những thứ trên thì không học đồ họa là không biết được. Con về toán học thì vector và matrix là những thứ cơ bản trong game thôi, kiến thức toán áp dụng nhiều nhất là calculus, e học về lighting rồi thì chắc cũng gặp 1 vài ứng dụng của calculus rồi, nhưng đó vẫn chỉ là mức căn bản nhất. A không nghiên cứu về opengl nhưng cũng sưu tập tài liệu, đây là tài liệu a thấy chuẩn nhất về đồ họa của opengl Opengl

2 Likes

Nhờ mấy anh em mối biết làm game nó phức tạp hơn em nghỉ . Vậy nếu em theo cách 1 , sau này chuyển qua cách 1 thì có làm lại từ đầu k ?

Cái Learn OpenGL là em thấy nó dễ hiểu chứ ko bảo là đầy đủ chuẩn nhất
Cũng cảm ơn anh vì cho em biết hoá ra em biết ít hơn em nghĩ nhiều :smile:

1 Like

đồng ý với bạn này, mình cũng đi theo hướng này.

1 Like

mới bắt đầu thì C++ có khó quá ko anh :frowning:

Mình có 1 info graphics về chọn ngôn ngữ lập trình khá thú vị, các bạn xem thử
Các bạn nên nhấn vào ảnh 2 lần để xem lớn (không phải nhấn đúp) hoặc tải về vì hình lớn

1 Like

C++ => Java => C# => Unity 3D.

Không liên quan nhưng đảm bảo chủ topic có chơi SAMP :smile:

Hồi đó làm larp bên rgame mà bỏ gần 2 3 năm gì r

Thôi , học lập trình đi bro! Tôi cũng giống chú em này! . Nhưng tui chưa làm được gì , hehe. Rảnh thì tâm sự chơi ^^

Cậu ơi cho tớ hỏi : Tớ mới bắt đầu học OpenGl và vừa tài xong Cmake , ông ấy hướng dẫn cách để lưu sorcecode như hình


Nhưng mình không thể tìm được file glfw 3.4.0 trong file GLFW ( trong file include) , mình thử tự tạo ra xem sao thì kết quả là file không hợp lệ ( cậu xem hình thì sẽ thấy ), Cậu biết giúp mình với :smile:
<img src="//daynhauhoc.s3-ap-southeast-1.amazonaws.com/original/2X/b/bce3eb1aa57f40ec89264565f11f4a939e2cd459.png" width=“690” height=“387”

:smile: xin lỗi bạn cái này mình ko giúp đc vì ko thạo cmake
Mình dùng makefile cơ

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