Hướng dẫn lập trình game cho người mới – sinh viên mới ra trường chưa biết gì

Những yêu cầu kỹ năng cần có của lập trình Game pc di động.Hướng dẫn lập trình game, lập trình trò chơi là một cách tuyệt vời để học cách viết mã. Nó sẽ dạy cho bạn những điều cơ bản về lập trình trò chơi và giúp bạn tạo ra các trò chơi của riêng mình.

Bạn đang xem: lập trình game

Dù cho bạn ở bất kể cấp độ nào thì bạn vẫn có thể làm trở thành lập trình viên game. Đây là một nguồn tuyệt vời cho những người mới bắt đầu muốn học những điều cơ bản về lập trình trò chơi. Cuốn sách này được viết cho tất cả những người muốn tìm hiểu về phát triển trò chơi, nhưng không biết bắt đầu học từ đâu hoặc muốn biết thêm thông tin về chủ đề này. Cuốn sách này cung cấp một bộ sưu tập các chủ đề khác nhau từ các quan điểm khác nhau, bao gồm thiết kế, mã hóa và gỡ lỗi. Tác giả sẽ trình bày mọi thứ bạn cần để trở thành một lập trình viên giỏi, từ các khái niệm và lý thuyết cơ bản cho đến các kỹ năng thực tế như sử dụng thư viện, kiểm tra và gỡ lỗi mã của bạn.

Có thể nói rằng tôi đã tự học mọi thứ mình biết và hiện thời tôi sẽ hướng dẫn lại cho bạn. Dưới đây là chia sẽ về tri thức để tự học lập trình Game cho bạn tham khảo!

Hướng dẫn lập trình game cho người mới – sinh viên mới ra trường chưa biết gì

 

Để phát triển một trò chơi, bạn phải trải qua 6 thời kỳ: Thiết kế, Art, Code, Audio, hoàn thiện, quảng cáo

1. Thiết kế

Lời khuyên

Bạn đã sở hữu một ý tưởng tuyệt vời*

Nhưng làm thế nào để bạn có thể viết nó lên giấy?

Mỗi người sẽ có một cách riêng. Một số có thể soạn tài liệu lên đến 60 trang. Những người khác, giống như tôi, chỉ viết một trang ghi chú khá cẩu thả, chỉ có thể một mình hiểu. Thành thật thì tôi không biết điều gì tốt nhất cho bạn nhưng tôi có thể mang ra gợi ý về những gì cần viết:

  • Hook – mồi câu:Điều gì làm cho ý tưởng trò chơi của các bạn tuyệt vời? So với tôi, đây là điều trọng yếu nhất để viết ra. Một khi bạn nắm bắt được điều này, bạn có thể viết xuống ba điểm tiếp theo đơn giản hơn nhiều. Trò chơi của các bạn có phải là thứ kích thích tư duy không? Hay gây tranh cãi? Là nó có một kết cục ngạc nhiên? Hoặc, nó đang làm điều gì đó chưa lúc nào được thực hiện trước đó?
  • Mechanic – Lối chơi: Người chơi của các bạn cần phải  làm gì? Và vì mục đích gì? Đây chính là phần gameplay của các bạn. Nó có thể đơn giản như cách nhấn QWOP để di chuyển trong trò chơi QWOP, hay bấm các nút để trò chuyện trong Mystic Messenger, tới hàng tấn combo wombo nút bấm trong Dwarf Fortress.
  • Story – Kịch bản: Người chơi nên nhớ về cốt truyện của trò chơi như vậy nào? Những xúc cảm nào họ nên có khi hoàn thiện trò chơi của các bạn? Mỗi trò chơi đều có một mẩu chuyện. Có thể là những con số trong 2048, hay xây dựng một quốc gia trong Civilization, hoặc những tương tác thầm lặng trong Monument Valley. Hãy nghĩ về mẩu chuyện sẽ được người chơi cảm nhận trong trò chơi của các bạn.
  • Mood – xúc cảm: Trò chơi của các bạn tạo ấn tượng gì? Hình ảnh? Tiếng động? Ấn tượng trước nhất rất là trọng yếu. Ấn tượng trước nhất sẽ cuốn người chơi vào trò chơi. Có vẻ, bạn sẽ phân phối cho trò chơi của các bạn một sự rung cảm retro với đồ họa pixel và âm nhạc chiptune.

