cách lập trình game đơn giản là một trong những từ khóa được search nhiều nhất trên google về chủ đề cách lập trình game đơn giản. Trong bài viết này, topviec.vn sẽ viết bài viết Tổng hợp các cách lập trình game đơn giản mới nhất 2020.
Table of Contents
Tổng hợp các cách lập trình game đơn giản mới nhất 2020.
Chỉ dẫn lập trình game cho người chưa biết gì!

2 năm trước, tôi chỉ là một cậu học sinh trung học 17 tuổi, không phải biết gì về code. Nhưng tôi vẫn không ngại khám phá học hỏi và trong vòng vài tháng tôi đang cho ra trò chơi trước tiên của mình trên Steam.
Tính tới thời điểm hiện giờ, tôi đang làm ra hơn 10 tựa game khác nhau cho cả web, và mobile, với tổng cộng hơn 1,9 triệu lượt chơi.
thành ra, dù cho bạn ở bất cứ mức độ nào thì bạn vẫn đủ nội lực sử dụng trở thành lập trình viên game. 2 Năm trước, tôi nghĩ rằng điều đó là k thể, nhưng vẫn thử làm (cho biết). Đó cũng là điều khó khăn nhất mà tôi từng sử dụng nhưng kết quả nhận được thì vô cùng xứng đáng. Giờ đây, tôi nhận ra việc làm game giống như bất kỳ kỹ năng nào – bạn chỉ trở nên tốt hơn bằng cách thị phạm => fail => cải thiện
Những việc làm cuốn hút
-
Chuyên Viên CNTT – tăng trưởng software (Java)Trung Tâm Công Nghệ Thông Tin – bank BIDVHa NoiNegotiable
Java
-
Chuyên Viên Bảo Mật (Security)Trung Tâm Công Nghệ Thông Tin – bank BIDVHa NoiNegotiable
Security
có thể nói rằng tôi đang tự học mọi thứ mình biết và hiện giờ tôi sẽ tut lại cho bạn
Để phát triển một trò chơi, bạn phải trải qua 6 giai đoạn: thiết kế, Art, Code, Audio, hoàn thiện, ads
Trong bài viết này, tôi sẽ chia mỗi giai đoạn thành 2 phần:
- lời khuyên và bài học mà tôi vừa mới đúc kết được
- Resource cần thiết cho các bạn
1. design
lời khuyên
Bạn vừa mới có một ý tưởng tuyệt vời*
Nhưng làm thế nào để bạn đủ sức viết nó lên giấy?
Mỗi người sẽ có một hướng dẫn riêng. Một số có thể biên soạn tài liệu lên đến 60 trang. Những mọi người, giống như tôi, chỉ viết một trang ghi chú khá cẩu thả, chỉ đủ nội lực 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 đủ sức đưa ra ví dụ về những gì cần viết:
- Hook – mồi câu: Điều gì sử dụng cho ý tưởng trò chơi của bạn tuyệt vời? đối với tôi, đây là điều quan trọng nhất để viết ra. Một khi bạn nắm bắt được điều này, bạn đủ nội lực viết xuống ba điểm tiếp theo không khó khăn hơn nhiều. Trò chơi của bạn có phải là thứ click thích tư duy không? Hay gây tranh cãi? Là nó có một kết cục bất ngờ? Hoặc, nó đã sử dụng điều gì đó chưa bao giờ được thực hiện trước đây?
- Mechanic – cách chơi: Người chơi của bạn cần phải sử dụng gì? Và vì mục tiêu gì? Đây chính là phần gameplay của bạn. Nó đủ sức dễ dàng giống như mẹo nhấn QWOP để di chuyển trong trò chơi QWOP, hay click các nút để nói chuyện trong Mystic Messenger, tới hàng tấn combo wombo nút click trong Dwarf Fortress.
- Story – Cốt chuyện: Người chơi nên nhớ về cốt chuyện của trò chơi như thế nào? Những xúc cảm nào họ nên có khi hoàn thành trò chơi của bạn? Mỗi trò chơi đều có một câu chuyện. đủ sức là những con số trong 2048, hay xây dựng một đất nước trong Civilization, hoặc những tương tác lặng thầm trong Monument Valley. Hãy nghĩ về câu chuyện sẽ được người chơi cảm nhận trong trò chơi của bạn.
- Mood – cảm xúc: Trò chơi của bạn tạo ấn tượng gì? hình ảnh? Âm thanh? thích thú đầu tiên rất là quan trọng. thích thú trước hết sẽ cuốn người chơi vào trò chơi. Có lẽ, bạn sẽ cung cấp cho trò chơi của 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 hề là người duy nhất
Hãy tham gia game hackathon/jam. Bạn và những người tham dự không giống sẽ được giao Nhiệm vụ xây dựng trò chơi trong một khoảng thời gian ngắn. Trong suốt công cuộc đó, bạn sẽ được hỗ trợ từ những jammer không giống. 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 k biết từ khi đâu? Hãy thử Ludum Dare, một trong những game hackathon/jam to nhất.
- Giữ một danh mục các ý tưởng. Tôi và các nhà phát triển không giống luôn ghi lại ý tưởng của mình. Bằng cách đó, chúng ta có thể xem qua 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 vừa mới làm và viết ý tưởng đó xuống.
Resources
Để ghi Note:

