• Đăng Nhập
 

30/04/2008 09:56  |  3,367 lượt xem

Tự sáng tạo trò chơi với phần mềm Game Maker (phần 5)

Với phần này, bạn sẽ có được cách tạo một chuỗi hành động cho nhân vật trong khoảng thời gian khác nhau. Đồng thời, "nhà thiết kế game" sẽ có cách sử dụng mã lệnh để đưa thêm các tính năng đa dạng cho trò chơi.

Tạo băng thời gian (time line)

Trong nhiều trò chơi, có những điều phải xảy ra đúng thời điểm nào đó. Bạn có thể làm điều này bằng cách dùng sự kiện “báo động”; nhưng khi mọi việc quá phức tạp thì cách này rất khó thực hiện. Chức năng “băng thời gian” sẽ giải quyết được vấn đề này. Trong một băng thời gian, bạn có thể xác định hành động nào phải diễn ra đúng lúc. Bạn cũng có thể dùng tất cả hành động đã có sẵn cho các sự kiện khác nhau. Khi đã tạo ra được một băng thời gian, bạn có thể áp dụng cho một instance của đối tượng.

Sau đó, instance này sẽ thực hiện các hành động trong các thời điểm đã chỉ ra. Có thể xét ví dụ sau đây. Giả sử rằng bạn muốn tạo ra một lính gác và nhân vật này phải di chuyển 20 bước về bên trái, tiến lên 10 bước, 20 bước về bên phải, lùi xuống 10 bước rồi dừng lại. Để làm được điều đó, trước hết hãy thiết kế một băng thời gian bắt đầu bằng chuyển động sang trái; tại bước thứ 20, thiết lập chuyển động tiến lên; tại bước 30, thiết lập chuyển động sang phải; tại bước 50 thiết lập chuyển động đi xuống và tại bước 60 dừng chuyển động. Bây giờ, bạn có thể áp dụng băng thời gian này cho tên lính gác và nó sẽ làm chính xác như vậy.

Ngoài ra, bạn còn dùng tính năng này để kiểm soát trò chơi của mình trên phạm vi rộng hơn. Ví dụ như tạo ra một đối tượng kiểm soát vô hình, một băng thời gian tạo kẻ thù trong một số thời điểm nào đó rồi áp dụng cho đối tượng kiểm soát này.

Để chèn một băng thời gian, chọn Add Time Line và cửa sổ sau đây sẽ hiện ra:


Trông cửa sổ này khá giống với cửa sổ các tính năng của object. Ở phía bên trái, bạn có thể đặt tên, chèn và chỉnh sửa các thời điểm trong băng thời gian. Bên cạnh đó là danh sách các thời điểm diễn ra sự kiện. Phía bên phải là danh sách các hành động để bạn lựa chọn.

Muốn chèn thời điểm diễn ra sự kiện, nhấn nút Add. Sau đó, xác định thời điểm bằng số bước đi tính từ lúc bắt đầu băng thời gian. Lúc này, bạn có thể “kéo – thả” các hành động vào danh sách. Bạn sẽ nhận thấy các nút để xóa, thay đổi hoặc nhân đôi hoạt động trong thời điểm đã chọn.

Có hai nút đặc biệt là Merge và Shift. Với Merge, bạn có thể “nhập” toàn bộ các hoạt động trong một khoảng thời gian vào một thời điểm nào đó. Với Shift, bạn có thể chuyển các hoạt động trong một khoảng thời gian lên hoặc xuống với biên độ thời gian nào đó. Nhưng nhớ rằng đừng lỡ để dấu âm vì chúng sẽ không bao giờ được thực hiện.

Còn có hai hành động liên quan đến băng thời gian:

Thiết lập một băng thời gian.

Với hành động này, bạn có thể tạo ra một băng thời gian xác định cho một instance của đối tượng. Hãy chỉ ra băng này và vị trí bắt đầu trong đó (0 thường là số bắt đầu). Bạn cũng có thể dùng hành động này để kết thúc một băng thời gian bằng cách chọn giá trị No Time Line.