Bạn gặp khó khăn để nghĩ ra một ý tưởng hay ho, đừng lo bạn không phải là người duy nhất…

Hãy tham gia game hackathon/jam. Bạn và những người tham gia khác sẽ được giao nhiệm vụ tạo ra trò chơi trong một thời gian ngắn. Trong suốt quá trình đó, bạn sẽ được trợ giúp từ những jammer khác. Bạn sẽ cảm thấy vô cùng phấn khích và sáng tạo cứ thế tuôn ra thôi. Nếu không biết xuất phát điểm từ đâu? Hãy thử Ludum Dare, một trong những game hackathon/jam lớn nhất.

  • Giữ một danh sách các ý tưởng. Tôi và các nhà phát triển khác luôn ghi lại ý tưởng của mình. Bằng cách đó, tất cả chúng ta có thể tham khảo lại khi bị bí ý tưởng mới.
  • Khi nảy ra ý tưởng mới, hãy dừng mọi thứ bạn đang làm và viết ý tưởng đó xuống.
Xem Thêm  Hướng dẫn toàn diện Lập trình viên là gì? Những yêu cầu khi làm nghề lập trình viên

Resources

Để làm việc:

  • Google Drive
  • GitHub (👍)
  • Unity Collab.

Game thiết kế:

2. Art 🖌

Lời khuyên

Nếu bạn đã lên plan cho ý tưởng của mình; xin chúc mừng, bạn đã làm được khá tuyệt vời! Lúc này, bạn có thể phát triển trò chơi thực sự.

(Nếu bạn không biết cách viết code, tôi khuyên chúng ta nên thực hiện bước 3, , trước )

Không biết làm thế nào để vẽ? Đừng sợ. Dù là ai cũng có thể vẽ ra một thứ đẹp đẽ với 3 phép tắc hình ảnh cơ bản: màu sắc, hình dạng, không gian.

UI

Hãy tư duy về cách bạn có thể làm cho nó trở nên mới lạ – có một bảng phối màu tách biệt, phông chữ, hình dạng và (các) biểu tượng – nhưng vẫn thực tiễn. Những thông tin trọng yếu có thể đọc rõ và dễ hiểu hay không? Có gặp phải vấn đề phân tâm do màu sắc / phông chữ / biểu tượng?

2D animation

Bạn có hai lựa chọn:

  • . Vẽ ra từng khung hình của animation. So với điều này, chúng ta nên sử dụng các sprite sheet vớiTexturePacker

     

    (hoặc nếu bạn đang sử dụng Unity, thì xài Sprite Packer).

  • . Vẽ từng cụ thể động, sau đó tạo hiệu ứng cho vị trí. Có thể nhanh hơn, đơn giản hơn và tiết kiệm bộ nhớ lưu trữ. Nếu bạn đang thực hiện 2D và sử dụng Unity, hãy thử chỉnh sửa các trục sprites hoặcAnima2D

     

    .

Misc

Dưới đây là một số mẹo miscellaneous art tip ứng dụng không chỉ trong trò chơi mà còn trong các PM khác.

patterned asset để tạo hình ảnh lát gạch và lưu bộ nhớ lưu trữ.

asset với các đường viền không thể mở rộng được nhưng bên trong thì có thể mở rộng để tạo các hình ảnh có thể mở rộng và giúp tiết kiệm bộ nhớ lưu trữ.

Đặt kích thước của từng asset là bội số của 4 hoặc lũy thừa là 2 để tiết kiệm bộ nhớ lưu trữ. Điều này phụ thuộc vào cách bạn đang nén asset.

