Đăng ký
Cộng đồng phát triển game Việt - kết nối đam mê !

Lâu nay mấy bác chém và lên án clone quá. Nên chờn tay. Làm suốt nửa năm qua ko có bài nào ra hồn. Thôi giờ các bác chém thì em chịu.


Em ngồi clone game tiếp để học hỏi xem người ta đã làm thế nào. Vì mỗi khi clone được 1 game công lực của em cao hẳn lên. Và chắc chắn khi mà em đã trùm thì em sẽ không phải ngồi clone làm gì. Giờ nói thực với các bác là dẫu muốn clone được một game em cũng không làm nổi. Hoặc là có làm được nhưng em phải mất 3-4 tháng cho một game lởn. 6 tháng - 1 năm cho game kha khá dễ. Còn không làm được với game lớn. Vì vậy. Em quyết tâm clone tiếp. Việc này nếu bác nào thấy xấu thì đừng theo dõi nhé. Cám ơn các bác.


Game đưa vào tầm ngắn là: Kingdom Rush. Game này đảm bảo với các bác là clone không được. Nhưng chí ít cũng biết nó đã làm gì.



Những điểm nổi bật của game


  1. Game này có đồ họa cốt chuyện và blance game cực kỳ tốt.
  2. Game play dài phức tạp, nhiều nội dung, nhiều tac vụ cần quản lý
  3. Hệ thống heros và các tính năng liên quan đến quản lý skill
  4. Effect game và xử lý nhân vật cực tốt.
  5. Tutorial rất tốt người chơi cảm nhật việc chơi và học để chơi rất tự nhiên.

Thôi nói chung là game quá hay và lớn rồi. Giờ tập trung hơn.

Game TD đặc thù: Trồng trụ, update, nghiên cứu chủng loại quân hợp lý, màn chơi, đường đi cho quân địch, tiền thu về từ giết địch... Đó là đặc điêm chung của thể loại game thủ trụ này.

Điều đầu tiên phải nói rằng Kingdom Rush chẳng qua là sự thành công vượt bậc của: Html5 - Viết game Tower Defense - part 1  


Hay nói chung nguyên tắc của nó là vậy. Vì vậy sẽ cùng YinYang và tiếp tục thể loại game TD này.
Lần cập nhật cuối tháng 10 14, 1:11 pm bởi Nguyễn Tài Hải.
Skype: hai.nguyentai<br />Gmail: hainguyentai@gmail.com

Chơi game đã chứ nhỉ:



Trước tiên với kiến thức của mình xin chia sẻ cho mọi người biết độ lớn của game Kingdom Rush:


+ Kingdom Rush phiên bản mới nhất:


  1. Dung lượng: 31M 397KB.
  2. Sử dụng: 245 âm thanh các loại bao gồm: sound effect của các nhân vật, trụ... nhạc nền...
  3. Sử dụng: 8076 bức hình. Ở đây chia sẻ cho mọi người là: những bước hình này có thể là đơn, có thể là nguyên animation cho các nhân vật trong game.
  4. Có: 9156 hình thể đã được sử dụng để vẽ ra trong game này. Bao gồm cả data từ hình ảnh phía trên và các hàm fillrect tạo thành.
  5. Game sử dụng 12 bộ font các loại chưa kể Pallete sử dụng trong game để tạo thêm màu cho các bộ font này
  6. Không tính localize: Kingdom rush dùng 561 lời thoại chưa kể đến các tutorial khi text được vẽ thẳng vào hình ảnh của game.
  7. Tính sang spite: sử đụng 951 sprite cho tất cả các hình ảnh động, effect, các frame chuyển cảnh và tutorial. Tất cả các hình anh mọi người từng thấy như cừu, cá, effect nước... đều được vẽ từ sprite này mà ra.
  8. Số trang code của game: hơn 1000 trang. mỗi trang khoảng 30-34 dòng

Tức là để làm được một game như Kingdom Rush bạn phải làm việc rất cật lực. 


