Post date: Jul 4, 2011 4:29:00 PM
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.
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:
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.