Nếu bạn đang sử dụng Photoshop, hãy sử dụng “File > Export > Layers to Files” để xuất nhanh mỗi layer dưới dạng tệp (ví dụ: PNG, JPEG).

Resources 🎁

Tạo UI: Photoshop, Sketch.

Cách tạo UI đẹp:

Tạo 2D assets:

  • Photoshop (👍).
  • Gimp.
  • Paint Tool SAI.

Tạo 3D assets:

  • Blender (👍).
  • Maya.
  • Max.

Các asset miễn phí:

  • Behance(👍).
  • KennyNL.
  • Open Game Dev Art.

Cảm xúc:

  • Dribbble.
  • Behance(👍).
  • itch.io(👍).

3. Code

Debug.Log(“Oh boy! Time to code!! ^_^”);

Bước trước nhất của các bạn? Quyết định về một game engine và một IDE (Integrated Development Environment  – về cơ bản, nó là một ứng dụng cho phép bạn viết mã).

Bước thứ hai? Lập trình.

Bạn không biết cách viết code? Đừng lo ngại. Bạn có thể học.

Những phép tắc cơ bản của CS này là đủ để khởi đầu. (Toàn bộ các ví dụ code ở đây là trong ₵ ++, một trong những ngôn từ chính mà framework phát triển game Unity 3D sử dụng.)

1) Kiểu dữ liệu (Data type) và biến (variable). Bản chất của Code chính là Data. Data đó được lưu trữ trong các biến. Bạn có thể khai báo một biến như sau:

int ι = 0;

Trong số đó, int là kiểu dữ liệu. ι là tên biến. Và  = 0 gán 0 là giá trị biến.

Vậy đây là gì?

string s = "pusheen is best cat";

string là kiểu dữ liệu.  s  là tên biến. Và  “pusheen is best cat” là giá trị biến.