Thiết lập vị trí băng thời gian.

Bạn có thể thay đổi vị trí của băng thời gian hiện tại (hoặc là tuyệt đối, hoặc là tương đối). Điều này có thể áp dụng để “nhảy” qua một số phần của băng thời gian hoặc để lặp lại một phần nào đó. Ví dụ: nếu muốn băng thời gian “quay vòng”, vào phút cuối hãy chèn hành động này vào để thiết lập vị trí về 0. Bạn còn dùng tính năng này để đợi một điều gì đó sẽ xảy ra. Hãy chèn vào để thử nghiệm, nếu không đúng thì thiết lập vị trí băng thời gian tương ứng với -1.

Mã lệnh (script)

Game Maker có một ngôn ngữ lập trình kèm theo. Nếu đã quen với phần mềm này rồi và muốn khai thác tối đa các tính năng của nó, bạn nên bắt tay vào học ngôn ngữ này. Có hai cách sử dụng. Trước hết, bạn hãy tạo ra các đoạn mã có tên. Chúng có thể được lưu lại hoặc tải về từ một tập tin nào đó. Cách thứ hai là bạn có thể chèn một hành động tạo mã (code action) vào một sự kiện bất kỳ và nhập mã vào đó. Việc chèn đoạn mã có thể tạo kết quả y như việc chèn hành động tạo mã, trừ hai điều sau: (1) Các hành động tạo mã không có tên và do đó (2) không thể sử dụng các thông số.

Các đoạn mã có thể dùng để thực hiện một công việc nhất định nào đó. Các đoạn mã này có thể nhận các biến số đầu vào (còn được gọi là thông số). Để thực hiện một đoạn mã từ bất kỳ sự kiện nào, bạn có thể sử dụng hành động tạo mã hoặc gọi mã trực tiếp. Trong hành động tạo mã, bạn hãy xác định đoạn mã cần dùng và khoảng 5 biến số. Nếu chèn một đoạn mã có sẵn, bạn có thể dùng đến 16 thông số. Mã này có thể trả lại một giá trị nào đó và việc này có thể sử dụng để thiết lập các phương pháp tính toán. Từ khóa return được sử dụng cho trường hợp này.

Để chèn một đoạn mã vào trong trò chơi, chọn Add Script, cửa sổ sau đây sẽ hiện ra với ví dụ là một đoạn mã nhỏ và hai thông số.


Thực ra đây là cửa sổ biên soạn mã đính kèm trong phần mềm. Ở ô phía góc phải trên cùng, bạn có thể xác định tên của mã. Chú ý rằng ở dưới cùng là một danh sách chỉ ra các chức năng, biến số và hằng số, giúp bạn tìm nhanh đoạn mã cần thiết. Bạn cũng có thể kích chuột 2 lần hoặc dùng tổ hợp phím Ctrl+P để thực hiện công việc tương tự. Cửa sổ soạn mã này có vô số tính năng, bạn có thể dùng các nút để gọi ra phần lớn các chức năng đó như kiểm tra lỗi cú pháp, tìm kiếm một dòng mã…

Như bạn thấy, mỗi phần trong đoạn mã đều được đánh dấu màu khác nhau. Cửa sổ soạn mã này có thể nhận biết các đối tượng đang có, biến số và các chức năng. Việc mã hóa bằng màu các đoạn của câu lệnh sẽ giúp bạn hạn chế được sai sót.

Mã lệnh là một chức năng rất đắc dụng trong Game Maker nhưng nó cũng đòi hỏi bạn phải thiết kế thật cẩn thận. Bạn có thể lưu trữ các đoạn mã trong thư viện của riêng mình để tiện gọi ra khi cần thiết với chức năng nhập mã (import script) từ thư viện vào game hoặc xuất mã (export script) từ game vào thư viện. Đây là những tập tin chữ đơn giản có đuôi .gml và tốt hơn hết là đừng chỉnh sửa chúng trực tiếp vì chúng đều có cấu trúc đặc biệt.

