Sử dụng C++ trong lập trình game?

Mấy anh chị cho em hỏi: ngành game hiện nay có nên sử dụng C++ để lập trình không? Em nghe nói kiến thức C++ dùng để lập trình game khác với kiến thức C++ học trong nhà trường, như vậy có phải không ạ? Nếu dùng C++ để làm thì nên học những kiến thức gì ạ :blush: em cảm ơn

6 Likes

Trong trường dạy là bản c++ củ lắm rồi, nếu có điều kiện thì nên học c++ 11, hoặc hơn là c++ 14. Còn c++ được ứng dụng rất nhiều trong game, cụ thể là dùng để viết engine (làm đồ họa sử dụng directx hoặc opengl), còn nếu xài engine có sẵn thì 1 trong những engine mạnh nhất hiện tại là Unreal 4 cũng sử dụng c++ để code

3 Likes

hmm, mình mới bd học làm game nhưng thấy ở VN có vẻ như toàn C# là chính thôi, lên mấy trang tuyển dụng chọn mục game thấy họ toàn Unity vs C# là chính, vs cả hồi trước mình có đọc đâu đó cũng nói thế
(các đàn anh đang làm game đính chính hay nhận xét đi ạ)

2 Likes

hóng cao nhân, em cũng không rành cái này :disappointed_relieved:

Định luyện acm để luyện c/c++ để sau này tiện dùng android ndk luôn, mà c/c++ thi acm dùng bản cũ thì có hữu dụng cho android ndk ko nhỉ

Em làm game với Unity rồi, giờ em đang học DirectX, em đang phân vân không biết có nên học không, sợ học sau này không ai tuyển làm :smile:

thực ra bạn học ngôn ngữ nào để làm game ko quan trọng (nhưng tất nhiên vẫn ưu tiên ngôn ngữ có hỗ trợ OOP), bạn cần học được các khái niệm kĩ thuật đặc thù mà game thường hay có, khác với ở trường dạy và làm phần mềm.
C++ theo cá nhân mình là 1 ngôn ngữ cung cấp khá nghèo nàn về OOP so với các ngôn ngữ thuần OOP NHƯNG c++ vẫn làm đc đa số các chức năng ko cung cấp sẵn bằng cách phối hợp các từ khoá và kĩ thuật lập trình (ví dụ C++ ko có abstract , interface,…). Đây cũng là 1 ưu điểm của c++ để học về OOP vì bạn sẽ được cho ít vật liệu (chức năng) nhưng học cách phối hợp để tạo ra nhiều thứ (hiểu được bản chất vấn đề)
mình giới thiệu cuốn sách khá hay về lập trình game, example code bằng C++ nên rất hợp với bạn
http://gameprogrammingpatterns.com/ Sách có bản free chính thức, kéo xuống để xem
Chúc bạn thành công

5 Likes

ACM đa phần là thuật toán thôi :smile: mình ít thấy dùng gì quá sâu của ngôn ngữ C++

1 Like

render engine thì mới bắt đầu hvọc có thể sử dụng SDL2 hoặc SFML2
physic engine thì Box2D

ngặt nỗi compile thư viện xong thì ko muốn viết code nữa rồi :joy:

còn 3D thì chừng nào làm trùm game 2D rồi hẵn vọc :joy:

1 Like

Dạ mạo muội hỏi anh sau khi đọc xong cuốn này thì em nên học gì tiếp ạ :blush:

Lập trình game bằng c++ thì có engine cocos bạn à, mình cũng tìm hiểu thấy hay lắm (:

1 Like

Bạn cứ thử suy nghĩ đi, dùng engine giống như bạn học 1 ngôn ngữ nhưng tư duy thì không có, còn học đồ họa thì bạn luyện tư duy. Mục đích của engine ra đời là giúp ngta tập trung vào gameplay nhiều hơn mà k cần nhũng kiến thức khác. Còn nếu mún theo game dev chuyên nghiệp thì khuyên nên học đồ họa. Tư duy bạn vững bạn có thể học bất cự engine nào cũng được, trước t cũng có xài Unity nhưng thấy nó vô vị quá, giờ đang học directx với tập tành vọc Unreal 4, nếu so Unity với Unreal thì Unity phải gọi Unreal là cụ, có điều engine này k phổ biến ở việt nam nên nếu tiếng anh k tốt thì k học được.

2 Likes

Nếu mún học C++ thì t khuyên bạn nên đọc cuốn này: https://drive.google.com/open?id=0B_YlRNys78SQa0U5X1E5TDFlRFU nó có 2 cuốn, t để chung trong drive đó, ngoài ra t cũng share drive của mình cho bạn, trên đó t tổng hợp rất nhiều tài liệu về game, thấy cuốn nào hợp với mình thì vọc

5 Likes

Đồng ý với bạn là nếu chưa biết gì mà sử dụng game engine luôn thg ko ptriển đc vì ko có tư duy. Nhưng mình thấy unity đâu có quá tệ như bạn nói.
Có 2 lí do. 1 là unity có cộg đồng lớn (dễ hỏi). 2 là nó có các khái niệm làm game cơ bản. Vd GameObject, component, … Dùng game engine + đọc sách giải thích sẽ dễ hình dung hơn (vd sách mình gthiệu ở trên). Nếu chỉ có 1 trog 2 thì rất khó cho ng mới hình dung vđề.
Nchung theo mình cứ kết hợp sử dụng 1 game engine sẽ tốt hơn

1 Like

Đọc 1 cuốn 10 lần hơn đọc 10 cuốn 1 lần
Ngẫm nghĩ và hoàn toàn hiểu đc cuốn này bạn sẽ hiểu ra nhiều điều và sẽ tự biết đọc gì tiếp, tìm gì tiếp.
Hãy tạo thói quen khi xin ai sách thì:
xem đánh giá cuốn sách
Đọc thử phần giới thiệu sách
Nếu thấy hợp vs mình thì đặt mục tiêu hoàn thành cuốn sách và cố hoàn thành
Tìm tiếp nếu cần
Đừng nên tìm quá nhiều rồi để đấy và ngỡ mình đọc r

4 Likes

Đánh giá 1 engine thì có nhiều tiêu chí lắm bạn, unity thường dùng để học hoặc làm những dự án game vừa và nhỏ, bằng chứng là rất ít hoặc nói chính xác hơn là k có siêu phẩm nào được tạo ra từ unity. Còn về cộng đồng thì cộng đồng Unreal engine lớn hơn unity rất rất nhiều nhưng chủ yếu là cộng đồng nước ngoài sử dụng tiếng anh là chính. Nếu ai đã từng tìm hiểu với Unreal bảo đảm họ sẽ chả mún dùng lại Unity nữa, vì Unity làm rất tù, chưa phát huy hết khả năng của 1 engine 3D.

2 Likes

Dạ em cảm ơn :blush:

1 Like

“siêu phẩm” Hearthstone thì sao :joy: Tiêu chí siêu phẩm phải là game AAA hay siêu phẩm là số tiền thu được từ game? :joy:

2 Likes

đang gặp vấn đề giữa action và physics trong cocos2dx, ai biết chỉ mình với.
khi đang chạy action moveTo mà mình di chuyển 1 sprite tới tác động vào nó thì nó không đẩy ra mà nó đâm vào một chút rồi mới đẩy.
không biết xử lý sao để di chuyển tới là nó đẩy ngay cái sprite đang chạy action đó ra chứ k đâm vào rồi mới đẩy

1 Like

bạn nên theo c# hay java đi c++ khó lập trình game lắm, mình đang hối hận nè

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