- Notes for Mac (
)
- Google Docs (
)
- Trello
Để sử dụng việc:
- Google Drive
- GitHub (
) cần có git và Unity .gitignore.
- Unity Collab. easy nhất trong cả ba nhưng phiên bản miễn phí có nhiều hạn chế.
Game design:
- The Art of Game design bởi Jesse Schell
- Gamasutra
2. Art
lời khuyên
Nếu bạn đã lên kế hoạch cho ý tưởng của mình; xin chúc mừng, bạn đã làm được khá tuyệt vời! hiện giờ, bạn đủ sức tăng trưởng trò chơi thực sự.
(Nếu bạn không biết mẹo viết code, tôi khuyên bạn nên thực hiện bước 3, Code, trước Art)
k biết làm sao để để vẽ? Đừng sợ. tất cả những ai cũng đủ sức vẽ ra một thứ đẹp đẽ với 3 quy tắc hình ảnh cơ bản: màu sắc, hình dạng, chân trời.
UI
Hãy suy nghĩ về mẹo bạn có thể làm cho nó trở nên mới lạ – có một bảng phối màu riêng biệt, phông chữ, ảnh dạng và (các) biểu tượng – nhưng luôn luôn thực tế. Những thông tin quan trọng có thể đọc rõ và dễ hiểu hay không? Có gặp phải chủ đề xao nhãng do màu sắc / phông chữ / biểu tượng?
>>> Blog chia sẻ kiến thức code và tài liệu
2D animation
Bạn có hai lựa chọn:
- Bone-based. Vẽ ra từng khung hình của animation. đối với điều này, bạn nên dùng các sprite sheet với TexturePacker (hoặc nếu bạn đang sử dụng Unity, thì xài Sprite Packer).
- Bone-based. Vẽ từng chi tiết động, sau đó tạo hiệu ứng cho vị trí. đủ nội lực mau hơn, dễ dàng hơn và tiết kiệm bộ nhớ. Nếu bạn vừa mới thực hiện 2D và dùng Unity, hãy thử chỉnh sửa các trục sprites hoặc Anima2D.
Misc
Dưới đây là một số tips miscellaneous art tip vận dụng k chỉ trong trò chơi mà còn trong các software khác.
Tile patterned asset để tạo hình ảnh lát gạch và lưu bộ nhớ.
9-patch/9-slice asset với các đường viền k thể mở rộng được nhưng bên trong thì có thể xây dựng rộng để tạo các pic có thể xây dựng rộng và giúp cắt giảm bộ nhớ.
Đặt click thước của từng asset là bội số của 4 hoặc lũy thừa là 2 để cắt giảm bộ nhớ. Điều này lệ thuộc vào cách bạn đang nén asset.
Nếu bạn đang sử dụng Photoshop, hãy dùng “File > Export > Layers to Files” để xuất mau mỗi layer dưới dạng tệp (ví dụ: PNG, JPEG).
ResourcesTạo UI:
- Photoshop (
).
- Sketch.
cách tạo UI đẹp:
- Google Material thiết kế (
).
- Apple’s UI Do’s and Don’ts.
Tạo 2D assets:
- Photoshop (
).
- Gimp.
- Paint công cụ SAI. Nếu bạn thích style smooth/anime.
Tạo 3D assets:
- Blender (
). Cực kì mạnh nhưng khó học
- Maya. Tốt cho animation.
- Max. Tốt cho rendering.
Các asset miễn phí:
- Behance (
). Fonts + icons + các design không giống.
- KennyNL. HQ, UI/2D/3D art.
- Open Game Dev Art. library cực to các tài nguyên art của người dùng.
Cảm hứng:
- Dribbble. Các thiết kế từ designers.
- Behance (
). Các thiết kế từ dù là ai.
- itch.io (
). Những indie game háo hức.
3. Code
1
2
3
|
Debug.Log(“Oh boy! Time lớn code!! ^_^”);
|
Bước trước tiên của 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 áp dụng cho phép bạn viết mã).
Bước thứ hai? Lập trình.
Bạn k biết cách viết code? Đừng sợ. Bạn đủ nội lực học.
Những quy tắc cơ bản của CS này là quá đủ để khởi đầu. (Tất cả các ví dụ code ở đây là trong C ++, một trong những ngôn ngữ chính mà framework tăng trưởng game Unity 3D 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 giống như sau:
1
2
3
|
int i = 0;
|
Trong đó, int
là kiểu dữ liệu. i
là tên biến. Và = 0
gán 0 là giá trị biến.
Vậy đây là gì?
1
2
3
|
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 phổ biến: 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.
Bạn mong muốn biết thêm? Hãy nhìn thấy thêm tại đây.
2) If statement. Nếu câu lệnh đánh giá 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:
1
2
3
4
5
|
if (true) //true is always true!
doThings(); //I’m inside the if statement’s brackets; run me!
|
Nếu điều kiện không đúng, sẽ chuyển qua nghiên cứu các điều kiện else if
không giống nếu có:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
int i = 1;
if (i == 0)
doThings();
else if (i == 1)
doOtherThings(); //I’m gonna be run!
|
Hoặc, chỉ cần chạy một số mã khác với else
:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
int i = 60000;
if (i == 0)
doThings();
else
doOtherThings(); //I’m still gonna be run.
|
3) For/while loop. Trong khi các vòng lặp code thường xuyên 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.
1
2
3
4
5
6
7
|
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?
1
2
3
4
5
6
7
|
while (true)
doThings();
|
đối với vòng lập là while loop trong đó:
1
2
3
4
5
6
7
8
9
10
11
|
int i = 0;
while (i < condition)
doThings();
i++; //increment after doing things
|
Điều đó tương đương với:
1
2
3
4
5
6
7
|
for (int i = 0; i < condition; i++)
doThings();
|
4) Cấu trúc dữ liệu cơ bản: Chúng ta có dữ liệu và giờ thì cần phải nghiên cứu và dùng dữ liệu đó. tuy nhiên, ta cũng có thể lưu trữ dữ liệu đó thành một dạng cấu trúc – hay còn gọi là cấu trúc dữ liệu. Cấu trúc dữ liệu bạn nên biết là arrays, lists, queues, stacks, và sets.
ví dụ nhanh về Arrays:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
/*
Say you have numbers 0 through 9 that you want lớn store somewhere. You can store it in an array!
*/
int[]arr=newint[10];
/*
The [] brackets declare an array. We assign a 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 i=0; i<10; i++)
arr[i]=i; //We assign whatever i is lớn 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 thích 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 định dạng mã nhỏ giới thiệu một chuỗi mã lớn. Ví dụ: nếu bạn call:
1
2
3
|
EatBread();
|
và EatBread() trông giống như thế này:
1
2
3
4
5
6
7
8
9
|
void EatBread() //<—this is a 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 sử dụng điều gì đó không đúng, exception sẽ xuất hiện. Chúng là những lỗi màu đỏ phản ứng ở đó để 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 bạn nên biết:
6) Ngôn ngữ lập trình. Bạn sẽ viết code bằng ngôn ngữ nào? C ++? Javascript? C #? Mỗi ngôn ngữ được viết hơi không giống 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). Khi bạn biết những điều cơ bản, bạn sẽ phải tìm hiểu API cụ thể của tool trò chơi của mình. Về cơ bản, các API là một loạt các công cụ mạnh mẽ được bao bọc trong các lớp và chức năng đơn giản mà bạn đủ nội lực gọi. API giúp cuộc đời dễ dàng hơn. cách dễ dàng hơn.
8)Nhìn vào một dự án có dùng game engine mà bạn đang lựa chọn. Unreal và Unity đều có rất nhiều dự án miễn phí mà bạn có thể đọc qua. Điều này sẽ cho phép bạn tìm hiểu phương pháp mọi thứ kết hợp với nhau. không những thế, bạn đủ sức thiết lập ý tưởng trò chơi của riêng mình.
1
2
3
4
5
6
7
8
9
|
if (you.getThisFar()==true)
veryProud=true;
you.didIt(); //CURRENT MOOD: THE SHKEST
|
Lời khuyến khích: Tôi biết việc viết code là đáng lo lắng lúc đầu khi bạn gặp phải những rào cản liên tục fail. Nó k có nghĩa là bạn dở code mà đó là một thách thức, bạn sẽ phải fail để có được thành công.
Nhưng nó cũng như bất kỳ skill nào khác khi bạn sẽ tốn thời gian để học hỏi và thuần thục.
>>> Blog chia sẻ kiến thức học làm website
Hết phần 1- thường xuyên đón đọc phần 2 nhé!