Khi tạo ra các đoạn mã lệnh, bạn rất dễ mắc sai sót nên luôn phải kiểm tra bằng nút tương ứng trên menu. Khi lỗi xảy ra trong quá trình thực hiện mã lệnh, phần mềm sẽ thông báo loại lỗi và vị trí của lỗi. Bạn sẽ hiếm khi gặp phải thông báo “Lỗi đột xuất xảy ra trong game” và nếu có thì đó là sự cố hệ điều hành hoặc phần cứng. Nguyên nhân thường là thiếu bộ nhớ.

Nếu muốn kiểm tra mọi thứ cẩn thận hơn bạn có thể chạy game trong chế độ gỡ lỗi (debug). Bạn có thể thấy cửa sổ như sau hiện ra:


Với chức năng Run, bạn có thể dừng game, chạy nó từng đoạn hoặc khởi động lại game. Với chức năng Watch, bạn có thể xem giá trị của các biểu thức. Sử dụng Add để nhập vào một biểu thức nào đó có giá trị được thể hiện trong mỗi bước của game. Theo cách này, bạn có thể kiểm tra trò chơi có hoạt động chính xác hay không. Với Tools, bạn sẽ tìm được thêm thông tin, ví dụ danh sách tất cả các instance trong game, các tham số của một instance, các tin nhắn mà bạn gửi đi từ mã có dùng đến chức năng thể hiện thông báo lỗi show_debug_message(str). Cuối cùng, bạn có thể ra các lệnh trong game và thay đổi tốc độ của trò chơi. Nếu thực sự muốn tạo ra game phức tạp, bạn nên học cách dùng các chức năng debug này.
Tự sáng tạo trò chơi với phần mềm Game Maker (phần 6)

Khi công việc thiết kế game hoàn tất, bạn sẽ nghĩ đến việc thiết lập các chức năng tổng quát hơn cho "đứa con tinh thần" của mình như cách hiện cửa sổ chơi game trên màn hình, hiển thị chức năng trợ giúp...


Thông tin về game

Thường thì trong game đều có phần cung cấp thông tin về cách chơi và thường được hiển thị khi bạn ấn phím F1. Để tạo ra chức năng này, hãy nhấn vào Game Information trên thanh menu. Một cửa sổ biên soạn sẽ hiện ra để bạn nhập thông tin và trên đó có các kiểu font chữ, màu sắc chữ và màu nền khác nhau.


Trong menu File, “nhà thiết kế” có thể thiết lập rất nhiều lựa chọn với Options. Tại đây, bạn sẽ chỉ ra được cách mở hướng dẫn chơi game khi đang chạy trò chơi; vị trí và kích cỡ của cửa sổ thông tin, cũng như lựa chọn thay đổi kích cỡ cửa sổ của người chơi. Bạn có thể “bắt ép” cửa sổ đó hiện lên trên màn hình và xác định xem có để trò chơi tiếp tục trong khi hiện cửa sổ thông tin lên hay không.

Một lựa chọn thú vị nữa là khớp với cửa sổ chính của game. Khi nhấn vào lựa chọn này, cửa sổ trợ giúp được hiển thị chính xác như vị trí và kích thước cửa sổ chơi game. Bạn cũng có thể cho phép người chơi chọn Escape để thoát khỏi cửa sổ trợ giúp và tiếp tục game.

Thiết lập tổng quát

Bạn có thể thay đổi cách thiết lập cho game. Việc này có thể biến đổi hình dạng của cửa sổ chính, tạo nên một số lựa chọn về đồ họa, giải quyết một số vấn đề về tương tác, cho đến việc tải hình ảnh, thông số và thông tin về người sáng tạo ra trò chơi. Cũng vậy, bạn có thể xác định file nào có thể đưa vào trò chơi riêng lẻ và cách thức xử lý lỗi.

Phần thiết lập này có thể thay đổi bằng cách nhấp đúp vào mục Global Game Settings ở bên trái màn hình. Dưới đây là một số mục đáng chú ý:

