Blog công nghệ

Viết Game cho di động, có khó không?

Viết Game cho di động, có khó không?

Mời xem thêm: Flappy Bird- Hiện tượng game gây sốt trên toàn cầu

Cơn sốt Flappy Bird vẫn chưa có dấu hiệu dừng lại. Hơn 50 triệu lượt tải về và hàng chục triệu người chơi tích cực đã mang lại cho tác giả của nó hàng tỷ đồng mỗi ngày. Ngoài doanh thu khủng, niềm tự hào cho Việt Nam, chú chim này cũng là liều thuốc kích thích mạnh mẽ cho những người yêu thích lập trình game, đặc biệt là mảng game di động đang rất phát triển hiện nay. Nếu biết ứng dụng tiền tỷ này đã được viết trong thời gian rảnh rỗi của tác giả, chỉ khoảng 2, 3 ngày, với đồ họa và cách chơi không thể đơn giản hơn, hẳn nhiều người cũng sẽ muốn trang bị cho mình một chút kiến thức về lập trình. Vậy, viết một game/app cho điện thoại có dễ dàng không?

Viết Game cho di động, có khó không?-image-1391869342807

Trước hết thì việc viết một ứng dụng cho điện thoại không quá khó, một ứng dụng dạng “Hello World” (Giống như "Hello" là câu chào đầu tiên khi bạn học tiếng Anh ) có thể được tạo bởi bất cứ ai, chỉ cần một công cụ và những câu lệnh cơ bản (thậm chí là có sẵn, chỉ việc copy/paste rồi cho chạy). Tuy nhiên, để có một ứng dụng “dùng được”, tất nhiên cần nhiều hơn thế, dưới đây là một vài kiến thức cần thiết để có thể viết nên một trò chơi, được đúc rút ra từ kinh nghiệm của những lập trình viên đang khá thành công hiện nay.

Một chút kiến thức về game.

Tất nhiên một người không chơi game thì sẽ chẳng biết gì về nó chứ chưa nói đến việc “viết”. Bạn nên chơi qua nhiều loại game để biết thể loại mình yêu thích (hoặc có thể sẽ được nhiều người yêu thích).

Một so sánh khá hay cho rằng, game đơn giản là một vòng lặp vô tận, trong vòng lặp đó, bạn vẽ nên các nhân vật, 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. Như vậy, càng am hiểu thì bạn càng tạo ra được nhiều sự kiện, game càng hấp dẫn hơn.

Biết một ngôn ngữ lập trình.

Viết Game cho di động, có khó không?-image-1391869232393

Từ “lập trình” nghe có vẻ khá cao siêu, tuy nhiên không quá khó để nắm bắt nó. Nếu đã viết được một chương trình “Hello World”, bạn hoàn toàn có thể tìm hiểu thêm để năm chắc về ngôn ngữ đó. Nhưng một điều quan trọng hơn, đó chính là “tư duy lập trình”, có thể gọi cách bạn xử lý các bài toán xuất hiện trong quá trình viết game.

Nếu bạn chỉ có nhu cầu viết các game/ứng dụng đơn giản, việc ‘tư duy” này cũng không quá khó khăn. Còn việc học ngôn ngữ lập trình, bạn có thể lựa chọn một trong những ngôn ngữ dưới đây tùy thuộc nhu cầu và thiết bị của mình.

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.

C#: Dùng viết game cho Windows mobiles, Windows Phone 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 lập trình viên đề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 nhiều nền tảng.

Kiến thức về đồ họa.

Viết Game cho di động, có khó không?-image-1391868913617

Kiến thức về lập trình quan trọng bao nhiêu, thì đồ họa cũng vậy, thậm chí còn quan trọng hơn nhiều, đặc biệt trong những game có bối cảnh phức tạp, có nhân vật chuyển động (nếu bạn để ý thì sẽ thấy, thực sự thì nhân vật không di chuyển nhiều, mà chỉ có khung cảnh, background thay đổi). Đồ họa đẹp sẽ khiến trò chơi hấp dẫn hơn, không những thế, nó còn ảnh hưởng đến cả quá trình viết code, xử lý các diễn biến trong game.

Tuy nhiên, viết một game đơn giản thì đồ họa cũng chẳng cần cầu kỳ, sự thành công của các game do Nguyễn Hà Đông viết là một ví dụ, chúng chỉ sử dụng đồ họa 8-bit, dạng đồ họa của những năm 90.

Kiến thức về Toán học, Vật lý.

Điều này không quá quan trọng, nhưng không thể thiếu, ngoài việc giúp tư duy lập trình được tốt hơn, nó sẽ giúp bạn có thể mô tả chuyển động của nhân vật chuẩn xác và “mượt” hơn. Đó chỉ là một ví dụ đối với thể loại game có chuyển động. Mỗi thể loại game sẽ cần áp dụng các kiến thức về Toán học và Vật lý khác nhau. Những kiến thức này bạn có thể dễ dàng thu nạp từ các sách phổ thông, Google cũng là một ý kiến không tồi.

Viết Game cho di động, có khó không?-image-1391869045471

Một ý tưởng tốt.

Khi đã có nền tảng về những yếu tố trên, một ý tưởng tốt là yếu tố quyết định để tạo ra một ứng dụng “dùng được”.

Ý tưởng nhiều khi đơn giản đến không tưởng, nhưng lợi nhuận mang lại không hề nhỏ. Flappy Bird- đưa chú chim qua khe kiếm được cả tỷ đồng mỗi ngày, Paper Toss (trò chơi ném cục giấy vào thùng)- khá “hot” hồi năm 2010 kiếm được nửa triệu đô một tháng. Còn ngớ ngẩn hơn là những game như Got Cash, I’m Rich hay 100 Dollars App, những game có mức giá ngất ngưởng mà không có tác dụng gì, ngoài việc chứng mình sự giàu có của người mua nó.

Kết

Viết Game cho di động, có khó không?-image-1391868805903

Trên đây là những điều cơ bản, cần có để có thể viết một ứng dụng/ game. Người viết hy vọng bạn sẽ có thêm hứng thú và niềm đam mê cho lập trình ứng dụng trên di động sau bài viết này.

Bạn có thể tự học lập trình từ trang http://www.codecademy.com/, còn nếu thực sự muốn theo đuổi, muốn kiếm tiền từ công việc trên, hãy tham gia học một khóa lập trình ứng dụng cho iOS, Android hay Windows Phone để được hướng dẫn tận tình hơn. Hy vọng chúng ta sẽ có thật nhiều những Nguyễn Hà Đông tiếp theo.

Đọc thêm: Những điều chưa tiết lộ về công việc của một lập trình viên

Lưu Quý