+ Nếu bạn là Programmer


  • Bạn sẽ phải code: khoảng 30 ngàn -> 34 ngàn dòng code.

+ Nếu bạn là Artist:

  • Bạn phải vẽ 8076 bao gồm hình và animation
  • Ráp animation cho gần 200 nhân vật
  • Ráp effect cho 300 effect
+ Nếu bạn là Game designer:
  • Bạn phải thiết kế UI cho: gần 100 tutorial trong game
  • Thiết kế World map, Skill table, Hero list
  • Làm việc với 15 achivements
  • Thiết kế 20 location tương đương 20 màn chơi
+ Nếu bạn là Sound team
  • Bạn cần làm 25 backgound music
  • Hơn 200 sound effect các loại
Đó là một số phân tích chiều sâu để mọi người hiểu thêm về trò chơi được hơn 47 triệu lượt người chơi trên Armo games này.
Lần cập nhật cuối tháng 10 15, 12:08 pm bởi Nguyễn Tài Hải.
Skype: hai.nguyentai<br />Gmail: hainguyentai@gmail.com

Hôm nay chúng ta sẽ trả lời câu hỏi họ đã làm ainamation cho trụ như thế nào.


Ví dụ một trụ pháp thuật mà các bạn thấy trong game:



Hình ảnh này rất quen thuộc trong game đúng không các bạn.


Để tạo được nó Kingdom rush đã làm từ 2 thành phần:


  1. Pháp sư: 
  2. Trụ đỡ: 

Các bạn thấy là hình ảnh rất khớp. Khi ánh sáng trên cây gậy của pháp sư sáng lên cũng là lúc cây trụ sáng nhất. Lúc này đạn sẽ được bắn ra.

Sâu hơn họ đã làm thế nào:

Đây là sprite cấu thành pháp sư:


Trong khi đó sprite của trụ:


Như vậy bạn chỉ cần kết hợp. trụ sẽ 2 frame thay đổi một lần. Pháp sư mỗi frame thay đổi một lần.

Chún ta sẽ được sprite cho trụ pháp sư hoàn thiện.


Kute đúng không các bạn.


Một thông tin thêm cho các bạn là game này chỉ làm với 3 người thôi nhé 04

Skype: hai.nguyentai<br />Gmail: hainguyentai@gmail.com

Hôm nay chúng ta sẽ bàn về cách mà trụ mages bắn vào eneme.



Các bạn chú ý dòng điện mà các sorceress bắn ra màu tím. Sự thật của nó là như thế nào?


+ Các bạn nhìn vào thảo luận trên của mình thấy rằng mỗi khi trụ pháp sư sáng lên nhất là lúc nó bắn đối thủ.


+ Dòng điện bắn ra sẽ xuất phát từ tay pháp sư đi đến người quái vật


+ Khi chạm vào người quái vật có effect trúng đạn ngay trên người quái vật


Rồi giờ chúng ta cùng làm sáng tỏ nó nhé:


+ Trụ pháp sư sáng nhất cũng là lúc nó bắn:


Như chúng ta đã biết thể loại game này các trụ luôn có một thời gian gọi là thời gian countdown hay thời gian reload. Thời gian càng ít trụ bắn càng nhanh, thời gian càng lớn trụ bắn càng lâu. Việc này đồng nghĩa với việc data và code phải có một sự ăn khớp. Nếu không đảm bảo các bạn sẽ gây ra lỗi không đáng có là thời gian reload trên animation một đường. Hành động bắn của nhân vật một đường.


Cụ thể kết hợp với thread trước: Khi quái vật trong tầm bắn được 7 frames thì lệnh bắn được phát ra. Lúc đó effect của đạn bắt đầu được vẽ ra màn hình. Khi chạm vào người quái vật -> effect trúng đạn được kích hoạt tại vị trí người quái vật.


Để gọn lại chúng ta có sơ đồ như sau: Trong tầm bắn -> thời gian reload xong -> bắn -> trúng -> tiếp tục các frame để reload tiếp.


