Tài liệu lập trình game?

0
62

Tài liệu lập trình game? Ngôn ngữ lập trình game? Có rất nhiều ngôn ngữ mà nhiều người mới bắt đầu sẽ “bị lạc”trong đó và không bao giờ học được điều gì. Dưới đây là những ngôn ngữ thích hợp nhất bạn nên học khi phát triển game.

C

Đây là một trong những ngôn ngữ được ưa thích nhất bởi các lập trình viên. Trong nó có vẽ rất phức tạp, nhưng nó thực sự rất logic. Trong những năm 1990 và đầu những năm 2000, hầu hết các trò chơi được viết bằng C. Marathon, Duke Nukem 3D, Quake 3, và hàng tá những game khác. Mặc dù ngày này C ít được quan tâm nhưng vẫn là một lựa chọn hoàn toàn tốt.

Một trong những phần khó khăn nhất để hiểu về các ngôn ngữ lập trình C là quản lý bộ nhớ và con trỏ. Đối với người mới bắt đầu, điều này có thể rất khó hiểu nên khi nhảy thẳng vào C cho trò chơi đầu tiên của bạn, sẽ rất lâu để bạn tạo ra trò chơi của mình. Mặc dù vậy cũng có những điều tuyệt vời khi học nó, là một khi bạn biết nó, bạn có thể tìm hiểu hầu như bất kỳ ngôn ngữ mới nào một cách nhanh chóng.tai-lieu-lap-trinh-game2

C++

Ngày nay, thay vì viết các trò chơi trong C hầu hết các game “chuyên nghiệp” được viết trên nền tảng C++ (game engine). Sự khác biệt cơ bản giữa C và C++ là C++ là một ngôn ngữ “hướng đối tượng”. Lập trình hướng đối tượng (OOP) là một chủ đề rất rộng vượt ra ngoài phạm vi của bài viết này, nhưng đơn giản là không giống một ngôn ngữ thủ tục như C, C++ là nơi tất cả các hành động có thể thực hiện và xử lý được tổ chức thành một danh sách lớn gọi là các “hàm”, lập trình hướng đối tượng cung cấp một cách để cấu trúc tất cả những hành động và quá trình thành một hệ thống các”classes” với các dữ liệu và các hàm liên quan chặt chẽ với nhau.

Trong khi OOP là thứ tốt nhất để các lập trình viên tiếp cận, nhưng có một điều bạn phải cẩn thận với C++. Có rất nhiều thứ đang xảy ra ở đằng sau scene và đôi khi ứng dụng của bạn có thể hành xử khác nhau và việc gỡ lỗi làm cho bạn như đang sống trong địa ngục. C++ cũng là một ngôn ngữ rất phức tạp. Một khi bạn biết được multiple inheritance, templates, operator overloading… bạn sẽ nhanh chóng hiểu ra lý do tại sao một số người không thích C++ và muốn sử dụng C. Nhưng nếu bạn không cần phải sử dụng tất cả các tính năng này thì bạn có thể chìm trong sự “ngọt ngào” của C ++.

Objective-C / Objective-C ++

Objective-C là những gì được sử dụng khi bạn phát triển ứng dụng Cocoa cho Mac OS X và iOS. Objective-C cũng có khả năng hướng đối tượng. Nó là một ngôn ngữ rất “sạch sẽ” và thường được sử dụng bởi người mới bắt đầu kể từ khi Cocoa và Objective-C cung cấp những cách đơn giản để làm những điều phức tạp, hoặc những thứ đó sẽ là phức tạp nếu làm bằng ngôn ngữ khác. Bạn có thể nói rằng ngôn ngữ này cũng giống như một phiên bản của OOP C, mà không có sự nguy hiểm của C++.tai-lieu-lap-trinh-game1

Objective-C++ là một superset của Objective-C có thể tương tác hoàn hảo với C++ code. Điều này có nghĩa là khi bạn sử dụng Objective-C++, bạn có thể sử dụng C, C++, và cú pháp Objective-C trong cùng một chương trình. Điều này có lợi thế rất lớn, cho phép bạn kết hợp một cross-platform C++ hiện có với một Objective-C để tương tác với Cocoa trong Mac OS X hay iOS. Đó là một tính năng rất mạnh mẽ.

Java

Java một ngôn ngữ phổ biến vì cho phép các nhà phát triển viết một chương trình dựa trên Java (gọi là applet) và nhúng nó vào một trang web. Kể từ đó Java đã trưởng thành và lan rộng để trở thành một ngôn ngữ phổ biến để viết các ứng dụng trên cở sở sever, đối với các trò chơi hiện nay, có cũng không phổ biến lắm. Đặc điểm lớn nhất của Java là khả năng nền tảng chéo, để bạn có thể viết một chương trình một lần, và nó sẽ làm việc trên nhiều nền tảng. Đây là một ngôn ngữ thú vị để tạo ra những trò chơi đa nền tảng mà không cần phải đối phó với porting. Nhưng nếu bạn muốn tạo ra một trò chơi 3D phức tạp, thì đừng sử dụng Java. Một lý do đơn giản là vì không có nhiều người thực hiện, có nghĩa là bạn sẽ có ít sự trợ giúp cũng như những code cho bạn tham khảo. (Java có thể được sử dụng cho các trò chơi 3D đơn giản. Runescape là một ví dụ về điều này.)

Python với pygame hoặc Pyglet

Một ngôn ngữ cũng khá tốt đối với newbie hiện nay là Python và các thư viện trò chơi Pygame và Pyglet. Python là một ngôn ngữ khá đơn giản và nó đủ mạnh mẽ để viết các trò chơi thực có chất lượng. Khi bạn bắt đầu với một ngôn ngữ như Python, nó sẽ là một bước đệm tốt cho bạn khi chuyển sang C / C ++ / v.v… sau này. Hãy tìm kiếm trên Google về Python và Pygame hoặc hướng dẫn Pyglet, nó sẽ khá hữu ích trên con đường phát triển của bạn.

 

 

Facebook Comments