Đôi khi các bạn đã thành thạo về lập trình game, về sử dụng engine nhưng lại băn khoăn làm sao để làm ra một game hay, bố trí các bước như nào cho hợp lý hay là implement cái gì trước cái gì sau. Thì về cơ bản cái gì cũng có các principle của nó và game cũng vậy, hôm nay mình chia sẻ với anh em 10 Step cơ bản để qua đó dần dần tạo ra các 2D game ngon ngon cho riêng mình nhé. **Step 1: Implement đầy đủ các cơ chế di chuyển, action cơ bản** Với một game 2D hay game nói chung việc đầu tiên tất nhiên là thiết kế nhân vật, cốt truyện nhưng đấy là phạm trù của bên design, mình k nhắc tới ở đây. Ở đây thì mình sẽ coi như mọi resource là đã có sẵn rồi, và chỉ xét đến khía cạch lập trình. Nếu như ngay từ đầu với idea và độ mơ mộng thì đúng là sẽ có cả tỉ thứ mà ae nghĩ ra, hoặc muốn implement ngay. Nhưng hay bình tĩnh đã , như title của step 1 mình nói ở trên, hãy imlement các cơ chế di duyển cơ bản cho nhân vật của bạn (WASD) để nv của các bạn có thể tự do di chuyên trong map, check các hành động cơ bản nhu shoot, jump .. để có thể hinh thành một khung hoạt động cơ bản từ đó kế thừa cho các lớp nhân vật khác. Ngoài ra cũng rất quan trọng trong việc test map, test effect ... về sau này. ![](https://viblo.asia/uploads/a9bdb937-14b2-4e60-b69b-5fe3ca0118f3.gif) **Step 2: Thêm các animation cho các nhân vật** Có rất nhiều ý kiến trái chiều hay các phương pháp khác nhau, tuy nhiên với riêng cá nhân mình thì step này nên thực hiện ngay sau khi bạn đã triển khai đẩy đủ việc implement chuyển động cho các nhân vật. Vì sao? Vì thực sự khi thêm các animation vào nó sẽ làm cho game trông đẹp hơn, hấp dẫn hơn và đặc biệt là làm cho lập trình viên cũng đỡ nhàm chán hơn rất nhiều. Vấn đề này rất nan giải trong nghề vì rất nhiều game lúc đầu ae lập trình rất hào hứng, nhưng rồi mất dần đi hứng thú, tình yêu với chính đứa con mà mình tạo ra. Chú ý là ngay ở thời điểm này, chưa chắc bạn đã tạo ra được các animation hoàn chỉnh hoặc các animation đẹp mắt nhất có thể, tuy nhiên k quan trọng bạn cứ implement, đến khi có resource mới chúng ta lại hoàn toàn có thể update cho từng step. ![](https://viblo.asia/uploads/1b1a3e23-1e89-4744-9d72-3e7bf1fbc5dc.gif) Như các bạn thấy đấy, sau khi thêm animation cho cả nhân vật chính lẫn quái thì trông mọi thứ đã sống động hơn hẳn rồi , lại còn cute và khá là nhắng nữa :D **Step 3: Thêm nhạc - Quẩy lên nào ae ơi** Các bạn có biết nhạc game mario làm nên thành công lớn của tựa game này như nào không? Chắc ai cũng biết điều này. Tuy nhiên ở đây điều mình muốn nói là nếu cứ code với mỗi cái màn hình thì không khác gì lên sàn quẩy mà không có nhạc vậy, âm nhạc đầu tiên cũng giống như hình ảnh, một thứ không thể thiếu để đem lại cho người lập trình game cảm xúc và sau đó xa hơn chính là người chơi. Và về cơ bản còn rất nhiều bộ phần khác nữa sẽ được truyền cảm hứng từ âm nhạc trong game, như đội test, đội design... **Step 4: Tạo tile map** Đã đến lúc chúng ta thêm map cho game, tại thời điểm này, về cơ bản chúng ta sẽ tạo các map khá đơn giản với cả background hoạc frontground nếu có. Tuy nhiên việc này là cần thiết để chúng ta tạo một flow cho game theo các stage hoặc level dựa trên cốt truyện. Từ đó thêm vào các yêu tố khác cho mỗi stage để tăng tính hấp dẫn cho game. ![](https://viblo.asia/uploads/1bc71dbf-14f0-47af-8805-dc5b6d992b31.gif) **Step 5: Detail cho từng stage, từng level** Sau khi tạo được một flow game tương đối hoàn chỉnh ở bước trên, việc quan trọng cần làm là làm chi tiết lại cho từng stage, từng level trong game. Ở đây chúng ta có thể sử dụng nhũng kĩ thuật kiểu dạng như introduce vertical, thêm các tile theo chiều dọc, thêm các action như double jump.. ![](https://viblo.asia/uploads/ae885fa7-84e0-4934-ba02-9cf431b38443.gif) Tuỳ thuộc vào level design mà các kĩ thuật hoặc các action đưa ra sẽ tương ứng. Ở đây hiệu quả của việc đưa vào action như double jump mang lại rất nhiều hiệu quả cho game cả về mặt cảm nhận lẫn thay đổi về lối chơi. Người chơi sẽ không bị gò bó bởi việc di chuyển hay trốn thoát khỏi enemy một cách nhàm chán, qua đó tạo sự cuốn hút hơn. Kết thúc phần này là 5 step đơn giản mà hiệu quả đầu tiên muốn giới thiệu đến ae. Phần sau mình sẽ tiếp tục giới thiệu 5 step cực kì quan trọng và cũng là điểm nhấn để các bạn finish một game theo ý muốn. (^_^) Making game simle