Game là gì?

Nhìn chung, khi chưa từng biết qua lập trình game, chúng ta thường hay đặt những câu hỏi: lập trình game là như thế nào? Có giống lập trình ứng dụng không? Có khó không? Có đòi hỏi những kỹ thuật gì đặt biệt không ? ...

Câu trả lời của tôi là: game cũng chỉ là một ứng dụng, và nó cũng như bao ứng dụng khác. Khi viết một ứng dụng, bạn có thể bắt đầu từ hàm main, hoặc dùng IDE sinh code tự động để hổ trợ. Game cũng vậy. Bạn cũng có thể bắt đầu viết game từ hàm main, hoặc dùng các engine hổ trợ.

Đứng về khía cạnh lập trình, hay từ chủ quan của tôi, game đơn giản là một vòng lặp vô tận. Trong vòng lập đó, bạn vẽ, bạn xử lý các diễn biến của game, xử lý sự kiện tương tác từ người chơi. Vậy là đủ cho một game. Tuy nhiên, để làm game cho mục đích thương mại, đòi hỏi bạn nhiều hơn thế.

Một cách nhìn khác, game là một cuốn phim có tương tác. Nếu như một bộ phim cần nhiều thứ như kịch bản tốt, dàn dựng hay, hậu kỳ, kiểm duyệt, quãng bá, ... thì game cũng vậy. Game cũng cần một nội dung hay (kịch bản), coding tốt (dàn dựng, hậu kỳ), kiểm soát chất lượng (kiểm duyệt), quãng bá... Nếu một phim thành công được đánh giá qua doanh thu, thì game cũng vậy. Tuy nhiên, khi mới bắt đầu, thì doanh thu, lợi nhuận, ... cần được gạt ra khỏi tư tưởng của mình, để có đủ tỉnh táo tập trung vào chuyên môn.

Lập trình game bằng ngôn ngữ nào?


Như mọi ứng dụng khác, bạn có thể lập trình game bằng mọi ngôn ngữ. Tùy theo nhu cầu, sở trường mà bạn có thể chọn một ngôn ngữ nào đó để làm game. Tuy nhiên, hiện nay có một vài xu thế như sau:

  • Java: thường dùng để viết game cho Mobile - các dòng phone hổ trợ J2ME, hoặc viết game cho Android. Ít khi dùng để viết game cho PC
  • C#: khi nhắc tới C#, ta có thể nghĩ ngay đến XNA, và gắn liền với thương hiệu Microsoft. Dùng viết game cho windows mobiles hoặc PC.
  • Javascript: dùng cho môi trường web
  • Objective C: Dùng cho iOS như máy MAC, iPhone, iPad.
  • C/C++: với sự lâu đời cũng như được sự hưởng ứng rộng rãi từ hầu hết các chương trình đào tạo đại học, C/C++ được xem là ngôn ngữ cơ bản của mọi ngôn ngữ lập trình, và có lẽ ít nhất một lần trong đời thì mỗi programmer đều từng đụng đến nó. Do đó, C/C++ cũng là một ngôn ngữ khá được ưa chuộng trong lập trình game ngày nay, với khả năng thực thi trên khác nhiều platform: Windows, Linux, MacOS, Android, iphone/iPad, Symbian, Brew, Meegoo, ...

Xin lưu ý là ta không nên đánh đồng C/C++ với Visual C, hay Turbo C, hay Visual studio. VC, TC, VS là những IDE, còn C/C++ là ngôn ngữ lập trình. Ta có thể code C/C++ hoàn toàn bằng Nodepad, và dùng các trình biên dịch khác nhau để build.

Trong nội dung bài này, tôi cũng dùng C/C++ trên môi trường Visual studio 2010 để minh họa. Các bạn có thể download bản express tại đây. Không cần thiết phải crack.

Lập trình game cần những kiến thức gì?


Đã là lập trình hiển nhiên cần phải biết lập trình, tư duy lập trình. Không nhất thiết bạn phải xuất sắc; biết ít, làm ít, biết nhiều, làm nhiều.

  • Một chút kiến thức kỹ năng về game. Hay nói cách khác, biết chơi game, và từng chơi game.
  • Biết một ngôn ngữ lập trình nào đó.
  • Biết một ít kiến thức về toán, vật lý (google it, nếu cần)
  • Một số kiến thức về đồ họa 2D, 3D.

Post a Comment Blogger

 
Top