+ Bàn về dòng điện bắn ra:


Phải công nhận một điều dòng điện rất đẹp đúng không các bạn? Nó đã được làm như thế nào?


Sự thật nó là một aimation dạng như thế này:



Là tập hợp của các image:


  


Như vậy trong lúc bắn bài toán trở về:


Tìm khoảng cách và góc giữa hai điểm đã cho sẵn:



Tức là khi đó bạn sẽ vẽ: anim -> scale -> rotate


+ Khi chạm quái vật thì nó sẽ vẽ animation effect:



Và tiếp tục một chu trình mới.


Các hành trình khác của các loại đạn khác cũng tương tự như vậy: Đạn của súng, cung, pháp sư ... đều được triển khi theo nguyên tắc này.


Khi kết hợp với âm thanh nó sẽ tạo ra hiệu quả rất giá trị. Mỗi tích lũy nho nhỏ sẽ tạo thành một game lớn đáng giá.

Lần cập nhật cuối tháng 10 16, 12:47 pm bởi Nguyễn Tài Hải.
Skype: hai.nguyentai<br />Gmail: hainguyentai@gmail.com

đang hóng bài của bác mà mấy hôm chưa có phần mới đây.em cũng sắp bắt tay vào làm 1 game thủ thành nên đang háo hức Smile

Hôm nay ngồi trà chanh chém gió với mọi người về cách mà các loại đạn bắn vào quái vật trong game. Ở chủ đề này chúng ta sẽ bàn 2 vấn đề.


+ Vấn đề 1: Cách đạn tấn công quái vật


+ Vấn đề 2: Các hiệu ứng tiếp nhận dame trên người quái vật.


Hôm nay bàn vấn đề 1 là đủ rồi. Smile


Như các bạn đã biết trong loạt demo của YinYang về game chồng trụ này. Người ta sẽ chia cách tấn công của đạn ra làm 2 loại chính:


+ Non target: Là loại là đạn cứ bắn đường đạn. Quái cứ đi đường quái. Có va chạm hay không còn nhờ sự may mắn.



+ Target: Là loại đạn mà khi đã bắn ra rồi là chắc chắn trúng. Quái có chạy đi đâu thì đạn cũng bay theo và gây sát thương.



Lấy mấy cái hình cho vui chứ trong Kingdom Rush nó là: 


+ Đạn do phù thủy + súng bắn ra: Non target



Đặc điểm của thể loại này là: code rất nhanh, xử lý ít. Phù hợp với một số nhu cầu thực tế. Người chơi khi sử dụng loại trụ có đặc tính này phải luôn tính toán đề tầm sát thương của trụ là cao nhất với khả năng tiết kiệm đạn lớn nhất. Vì nếu không xử lý thì đạn sẽ không thể bắn trúng địch nhất là trường hợp địch di chuyển với tốc độ khá cao.


Câu hỏi đặt ra là: Anh nói là loại trụ này khó trúng quái mà tui thấy nó bắn trúng hoài đó thôi? Đó là do: Vận tốc của viên đạn quá nhanh so với vận tốc của quái vật. 



Như vậy là đối với thể loại trụ này việc lập trình và tính toán không có gì phức tạp chỉ là việc cân đối giữa vận tốc của đạn và quái là chúng ta có thể tạo ra kết quả đúng với thực tế của tự nhiện.


+ Đạn do cung thủ bắn ra: Target:


Đối với loại này mang lại cho người chơi nhiều cảm xúc hơn. Đường bay của đạn đẹp hơn nhưng bu lại tính toán phức tạp hơn và xử lý chậm hơn. 


Chúng ta cùng đi vào phân tích kỹ:



Để bắn quái vật ở một tầm xa nào đó cung thủ sẽ bắn cung lên trời với góc là Alpha và lực là F nào đó. Ở đây chúng ta sẽ đối diện với 2 bài toán.