Một số kiểu dữ liệu thông dụng:  int  và  long là số nguyên. `float và double là số thập phân. Và chuỗi (string) là bất kỳ câu nào.

2) If statement. Nếu câu lệnh nhận xét nếu một điều kiện nhất định là đúng. Nếu có, thì code bên trong câu lệnh  if  sẽ được chạy:

if (true){ //true is always true!
    doThings(); //Ι'ɱ inside the if statement's brackets; run me!
}

Nếu điều kiện không đúng, sẽ chuyển qua nhận xét các điều kiện else ifkhác nếu có:

int ι = 1;
if (ι == 0){
 doThings();
}
else if (ι == 1){
 doOtherThings(); //Ι'ɱ gonna be run!
}

Hoặc, chỉ cần chạy một số mã khác với  else:

int ι = 60000;
if (ι == 0){
doThings();
} else {
doOtherThings(); //Ι'ɱ still gonna be run.
}

3) For/while loop. Trong lúc các vòng lặp code tiếp tục khi một điều kiện nhất định vẫn đúng, khi điều kiện là sai, vòng lặp while loop sẽ thoát.

while (someBool == true){ //condition
 doThings(); //We'll keep doing things until someBool is false
}

Vòng lặp while loop này sẽ chạy trong bao lâu?

while (true){
doThings();
}

So với vòng lập là while loop trong đó:

int ι = 0;
while (ι < condition){
  doThings();
  ι++; //increment after doing things
}

Điều đó tương tự với:

for (int ι = 0; ι < condition; ι++){
  doThings();
}

4) Cấu trúc dữ liệu cơ bản: Tất cả chúng ta có dữ liệu và giờ thì cần phải nhận xét và sử dụng dữ liệu đó. Ngoài ra, ta cũng có thể lưu trữ dữ liệu đó thành một dạng cấu trúc – hay hay còn gọi là cấu trúc dữ liệu. Cấu trúc dữ liệu chúng ta nên biết là arrays, lists, queues, stacks, và sets.

Ví dụ nhanh về Arrays:

/*
Say you have numbers 0 through 9 that you want to store somewhere. You can store it in an array!
*/
int[] arr = new int[10]; 
/*
The [] brackets declare an array. We assign α new array to arr of size 10 - that means it can hold 10 elements. Arr now looks like this:
arr = [ 0 0 0 0 0 0 0 0 0 0 ]
*/
for (int ι=0; ivàlt;10; ι++){
    arr[i]=ι; //We assign whatever ι is to the the ith index of arr.
//Did you know data structures' indices start at 0? 😲 
}
/*
After the for loop, our array data structure should look like this!
arr = [ 0 1 2 3 4 5 6 7 8 9 ]
*/

5) Functions và exceptions: Các Function về cơ bản là một dòng mã nhỏ mô tả một chuỗi mã lớn. Ví dụ: nếu bạn call:

EatBread();

và EatBread() trông như vậy này:

void EatBread(){ //<---this is α function.
breadAte=true;
 printf("I CAN FEEL THE CARBS COURSING THROUGH MY BODY");
}

Sau đó, lệnh gọi  EatBread() thực sự là một cuộc gọi đến hai câu lệnh trong EatBread()  function.

Nếu bạn làm điều gì đó không đúng, exception sẽ xuất hiện. Chúng là những lỗi màu đỏ giận dữ ở đó để cho bạn biết hãy revise lại nó.

Để tìm hiểu thêm về các function, hãy vào đây; cho trường hợp exception, hãy vào đây.

Sau đó, có những thứ khác chúng ta nên biết:

6) Ngôn từ lập trình. Bạn sẽ viết code bằng ngôn từ nào? ₵ ++? Javascript? ₵ #? Mỗi ngôn từ được viết hơi khác nhau và có thể cho phép bạn làm những việc khác nhau.

7) API (Giao diện lập trình ứng dụng)( Xem thêm API là gì?). Khi bạn biết những điều cơ bản, bạn sẽ phải tìm hiểu API rõ ràng và cụ thể của dụng cụ trò chơi của mình. Về cơ bản, các API là một loạt các dụng cụ mạnh mẽ được bao trùm trong các lớp và tính năng đơn giản mà bạn có thể gọi. API giúp cuộc sống đơn giản hơn. Cách đơn giản hơn.

8) Nhìn vào một dự án có sử dụng game engine mà bạn đã chọn. Unreal và Unity đều có rất nhiều dự án miễn phí mà bạn có thể tham khảo. Điều này sẽ cho phép bạn tìm hiểu cách mọi thứ kết phù hợp với nhau. Ngoài ra, bạn có thể xây dựng ý tưởng trò chơi của riêng mình.

if (you.getThisFar()==true){
veryProud=true;
you.didIt(); //CURRENT MOOD: THE SHKEST 
}

Tôi đã viết mã trong một thời gian dài và đã gặp một số thách thức trên đường đi. Tôi không sợ nó, nhưng tôi biết rằng không có gì đảm bảo rằng nó sẽ thành công.

Mặc dù phần này không quan trọng bằng các phần trước, nhưng điều quan trọng vẫn là tạo ra một phần giới thiệu tốt về chủ đề phần này. Nó nên được viết theo cách khiến bạn cảm thấy thoải mái và tự tin khi viết câu đầu tiên về chủ đề này. Điều này giúp làm cho người đọc của bạn cảm thấy như họ đã đọc một cái gì đó về chủ đề phần này trước khi bạn bắt đầu viết phần giới thiệu của mình trên đó.

Nhưng nó cũng như bất kỳ tuyệt kỹ nào khác khi bạn sẽ tốn thời gian để học hỏi và thuần thục.

Aptech-vietnam.vn sẽ vẫn còn update thêm thông tin về tự học lập trình Game cho các bạn sau nhé!

Xem thêm các nội dung khác thuộc thể loại: Kiến thức lập trình

Xem Thêm  Khái niệm Lập trình là gì? Các loại ngôn ngữ lập trình phổ biến