Đồ họa


Trong mục này, bạn có thể thiết lập rất nhiều tính năng liên quan đến phần thể hiện đồ họa của trò chơi. Việc kiểm tra tác động của các lựa chọn này là rất hữu dụng vì chúng có ảnh hưởng rất quan trọng đến giao diện của game. Chú ý là máy tính của người dùng có thể khác nhau và hãy đảm bảo phần cài đặt của bạn cũng hoạt động tốt trên các máy khác.

Tại đây, bạn có thể quyết định nhiều lựa chọn như:

Khởi động chế độ toàn màn hình

Khi đánh dấu vào mục này, trò chơi sẽ chạy trên toàn bộ màn hình, nếu không, nó sẽ chạy trên một cửa sổ.

Xác định tỷ lệ cửa sổ chơi game

Bạn có thể quyết định một tỷ lệ cố định giữa room với trung tâm cửa sổ chơi game và màn hình, trong đó số 100 là không tỷ lệ. Thường thì bạn dùng tỷ lệ cố định khi các sprite và room rất nhỏ. Lựa chọn tiếp theo là tỷ lệ choán màn hình nhưng giữ cho chiều cao và độ rộng tương đương nhau. Lựa chọn thứ ba là để room choán toàn bộ màn hình. Việc này có thể làm cho hình ảnh bị “bóp méo”.

Lấp màu vào khoảng trống


Nếu đánh dấu vào ô này, màu của các điểm ảnh trong sprite, nền game và các hình “lát” (tile) không cân đối với các điểm ảnh trên màn hình sẽ được lấp thêm vào. Điều này được áp dụng khi chúng bị xoay, xác định lại tỷ lệ… Việc lấp màu sẽ làm cho chuyển động trong game mềm mại hơn nhưng có thể gây ra hiệu ứng mờ.

Lấp màu vào vùng ngoài room

Khi room không choán toàn bộ màn hình, bạn có thể xác định màu quanh vùng này.

Cho phép người chơi xác định lại kích cỡ cửa sổ

Khi mục này được đánh dấu, người sử dụng có thể thay đổi độ lớn của cửa sổ chơi game bằng cách kéo chuột ở bốn góc.

Để cửa sổ game luôn ở trên các cửa sổ khác

Đánh dấu vào mục này sẽ làm cho cửa sổ chơi game được “ưu ái” nằm trên mọi cửa sổ khác.

Không hiển thị đường viền cửa sổ

Khi chọn mục này, cửa sổ chơi game sẽ không có đường viền và thanh chỉ dẫn.

Không hiển thị các nút điều chỉnh cửa sổ


Nếu chọn mục này, bạn sẽ làm mất các nút thu nhỏ, phóng to và đóng cửa sổ

Hiển thị con trỏ

Ngoài việc có thể hiển thị con trỏ trong game, bạn còn dễ dàng thiết kế con trỏ riêng cho mình với Game Maker.

Ngừng chạy game khi có ứng dụng khác chen vào

Khi tính năng này được chọn, bất cứ khi nào có các ứng dụng khác xuất hiện “đè” lên cửa sổ thì trò chơi sẽ dừng lại cho đến khi lấy lại “vị thế” của mình.

Độ phân giải


Trong mục này bạn có thể thiết lập độ phân giải màn hình để chạy game. Nếu để mặc định thì độ phân giải sẽ không thay đổi. Nhưng đôi khi bạn có thể muốn chạy game với thông số thấp hơn hoặc thiết lập tần số của màn hình để việc xác định thời gian trong game diễn ra chính xác. Nếu muốn thay đổi thông số này, hãy nhấn vào mục Set the resolution of the screen để chọn lựa.

Ngoài ra, "nhà thiết kế" có thể kèm các file hình ảnh, âm thanh khác vào trò chơi, thiết lập các tùy chọn tải game, cách thức báo lỗi...
 

Bình luận  

Viết bình luận

Mời Kết Bạn

Gởi lời mời kết bạn đến

Gửi