+ Lập trình cho cung đi theo quỹ đạo mặc định của nó và đón đầu để gặp quái vật dựa vào tốc độ của quái vật.


+ Lập trình cho cung đi theo quỹ đạo thay đổi theo vị trí của quái


Nếu các bạn chú ý thì trong Kingdom Rush họ dùng cả 2 thể loại này.


Đây là trích comment của bạn: Duong Tuan Nhat khi hỏi về tính quỹ đạo bay của mũi tên:



Giải bài toán chuyển động của vật bị ném tại thời điểm t0 = 0 (flame) với vận tốc đầu v0 (pixel/flame), xiên góc a(deg), gia tốc rơi tự do g (m/flame^2)


Chọn trục Ox nằm ngang, cùng hướng với vật bị ném


  Trục Oy thẳng đứng hướng lên


 


ta có phương trình chuyển động của vật theo 2 trục là


x = v0*t*cos(a)


y = v0*t*sin(a) - 1/2 * g* t^2


 


=> phương trình chuyển động


y = x * tan(a) - (g)/ (2 * v0^2 * (cos(a) ^ 2)) * x^2


dễ thấy đây là hàm bậc 2 => quỹ đạo chuyển động là 1 parabol 


cái này ai cũng biết, Tiếp theo là vấn đề góc cái mũi tên:


Mũi tên có vectơ vận tốc luôn có phương tiếp tuyến với quỹ đạo nên dễ nhận thấy mũi tên cũng có phương tiếp tuyến với quỹ đạo, vậy ta chuyển bài toán về việc tìm phương của vectơ vận tốc tại thời điểm t1.


Theo kiến thức cơ bản, ta có thể tìm được phương trình vận tốc của vật theo 2 phương Ox và Oy


vx = v0 cos(a)


vy= v0 * sin(a) - gt


Áp dụng hệ thức lượng giác ta dễ dàng tính được góc của vectơ vận tốc hay chính là góc của mũi tên!!!


 


Bạn ấy đã dùng cả giá trị của g vào trong tính toán. Ngoài ra để mô phỏng chính xác quỹ đạo bay của mũi tên chúng ta áp dụng kỹ thuật nội suy để tính góc quay cho mũi tên để khi đến đích đầu mũi tên sẽ cắm vào người quái vật. Ở trên các bạn không thấy đại lượng nào quan tâm đến vị trí của quái vật đúng không. Vì vậy nó có thể trúng có thể trật.


Đối với trường hợp: Lập trình cho cung đi theo quỹ đạo thay đổi theo vị trí của quái vật


Điều này cũng không khó khăn nếu bạn đã trải qua bước phía trên. Khi đó nội suy của các công thức đường đi luôn được tính toán lại với giá trị đầu vào thêm đại lượng vị trí quái.



Lúc này khi vẽ ra trên giấy nó không hoàn toàn đúng với các lý luận vật lý. Tuy nhiên khi đưa vào gameplay mọi chuyện lại rất khác. Người chơi sẽ được trải nghiệm cảm giác mô phỏng thức tế. Và hiệu quả mang lại khi sử dụng các loại trụ này rất cao về mức độ nghệ thuật.


Thảo luận sau sẽ trao đổi mọi người vấn đề số 2: Các hiệu ứng tiếp nhận dame trên người quái vật.

Lần cập nhật cuối tháng 10 22, 11:59 am bởi Nguyễn Tài Hải.
Skype: hai.nguyentai<br />Gmail: hainguyentai@gmail.com

Mình tin chắc rằng, nếu bạn clone được game này vẫn kiếm ác. Vì thực tế trên Google Play cũng như iOS có rất nhiều bản clone, mà lượt download vẫn khủng khiếp. Không biết nếu clone game này thì mất bao nhiêu và thời gian nhỉ?


P.S: Mình là newbie, mới tham gia vào cộng đồng. Mình cũng thích đi clone các trò chơi để nâng cao trình độ và học hỏi Smile

Múi giờ GMT +9. Bây giờ là 7:21 pm.