Tôi mở mục này ra với mục đích đưa các bài dịch hướng dẫn tiếng Anh mà tôi tìm thấy trên mạng. Những bài này tôi đã làm theo được, vì vậy tôi post lên đây bài dịch của tôi. Vốn tiếng Anh và khả năng viết văn của tôi hơi kém, có gì mong mọi người bỏ qua. Bài đầu tiên tôi muốn giới thiệu là Enemy Attack: Bạn muốn biểu diễn cú tấn công của kẻ thù trong RPG maker. Hướng dẫn sau sẽ giúp bạn thực hiện điều đó. Cái này do tôi dịch ra từ một hướng dẫn trên mạng và đã thử nghiệm thành công đối với RPG maker 2k3. Nguyên bản tiếng Anh là hướng dẫn cho RPG maker 2k. Bài dưới đây là dùng cho RPG 2k3 ,các từ trong ngoặc là các phần tương đương của rpg maker 2k. Một lưu ý nữa của tác giả là hướng dẫn này mới chỉ làm cho một nh ân vật nhất định sẽ bị tấn công, còn việc lựa chọn ngẫu nhiên nhân vật vẫn chưa làm được. Bước 1: Tạo một hoạt cảnh trong trận đấu mà bạn muốn nó sẽ xảy ra khi kẻ thù tấn công. Bước 2: Tạo một skill tên là ATTACK, giống như là bạn có thể sử dụng cái skill này để biểu diễn mọi cú đánh của bọn quái vật trong game của bạn, ngoại trừ bạn có nhiều hơn một kẻ thù trong trận đánh cùng một lúc, nhưng cái này thì sẽ nói sau. Đây là cái mà việc cài đặt skill phải cần: Classification=switch, MP cost=0, Available=at battle, cho bất cứ cái gì bạn muốn trong phần diễn giải, đại loại như là: “Attack you!”. Đừng sử dụng hiệu ứng âm thanh nếu bạn dùng trong battle animation rồi. Đối với phần the ON switch thì tạo một switch mới gọi là “MON ATTACK 1”. Bước 3: Đi đến phần quái vật trong mục Monster và trong vùng Action pattern nhấp đôi vào phần attack (normal hit) nhấn vào nút technique (skill) rồi chọn skill ATTACK mà bạn đã tạo ở trên. Bước 4: Nào bây giờ đã đến phần code mà chắc hẳn chúng ta đều yêu quý đây. Đi đến phần Monsters Party và tạo một nhóm với con quái vật của bạn trong đó. Nào bây giờ nhìn xuống dưới nơi có hộp event. Trên trang 1 nhấn lên dấu “…” của Trigger, bây giờ nhấn lên một trong số những hộp Switch rồi chọn cái switch gọi là “MON ATTACK 1” và nhấn OK. Bây giờ trong bảng lệnh của event nhấp đôi rồi chọn phần Chance Variable. Tạo một variable mới có tên là “BATTLE MON ATTACK 1”. Trong phần Operation (Set) chọn set, trong phần How mutch (Operand) chọn Enemy, chọn kẻ thù của bạn từ hộp (chỉ nên là 1 thôi), sau đó ở hộp kế bên chọn Attack power (Attack) rồi nhấn OK. Bây giờ dưới cái variable bạn vừa thêm vào tạo thêm một cái khác tên là “HERO DEFENSE” chọn set, trong bảng How mutch chọn hero, chọn nhân vật của bạn, rồi chọn defense, OK. Bước 5: Giờ chúng ta sẽ sử dụng một vài phép toán để có được sự tấn công như ý muốn. Dưới cái variable bạn vừa tạo ra tạo thêm một cái mới chọn variable “HERO DEFENSE”, phần Set chọn dấu chia (/), phần How mutch chọn set rồi gõ vào 3. Giờ lại tạo thêm một variable nữa, phần Set chọn -, phần How mutch chọn variable rồi chọn HERO DEFENSE, OK. Bước 6: Lúc này, ta đã tiến gần hơn rồi đó, ngoại trừ một vấn đề là nếu chỉ số defense của nhân vật quá cao, khi chỉ số tấn công của quái vật trừ đi chỉ số chống đỡ của nhận vật thì nó sẽ bị âm… điều này thì ta không muốn chút nào. Vậy ta tạo một fork ở dưới cái variable cuối cùng, và đặt nó như thế này: chọn Variable, chọn BATTLE MON ATTACK 1, phần Constan (Set) gõ 1 vào, chọn less than (smaller) từ bảng nhỏ ở dưới và đừng quên đánh dấu vào phần Option ở dưới cùng, OK. Dưới Fork option trước exception (else case) đặt vào một Show battle animation và sử dụng cái nào mà bạn muốn cho con quái vật và chọn cho nó trên con quái vật hay toàn trận đánh, bất cứ việc nào tốt hơn cho cú đánh, và chắc rằng mục Option dưới cùng được đánh dấu, OK. Rồi cho vào một message gì đó đại loại như là “Billy 0 HP is lost” với 0 là lượng HP mất. Sau đó thêm vào một Variable và chọn cái gọi là MON ATTACK 1 mà ta đã làm ở trên, chọn OFF nữa rồi OK. Giờ trong phần Exception chỉ việc copy rồi paste phần Battle Animation ở trên xuống thôi. Đối với phần Message của lượng HP bị mất, bạn cần phải dùng một variable, những variable của tôi có thể khác của bạn nhưng chắc bạn cũng hiểu điều này. Tìm và xem xem số của variable tên BATTLE MON ATTACK 1 là số mấy, vd của tôi là 201, vậy đưa vào một message như thế này nhưng thay thế \V[201] bằng số của bạn nhé, “Billy \V[201] HP is lost!”. Dưới dòng message thêm vào event Chance HP, chọn Hero (Fix) chọn nhân vật bạn muốn bị đánh, chọn Lose HP (decrease HP), chọn Variable và chọn BATTLE MON ATTACK 1 từ danh sách, cuối cùng chắc rằng phần Impossible Death được đánh dấu (rõ ràng là nhân vật có thể bị chết nếu cứ ăn đòn mãi chứ), rồi nhấn OK là xong. Giờ lại copy phần Switch ở trên xuống và chỉ cần paste nó ra sau event Chance HP thôi. Các event của trang này nên trông giống như thế này ngoại trừ số thứ tự của các switch và variable, tên nhân vật, quái vật là khác thôi: Đối với RPG 2K: Trigger: Switch [0079:MON ATTACK 1]-ON <>Variable Ch:[0201:BATTLE MON ATTACK 1] Set, 1: Wracune Attack <>Variable Ch:[0202:HERO DEFENSE] Set, Billy Defenc <>Variable Ch:[0202:HERO DEFENSE] / , 3 <>Variable Ch:[0201:BATTLE MON ATTACK 1] - , Var.[0202]va(it cuts off) <>FORK Optn:Varb[0201:BATTLE MON ATTACK 1]-1 less than <>Show Battle Anim.:Bite, Whole Group (W) <>Messg:Billy 0 HP is lost! <>Change Switch : [0079:MON ATTACK 1]-OFF Set <> :ELSE Case <>Show Battle Anim.:Bite, Whole Group (W) <>Messg:Billy \V[201] HP is lost! <>Change HP:Billy HP V[201] Decr. <>Change Switch : [0079:MON ATTACK 1]-OFF Set <> :END Case <> Đối với RPG 2k3: Cái này của tôi làm Trigger: Switch [0003:MON ATTACK 1] TURN ON <>Chg Process:[V[0003]]Sub, 1:Cat Offnse <>Chg Process:[V[0004]]Sub, Billy Defnse <>Chg Process:[V[0004]]Divd, 3 <>Chg Process:[V[0003]]Sbtr, Chng[0004] val <>CondtnFrk:Chng[0003:BATTLE MON ATTACK 1] 1Less/Equal <>Shown Battle Anim: Claw D, All Group (W) <>Text: Billy 0 HP is lost! <>Switch mgmnt : [0003:MON ATTACK 1]turn OFF <> :Exception <>Shown Battle Anim: Claw D, All Group (W) <>Text: Billy \V[3] HP is lost! <>HP change: Billy HP V[0003]remove <>Switch mgmnt : [0003:MON ATTACK 1]turn OFF <> :Fork End <> Và thế đó, ngoại trừ bạn muốn có nhiều quái vật hơn, cái này thì cũng dễ thôi! Bước 7: Để có nhiều hơn một quái vật trong trận đánh, để coi… còn nhớ cái Trigger bạn có ở trên không? MON ATTACK 1 đó! Bạn sẽ phải làm thêm một skill mới theo cách làm trên nhưng tên nó sẽ là ATTACK 2 và tạo một switch mới gọi là MON ATTACK 2 và dưới phần Monster chắc rằng mỗi quái vật mà bạn sẽ sử dụng trong một trận đấu riêng lẻ có Attack Patterns khác với những kẻ thù khác trong trận đánh (vd đối với con quái vật đầu tiên bạn dùng skill Attack để làm chiêu đánh bình thường thì con quái vật thứ hai sẽ là Attack 2). Copy và paste trang bạn vừa làm xong cho trận đánh và đổi Trigger thành sử dụng MON ATTACK 2 và tạo một variable khác giống y như BATTLE MON ATTACK 1 nhưng tên là BATTLE MON ATTACK 2 và chọn con quái vật thứ 2 trong trận đánh từ danh sách ở dưới. Tương tự với con thứ 3, thứ 4, … Bạn cũng có thể dùng cách này đối với phép thuật. Hết bài 1. Lần sau tôi sẽ post tiếp cách tạo ra skill jump và cover. Ai chơi FF chắc là biết skill này.
UI da, đang đi trên đường tự nhiên bị thèng nèo nó ném đá dấu chân, ke, chui vô tiền sảnh của rpg maker thấy có bài viết hay quá, nên vô thử coi, ke ke ^^. Hèm, anh namff ơi, cho em hỏi, em mối làm wen zới rpg maker nên còn nhìu cái chưa biết, mong anh giảng giải típ các bài tiếp theo đi em chờ mỏi cổ gòi đây nè, ke ke mèng ơi chắc chít wá.^^
Thằng cha Hoi kia, mi là Mog bên gamefaqvn phải ko? Còn bày đặt giả điên à! Mi chùm pa cái ni mà! Mí cái nì nhìn tiếng Anh mệt phờ râu lun á mà tiếng Anh mình bèo nhèo wé, toàn mày mò từng bước thui. Cái nì tui lấy trên www.rpg2knet.com Tính lèm típ mí cái kia mà phê wé lèm chưa ga. Cho xin lỗi nhá.
Ke, bị phát hiện gòi ^^, lâu lém mới gặp pác ^^, trang gamefaqvn die gòi thì phải, mấy hôm nay không vào được T_T. Mua a ha ha ha ah. Yep, lèm việc bên này ghê nhỉ ^^, tui vô với, ke ke, oi chán wé.
Một ví dụ về Variable: một hệ thống thời tiết theo ý muốn (custom weather system) Bước đầu tiên trong việc tạo một hệ thống thời tiết theo ý muốn là tạo một map. Tôi tin là hầu hết các bạn đều là nhà lập trình game RPG vì thế các bạn đã có một số map tự tạo thuận tiện để thử công việc này. Giờ tạo một event (bạn biết cái ô màu hồng nhỏ, hay xanh hay một ô màu nào khác không? (ND: nhấn F7, nhấp đôi vào một ô trên map) Hãy chắc rằng màu của hình đại diện cho event là trong suốt (transparent)) và chắc rằng kiểu event là “parallet process”. Parallet process nghĩa là loại event chỉ làm việc của nó mà thôi trong khi những cái khác hoặc là không hoặc là đang chạy. Nói cách khác nó sẽ không ngưng hành động để hoàn thành công việc mà bạn đã phân định cho nó. Giờ khi bạn đã có event này rồi, đặt vào một ảnh hưởng thời tiết không thay đổi. Đối với bài này thì sẽ là mưa. Nhấp đôi vào lệnh Set Weather Effect (Call Weather event) với việc chọn Rain. Kế tiếp đặt độ sáng cho khung cảnh bằng việc đưa lệnh Set Screen Tone vào để làm cho nó có vể giống như là một ngày tồi tệ. Một ít màu xanh da trời (blue) sẽ hoàn tất công việc thú vị này. Ở đây một vài thử nghiệm cũng là xứng đáng. Tiếp đến tạo một parallet process event khác. Bên trong event ta sẽ đặt vào hai điều: lệnh “Play Sound Effect” và lệnh “Wait”. Ta sẽ chọn sound effect là Rain1 và wait time là 24 (là 2,4 giây). Event này bây giờ sẽ cho ta một âm thanh cố định của tiếng mưa rơi trong khi nhân vật của chúng ta trên bản đồ. Tuy nhiên vẫn còn thiếu một số thứ. Vâng, đây là lúc để Variable tăng cường mọi thứ lên. Thật nhàm chán nếu như một cơn mưa không có thay đổi nào về lượng mưa, hoặc một vài ánh chớp và tiếng sấm ngẫu nhiên nào đó. Cũng khá dễ để bạn có thể đưa một ít hiện thực vào trong game. Bạn muốn một game RPG đích thực. Vậy cố mà gặm nốt phần khó khăn dưới đây và hãy cùng làm cái variable mất nết này! Trong cái Parallet process event đầu tiên mà bạn đã tạo ra (bắt đầu từ dưới các lệnh mà bạn tạo ra theo cách hướng dẫn trên) tạo một lệnh khác gọi là Change Variable (nó ở ngay dưới lệnh Change Switch, tiện nhỉ). Giờ một hộp thoại “rùng rợn” sẽ bung ra. Trước hết, tát vào… mặt nó và cho biết ở đây ai là chủ he he… Kế tiếp, đánh dấu lựa chọn One ở trên đầu (trong khung Choose Variable) và chắc rằng đặt tên cho nó là Rain (nhấp vô dấu “…”). Số thứ tự của variable là không quan trọng, chừng nào số đó không sử dụng cho một variable switch khác. Ở vùng kế tiếp (operation) chọn “Set”. Điều này sẽ nói với nó rằng đặt variable ở một số nào đó. Sau đó chọn “Rand” ở vùng tiếp theo (how much) và chắc là giới hạn của số là từ 0 đến 1000. Giờ bạn xong rồi đó, nhấn OK thôi. Thấy chưa? Cũng không quá khó mà! Bây giờ, bạn đã có một variable không ngớt phát sinh ra một số từ 0 đến 1000 rồi. (Kiến nghị, bạn nên cho từ 0 đến 10 thui để mau thấy kết quả) Tiếp theo ta sẽ nói event làm gì với những con số này. Tạo một lệnh mới gọi là “Fork Condition” (Fork Option), đánh dấu nút Variable, chọn Rain, phần Constant gõ vào 10, ô dưới chọn Equal, OK. Rồi, chúng ta vừa nói với cái PC là “NẾU số phát sinh ngẫu nhiên (nhớ không? Từ 0 đến 1000 đó) MÀ BẰNG 10”. Rồi giờ đến “THÌ” đây, cho bất cứ lệnh nào bạn muốn thực hiện vào khoảng giữa câu lệnh Fork Condition và dòng Exception, (khoảng dưới cho đến dòng End thì đưa vào lệnh nào mà ko thoả điều kiện trên, nếu không có thì để trống thế thui). Trong trường hợp này chúng ta sẽ đưa vào các lệnh sau: Screen Flash (để màu trắng, ô thời gian để 5, bỏ lựa chọn “Wait until flash stop” (Wait until done)), Wait (gõ vào 5) và Play Sound Effect (chọn Thunder9). Xong gòi đó, bây giờ lâu lâu lại loé lên ánh chớp, nửa giây sau thì nghe thấy tiếng sấm, y boong ngoài đời nhé. Bạn cũng có thể tạo thêm nhiều lệnh Fork Condition để có thêm nhiều tiếng sấm khác nhau, tiếng mưa rơi nặng hơn và bất cứ cái quái gì mà bạn có thể nghĩ ra. He he…
Cái nên và không nên làm trong RPG Maker: Rồi, đây chỉ là một loại hướng dẫn cho ai đó đang làm game với RPG Maker 2000. Chỉ là một chỉ dẫn nhanh về cái gì nên được sử dụng, cái gì không nên. Tại sao tôi làm điều này? Bởi vì tôi thường thấy hoặc một game thực sự tuyệt vời, hoặc một game thực sự tệ hại. Một điều tôi nhận ra là họ dường như luôn chỉ ra một khuôn mẫu. Cái nên làm: Đoạn giới thiệu. Thường, chúng ta có các game mà khởi đầu với rất ít hoặc không có nói chuyện, và đó đơn giản chỉ quăng chúng ta vào game với một gã trong một cái hang, thế thôi. Trong việc sáng tác, chúng ta có cái gì đó gọi là “hook” (xin lỗi tui không biết dịch là gì cho hợp). Đó là một mánh văn chương mà nó thu hút ngay được sự chú ý của người đọc. Tương tự, mở đầu của game bạn cũng nên làm điều tương tự. Sau đó, game của bạn có thể thực sự tuyệt vời sau đó trong cốt truyện, nhưng ai mà biết được là nó sẽ nhàm chán hay sẽ kết thúc sau 5 phút nữa đâu. Sự tiến triển của nhân vật. Như tất cả các sự việc sẽ tiến triển trong game, nhân vật của bạn cũng sẽ thay đổi. Nếu anh ta là người thích đơn độc, anh ta sẽ trở nên khó gần gũi với mọi người sau đó. Nếu anh ta là một người nhút nhát, kẻ mà không thích chuyện đánh đấm, anh ta có thể đứng yên khi mà dường như là sự tự sát, chỉ để bảo vệ bạn bè anh ta. Một cốt truyện lắt léo, không phải là quanh co. Nếu nó chỉ là “thu thập các viên pha lê, cứu công chúa và tiêu diệt tên phù thuỷ” thì nó sẽ nhanh chóng bị đoán trước. Cố thêm vào một sự thay đổi nào đó, như là thu thập các viên pha lê, cứu công chúa, đánh bại tên phù thuỷ nhưng hoá ra hắn là người tốt! Vậy ai là kẻ xấu đây? Hoá ra là cha công chúa, nhà vua của chúng ta! He he, thêm mắm thêm muối vô tí mà. Sử dụng cảm hứng từ các game khác. Lấy một ý tưởng, phát triển nó ra, và đôi khi bạn có thể thổi vào nó một chút kinh hoàng, ta đã có một cốt truyện rất độc đáo. Cố tạo cho mình một hệ thống trận đánh theo ý muốn (CBS) nếu bạn muốn (nghĩ là bạn có thể). Hệ thống trận đánh mặc định thì không tồi, nhưng ta có thể sử dụng vài cái khác. Các sprite (uh…cái này tui cũng không biết dịch seo cho đúng, nhưng chắc là mí cái hình ảnh đại diện cho nhân vật, enemy,cây cỏ chim thú… gì đó) độc đáo, nếu bạn có thể. Những cái này có thể làm cho ai đó thực sự loá mắt đấy! Cố làm những điều mà người khác không cố trước đó. Ý tưởng có thể kì cục, thậm chí buồn cười, đối với ai đó, nhưng ý tưởng có thể thường đến bất ngờ và tuỳ ý. Hệ thống theo ý muốn (Custom System), các trò chơi nhỏ (minigame). Trong trò chơi của tôi có một hệ thống gọi là “Purity System”, cái này sẽ quyết định làm sao nhân vật của bạn đến dược một hoàn cảnh nào đó. Cái này là điều mà sẽ thực sự thêm thắt cho game của bạn: Custom System, những cái nhỏ nhặt nhưng sẽ làm cho game của bạn vui hơn để chơi. Chuyện hài. Thậm chí trong một game thực sự tăm tối, cũng nên có ít nhất một khoảnh khắc vui vẻ. Cố thêm một ít hài hước vào các đoạn đối thoại của nhân vật (nếu có thể đối với nhân vật đó). Ví dụ, nếu nhân vật ở tuổi thiếu niên, thì anh (cô) ta phải có lời nói tinh ranh, nhí nhảnh. Nếu chúng là những đứa trẻ và luôn gặp rắc rối, thì làm cho chúng gây nên một rắc rối nhỏ nào đó. Cái không nên làm: Đoạn giới thiệu nhàm chán. Một giới thiệu sẽ không hay nếu chỉ là người ta đứng đó và nói chuyện, vậy hãy cố đưa vào một ít hành động. Từ biệt cha, chia tay với bạn gái, bất cứ cái gì gây ra sự kích thích nhỏ. Một ý tưởng hay khác là khởi đầu bằng một điểm gay cấn về sau này trong game như là đoạn giới thiệu khoảng 5 phút, sau đó trở về đoạn mở đầu của game cho phần giới thiệu chính. Cái này sẽ khiến người chơi ngạc nhiên không biết cái quái gì đã xảy ra vào thời điểm trên và có thể muốn khám phá ra điều đó. One sided characters (pó tay rồi, không biết dịch seo). Rồi, nhân vật của bạn là một cựu chiến binh với các kĩ năng kiếm thuật phi thường. Nhưng anh ta thực sự ra sao? Có thể anh ta rất thu hút trẻ con. Có thể thằng cha bự con này lại sợ mấy con nhện, hay là thích hái hoa… Mỗi nhân vật có một vài đặc điểm tính cách chồng lên nhau. Đó là cái làm cho chúng được chú ý. Âm nhạc của Square Soft (bi giờ là Square Enix). Một vài giai điệu có sự đa dạng là tốt, nhưng nếu toang bộ game chỉ toàn các giai điệu của FF8 thì nhàm chán làm sao. Còn bản thân tôi thì thường sử dụng một ít từ Actraiser, một ít từ Saga Frontier, một ít từ Lufia để có một kết hợp hay. Ở đây là chưa kể đến việc bạn có thể tự sáng tác (ND: he he… gamer kiêm nhạc sĩ, kiêm nhà soạn kịch, kiêm hoạ sĩ, kiêm… đủ thứ, Square đâu, mau tới mời tôi đi làm đi). Lỗi chính tả. Nếu trong game bạn có câu thoại như sau: “Chời! toi bết gi cái gi bai giò”, người ta sẽ thấy rằng game thật khó hiểu, thậm chí ngu ngốc nữa. Vậy nếu bạn không khá cái món này, thì nên gõ ra một bản rồi đánh vần kiểm tra lại. He he… Lạm dụng một món vũ khí, các món đồ khác (item). Chúng ta có thể chỉ lấy quá nhiều kiếm. Thậm chí nếu người hùng của chúng ta chỉ sử dụng một cây kiếm duy nhất (đồ gia bảo chẳng hạn) thì cũng nên thêm vào một cái gì đó mới mẻ. Ví dụ nhân vật chính của tôi sử dụng một thanh gươm răng cưa mà nếu được trang bị Carot card thì sẽ tăng thêm sức mạnh, và Justin bơm máu bằng chai rượu Sake). Cố thử với Soda/ túi cứu thướng. Điều này sẽ khiến game thêm phần độc đáo. Các ảnh đại diện (sprites) không khớp. Điều này cũng ổn nếu là hình của game Crono Trigger, nhưng nó sẽ không tốt với chipset của FF2. Cố có những điều chỉnh ít nhất là vừa với từng cái khác. Sự vô lý. Xin ghi nhớ là, trong game, khi một điều gì đó xảy ra, nên có một lý do hợp lý cho điều đó. Các đoạn đối thoại trùng lắp. Hãy nhớ là không phải ai cũng nói giống nhau. Ví dụ, trong game của tôi Dennis có thể nói một điều như vầy: “Này, dạo này anh ra sao?” để chào hỏi bạn bè, trong khi Damon chỉ nói trống không như sau: “Ê! Sao rồi?”. Và cuối cùng, Justin, khi say, có thể nói: “Anh… err… đang mần bánh à? Hèm…”. Bây giờ, bạn nghĩ thế nào nếu chỉ có thế này: Dennis: “Sao rồi?”,Damon: “Sao rồi?”, Justin: “Sao rồi?” Điều này không ảm đạm sao. Những thứ không được giải thích (Unexplained cameos). Tôi chỉ thấy trong một vài game, nhưng cũng đáng lưu ý. Nếu bạn thực sự muốn có một nhân vật (game/truyện tranh/hoạt hình/phim/bất cứ gì) nổi tiếng trong game của bạn, xin hãy giải thích vì sao chúng ở đó. Đây là một đoạn trong game trong đó tôi đang gặp rắc rối và Bass (trong Megaman) chẳng biết từ đâu xuất hiện để giúp đỡ bạn. Bass: Ha! Lũ quái vật này chẳng là gì cả! (Tên nhân vật được bảo vệ): Anh là ai? Bass: Gọi tôi là Bass. Dường như cậu đang gặp rắc rối. Có thể tôi nên hộ tống cậu. Thấy chưa? Chẳng giải thích gì cả. Tôi chắc là một nhà phê bình khi đến đây sẽ nghỉ ngay lập tức. Tôi đã nghỉ. Bằng cách nào đó, nếu có thể, tôi nhắc rằng nên tránh xa các cameos ngoại trừ nếu cần thiết. Phào, hết rồi đó. Hãy nhớ những điều này khi làm game, bạn sẽ ổn thôi. Phê wé. Đừng chê bai nhá, nếu thấy bài dịch này bùn cười!
Khái niệm về Switch và một ví dụ minh hoạ. 1. Switch là gì? Khi một người lần đầu tiên mở chương trình RPG Maker, anh (cô) ta bắt đầu duyệt qua nội dung trong khung event, sau đó họ có thể sẽ lướt qua một cái gì đó gọi là switch. Vì không hiểu rõ, họ có thể bỏ qua và tiếp tục xem tiếp. Vậy, Switch là gì, là một nút mà sẽ làm cho một event đổi sang trang khác của nó. Ví dụ, nếu nhân vật chính của bạn đang đánh nhau với chủ nhà nghỉ, kẻ mà không cho bạn ở lại nhà nghỉ nếu như bạn không đánh thắng hắn ta trong cuộc đấu tay đôi, đây là lúc cho Switch làm việc. Đầu tiên bạn sẽ hỏi ông ta, nó có thể như sau: Hero: Còn phòng cho tôi không? Inn Keeper: Còn một phòng, nhưng cậu sẽ không có được nó trừ khi cậu hạ được tôi. Hero: Rồi, bắt đầu đi! Lúc này, bạn bụp ông ta và bạn chiến thắng. Nếu bạn nói với ông ta lần nữa, ông ta sẽ cho bạn ở lại nhà nghỉ mà không cần phải đánh nữa. Tại sao lại như vậy? Là vì Switch đó. 2. Ví dụ minh hoạ. Khi bạn tạo một Switch, điều trước tiên bạn phải tạo một trang thứ hai cho event của bạn. Mở một event, và nhìn lên trên bảng điều khiển event. Bạn có thể thấy một nút có đề New Event. Nhấn lên đó để thêm vào một trang mới cho event này. Giờ bắt đầu bằng việc tạo một đoạn đối thoại giữa Chủ nhà nghỉ và Nhân vật. Sau một vài câu nói, cho chủ nhà nghỉ nhào vô bụp nhân vật của bạn. Xin chú ý bước tiếp theo đây bởi vì ở đây có một mánh nhỏ. Nhấp đôi vào dòng mới để tạo một phần mới cho event này. Ở bảng 1 bạn sẽ thấy một nút đề là: Change Switch. Một hộp thoại nhỏ sẽ bung ra khi bạn nhấn lên đó. Bạn nên thấy một nút nhỏ có kí hiệu “…”, nhấn lên đó, một hộp khác lại bung ra, bạn sẽ thấy một danh sách của 20 switch. Chọn cái nào bạn thích rồi đặt tên cho nó là Inn Keeper. Ở ví dụ này tôi chọn cái thứ 3. Xong nhấn OK. Giờ nhấn vào trang thứ hai mà bạn đã tạo ra lúc đầu (chỗ đề số 1, 2 đó). Ở phía trên bên tay trái bạn có thể thấy cái gì đó đề là Event Condition. Có hai hộp mà bạn có thể chọn cho Switch. Đánh dấu một cái và bạn lại thấy một nút nhỏ với dấu “…”, nhấn vào và chọn Inn Keeper. Rồi đó, cho vào một đoạn đối thoại sau khi bạn bụp thằng cha chủ nhà nghỉ mất nết này. Thía là xong. Mệt qué! Đây là đoạn code mà bạn có thể tạo ra theo cách trên: Đối với RPG Maker 2k Page 1 <>Messg: Hero- Hi. Ya got a room for me? <>Messg: InnKeeper- Yeah I got a room for ya. But you don't get it unless you beat me! <>Messg: Hero- Ok Lets go! <>StrtCmbt:Slimex2 <>Messg: You're pretty good kid. You got me! <>Change Switch: [0003:Innkeeper]ON Set Page 2 <>Messg: Well I guess I gotta let you stay here now. <>Call Inn: Cost 0' Còn đây là đối với RPG Maker 2k3 của người dịch làm Page 1 <>Text: Hero- Hi. Ya got a room for me? <>Text: InnKeeper- Yeah I got a room for ya. But you don't get it unless you beat me! <>Text: Hero- Ok Lets go! <>BatleProc: Norm, Slimex2 <>Text: You're pretty good kid. You got me! <>Switch mgmnt: [0003:Innkeeper] turn ON Page 2 <>Text: Well I guess I gotta let you stay here now. <>Inn Event: InnPrice0 Thía là xong. Mệt qué! Hy vọng mọi người đều hiểu và làm được.
SKILL STEAL He he… cái chiêu đạo tặc này thì ai chơi RPG đều bít hết gòi ha. Bi giờ tui sẽ hướng dẫn cách tạo skill steal. Rồi, đầu tiên tạo cho tui một cái skill tên là Steal, chỗ Classification chọn Switch (cái nì là kiểu của skill đó), chọn chỗ ON Switch nhấn vô dấu “…” , tạo hai switch đặt tên là Steal và Stolen, rồi chọn Switch Steal, OK, đánh dấu vô Battle trong vùng Available at, bỏ đánh dấu Field đi. Xong, vô thẻ Monster Party, ngó xuống dưới, chỗ Event Commands đó, rùi nhấp vô dấu “…” của Trigger, đánh dấu ô Switch, chọn Steal, OK. Trong trang lệnh của event dòng đầu tiên, nếu muốn bạn có thể cho vào Animation của chiêu Steal (nếu có). Rồi nhấp đôi vào dòng tiếp theo bỏ lệnh Fork condition vào, bạn chọn cho tui Switch Stolen ON. Rồi bên dưới dòng này bạn cho tôi cái Message: Nothing to steal. Rồi dưới dòng Exception bạn chọn lệnh Change Variable. Ô đầu tiên đánh dấu vô Variable tạo một variable mới tên là “Item percent”. Ô thứ hai chọn Set. Ô thứ ba chọn Rand gõ vào hai ô trắng đó 1 và 100, OK. Xong bạn mới tạo một Variable có giá trị ngẫu nhiên từ 1 đến 100 đó. Chọn tiếp lệnh Fork Condition. Bên trong bạn chọn Variable Item Percent, Constant là 50 chọn tiếp Greater than or Equal, đánh dấu vào ô Process Contents when not applicable to condition ở dưới cùng. Rồi, bên dưới dòng lệnh Fork Conditon bạn cho tui một cái Message sau: “You stole a potion!”. Rồi cho thêm lệnh Add/Remove Item (Change Item), bên trong lệnh này bạn để Add, Fix là Potion, Constant muốn mấy cái thì gõ vào, OK. Rồi thêm vô cái lệnh này nữa Change Switch Stolen ON. Xong rồi chứ! Tiếp tục, ngay dưới dòng Exception, bạn tạo cho tui Message sau: You failed to steal from enemy, thêm chút nhạc thất bại vô nếu bạn thích bằng Play Sound Effect. Cuối cùng, dưới dòng End bạn thêm vô lệnh Change Switch để Turn off Variable Steal đi. Lưu ý là cuối cùng phải là dòng End đó nhe! Xong trang thứ nhất, bạn tạo cho tui một New page. Trang này bạn để Trigger Switch Stolen ON. Trong trang này bạn cho vào một lệnh Change Switch Stolen OFF, thía thui. Xong rồi đấy! Hè hè… trang bị vô nhân vật của bạn đi và thử nghiệm thành quả của mình xem! Làm tương tự với bất cứ bọn Monster nào bạn muốn, chỉ việc copy và paste thui! Nhớ sửa lại món item nào bạn muốn chôm được nhé, chúc bạn thành công!
PASSWORD FUNTION Nếu bạn chưa biết, thì Password là một hàm rất hữu dụng. Nó cho phép bạn thực hiện nhiều event hữu ích bằng việc nhấn một nút tuỳ theo ý thích. Bạn có một bảng lựa chọn việc gọi ra một event với hoặc các phím phương hướng, hoặc phím escape, hoặc phím enter, hoặc một phím nào đó. Bạn có thể tạo cho nhân vật nhảy như Mario mỗi khi nhấn phím số 0 chẳng hạn. Đây là cách bạn thực hiện: Bước 1: tạo một parallet process event Bước 2: Trong event này đưa vào lệnh “Enter password” (Set Password) Bước 3: Đặt tên cho cái Variable trong đây là Jump Bước 4: trong hộp thoại “Enter password key” đánh dấu vào ô “Wait until key is presse (hit)” (điều này sẽ khiến event thực hiện chỉ khi bạn nhấn phím mà bạn chọn) Bước 5: đánh dấu một trong số các ô trong phần Entry Allow Key ( input passable key), thích phím nào thì chọn phím đó. Ví dụ này là Number 0-9. Bạn có để ý mấy cái số trong ngoặc không? Đó chính là giá trị của Varible đó! OK Bước 6: đưa vào lệnh Fork Condition, chọn cái Variable jump Rồi chọn Constant là 10, chọn equal. Thía đó, bạn mới tạo cái điều kiện là “nếu” phím số 0 được nhấn. Bước 7: Dòng dưới lệnh Fork Condition (cái nì là “thì” đó) bạn thêm vào lệnh Move Event (Set Chara Movement) Bước 8: đưa vào kiểu di chuyển của nhân vật, ở đây là nhảy Với một bước nhảy đơn giản, việc này sẽ gồm các hành động sau: Start jump Step forward End jump Nhớ đánh dấu vào ô Ignore when no move . OK thía thui! Bước 9: Rồi đó Test xem thành quả của mình thế nào. Khi nhấn số 0 thì nhân vật nhảy lên gòi đó. Chú ý: 1/ Nếu bạn không đánh dấu vào ô Ignore when no move trong khi cài đặt hành động nhảy, game sẽ bị đứng nếu bạn nhảy vào chỗ nào mà bạn không thể. Cái này quên là bực lém à, đang chơi ngon lành mà đứng thì… he he chắc muốn bum cái máy lun á. 2/ Nếu bạn dùng nút enter, escape, hay mí cái phím phương hướng cho hành động nhảy thì khi bạn muốn nói chuyện, mở hòm, mở menu hay đơn giản là đi qua đi lại, bạn sẽ nhảy lên thay vì làm mí việc đó. Tốt nhất là cho nó một cái nút khác (tui thấy cách này hay nhứt, rpg maker 2k3 cũng cung cấp cho mình cũng khá nhiều phím), hoặc sử dụng đối với game mà không cần sử dụng nút enter cho hành động khác. Hay bạn có thể dùng lệnh Switch mà sẽ làm vô hiệu event này. Khi cần hành động này thì chỉ cần tạo một Switch để khởi động event này mà thôi. 3/ Ngoài ra, bạn sẽ cần phải sao chép lại event này ra tất cả các map mà bạn muốn nó có hành động này. (Nếu muốn tất cả các map đều có thì chỉ cần tạo cái event này trong common event thui).
Yep, vô gòi nhưng hổng khoái dao điện của nó, ứ vô nữa ^^, tham khảo thui, yep, ben đó ít nhân tài wá ^^, có bác lê_tâm nhưng bắt chuyện với bác khó wá, thui, ke ke.
He,kiểu gì thế hả mấy ông Mod,ông Namff dịch công phu thế này cơ mà? phải thưởng tí Exp chứ sao keo thế?
Cám ơn bạn đã ủng hộ, mí bữa nay lo chơi game nên hơi lười. Thui ngày mai tôi dịch tiếp, bài sau sẽ là hướng dẫn cách tạo một custom menu system, đơn giản thui nhưng là bước khởi đầu cho cái custom batle system đó.
Trời, thật không pa, nghe sợ wá hà T_T, thía là pác giỏi hơn tôi gòi đó, tui chẳng có bít CBS và CMS là cái wái gì cả, hic hic, làm có dễ không zậy, zậy tui đi , ke ke, mèng ơi, điệu này mình phải thu lại cái câu đệ nhất CBS mất T_T .
Tôi lại thất hứa nữa rồi, tại thấy cái này cũng cần thiết nên làm trước, xin lỗi mí bạn nhé. Sau một số bài ở trên, chắc hẳn bạn đã được làm quen với switch, variable, fork rồi. Có bạn hiểu lờ mờ (là tôi đó), có bạn đã biết trước, có bạn chưa hiểu gì. Vì vậy sau khi sục sạo trên mạng, tôi tìm ra bài hướng dẫn này, tôi liền bắt tay vào đọc và dịch nó. Hy vọng sau khi xem xong, bạn sẽ có một khái niệm cơ bản về switch, variable, fork, gần như là bắt buộc nếu bạn muốn có một game hay, độc đáo. SWITCH Switch là gì? Một switch chỉ có thể có một trong hai giá trị: 0 và 1. Một switch với giá trị 0 là “OFF”. Một switch với giá trị 1 là “ON”. Tất cả các switch, khi bạn lần đầu tạo một RPG, đều được tắt hết. Các switch ảnh hưởng đến RPG của bạn qua việc sử dụng các điều kiện (conditionals) switch trong bảng event. Nói nôm na thì cái switch, đúng như tên gọi của nó, chẳng qua cũng như một cái công tắc, bật nó lên thì event hoạt động, tắt đi thì event không hoạt động nữa. Các điều kiện switch là gì? Mở RPG maker 2k3 ra và tạo một event mới. Bạn sẽ thấy một danh sách các điều kiện dài kéo xuống dưới từ phía trên bên trái của bảng điều khiển (trong ô Event Conditión). Hai trong số các điều kiện này là switch. Nếu bạn đánh dấu vào ô bên cạnh mỗi điều kiện này, thì event chỉ hoạt động nếu switch tương ứng được bật lên (turn ON). Sử dụng các Switch như thế nào? Trong bảng lệnh của Event (event commands) có một lệnh tên là Change Switch. Nhấp vào đó, một hộp thoại với vài lựa chọn sẽ bung ra. Tôi xin liệt kê ra dưới đây: Choose Switches (Create Switch): cái này sẽ cho event biết switch nào để thay đổi. Có ba loại lựa chọn khác nhau: One: cho phép bạn đặt bất cứ switch nào bạn muốn, nhấp vào ô dấu “…” sẽ cho bạn một bảng danh sách các switch trong game của bạn (cả được sử dụng và không được sử dụng) và chọn một cái để thay đổi. Bạn cũng có thể đặt tên cho switch để dễ nhớ hơn và bạn cũng có thể tạo thêm switch mới trong bảng này. Các số ở đầu mỗi switch chính là số thứ tự của nó. Range: cho phép bạn thay đổi nhiều hơn một switch cùng lúc. Có tất cả hai số, số bên trái bắt buộc phải nhỏ hơn số bên phải và các số này chính là số thứ tự của các switch. Tất cả các switch ở giữa hai số này sẽ bị thay đổi. Ví dụ, khi bạn chọn số 5 cho bên trái và sô 9 cho bên phải, tất cả các switch có số thứ tự từ 5 đến 9 sẽ bị thay đổi. Variab: thay đổi switch dựa trên một variable (biến số). RPG Maker 2k3 sẽ đọc variable bạn chọn, sau đó thay đổi switch có số thứ tự tương ứng với variable đó. Đoạn dưới sẽ nói rõ về variable. Switch Operation: Phần này sẽ cho biết switch sẽ thay đổi như thế nào. ON nghĩa là switch sẽ được bật. OFF nghĩa là switch sẽ được tắt. ON/OFF nghĩa là switch sẽ tự bật tắt. Vậy đó, nếu switch ON thì nó bật, ngược lại nếu OFF thì nó tắt. Bạn có thể có được bao nhiêu switch? RPG maker 2k3 bắt đầu với mặc định là 100 switch. Nhưng bạn có thể tăng thêm tùy ý bằng cách nhấp vào ô Max Switches trong bảng điều khiển Switch. Bạn chỉ cần gõ vào một con số cho biết số tối đa mà bạn cần. Như một quy luật chung, một game khi hoàn thành chỉ nên chỉ định cho nó đủ số switch cần thiết. Vậy nếu bạn chuẩn bị tạo một đoạn demo, và bạn chỉ sử dụng 53 switch, hãy đặt con số tối đa là 53 thôi. Những cái nhỏ nhặt này sẽ giúp bạn giảm nhẹ dung lượng của trò chơi, tránh dư thừa không cần thiết. Các switch có hữu ích gì? Do switch chỉ có thể có một trong hai giá trị, bất cứ event nào chỉ có hai hàm có thể sử dụng nó. Điều gì đó như là một NPC nói điều gì khác đi so với lần đầu trong lần thứ hai bạn nói chuyện với anh ta, một rương báu vật sẽ trống rỗng sau khi bạn lấy đi món đồ trong đó hay một hoạt cảnh mà chỉ xuất hiện một lần. Sau đây tôi xin đưa một ví dụ đơn giản về cách dùng switch để tạo một chiếc rương báu vật: Tạo một event mới. Hình đại diện là một chiếc rương báu vật chưa mở nắp, Event Start Conditon là Push Key, Position là Below Hero, tất cả những cái khác để nguyên. Trong bảng lệnh, bạn đưa vào một Message: “1 potion”, một lệnh Change Item Held có nội dung sau: Operation: Add; Add/Drop Item: Potion; Constant: 1. Cuối cùng là lệnh Change Switch, trong đó bạn tạo một switch mới tên là Treasure Box hay tên gì để tiện nhớ về sau, turn ON. Tạo một event mới bằng cách nhấp vào ô New Page ở dòng đầu bảng điều khiển Event. Lần này bạn chọn hình đại diện là một chiếc rương đã mở nắp, các chọn lựa khác như event đầu tiên. Ở phần Event Conditons bạn đánh dấu vào phần Switch (một cái thôi) chọn switch Treasure Box. Trong bảng lệnh bạn đưa vào một Message: “Nothing”. Xong rồi đó, bây giờ thử coi thành quả mình làm xem. VARIABLE: Variable là gì? Không giống như switch, variable có thể là bất cứ giá trị nào, số dương và cả số âm. Vì vậy ngược lại với switch chỉ có thể là ON hoặc OFF, variable có thể là ON, có thể là OFF hoặc bất cứ chỗ nào trong khoảng giữa đó. RPG maker 2k3 bắt đầu với tất cả các variable bằng 0. Các variable ảnh hưởng đến RPG của bạn qua việc sử dụng các điều kiện variable (variable conditional) của trong bảng điều khiển event. Các điều kiện variable là gì? Trong bảng điều khiển event, trong phần event condition, có một ô đánh dấu tên là Variable. Khi ô này được đánh dấu, event chỉ hoạt động khi variable chỉ định có giá trị lớn hơn, nhỏ hơn, bằng hoặc không bằng với số được chỉ định. Tương tự như vậy, lệnh Fork Condition cũng có một vùng điều kiện variable rất mạnh sẽ được giải thích ở phần dưới. Sử dụng các variable như thế nào? Trong bảng lệnh của event có một lệnh tên là Change Variable. Nhấp vào đó và bạn sẽ có một bảng các lựa chọn đa dạng để thao tác một variable nhất định nào đó. Đó là: Choose Variable (Create Variable): One: Cho phép ban chọn bất cứ một variable nào bạn đã tạo bằng cách đưa ra một danh sách tất cả các variable. Con số đằng trước mỗi variable là số thứ tự. Ở đây bạn cũng có thể tạo một variable mới. Range: cho phép bạn đưa vào hai số, số bên trái phải nhỏ hơn số bên phải. Điều này sẽ thay đổi mọi variable nằm giữa hai số này. Nếu số bên trái là 5, số bên phải là 10 thì tất cả các variable có số thứ tự từ 5 đến 10 sẽ bị thay đổi. Variab: cho phép bạn chọn một variable từ danh sách của bạn. RPG maker 2k3 sẽ đọc các giá trị đó, và event sẽ tác động đến variable có số tương ứng với giá trị đó. What should the Operation be? (Operation) (Phép tính) Set: đặt giá trị của phần Set trong How mutch (Operand) mà không đòi hỏi gì thêm. Bốn kí hiệu kế tiếp chính là các hàm toán học căn bản: +,-,*,/ (trong phép chia các số dư sẽ được bỏ đi). Mod: tôi chưa hiểu rõ về phần này, có lẽ là lấy số dư. How mutch (Operand): Phần này sẽ xác định con số thứ hai sẽ ảnh hưởng đến variable của bạn. Set: là bằng với con số mà bạn đưa vào mà không đòi hỏi gì thêm. Variable: sẽ lấy một variable khác để làm hạng tử thực hiện các phép tính trên. Variable kế tiếp sẽ lấy một variable trong corrosponding location (xin lỗi vì tôi không dịch được từ này) làm hạng tử. Rand: sẽ lựa chọn ngẫu nhiên một số trong khoảng giữa số bên trái và số bên phải. Ví dụ nếu số bên trái là 5 và số bên phải là 9 thì một con số ngẫu nhiên từ 5 đến 9 sẽ được chọn. Item: có hai lựa chọn là: Owned (owning number): lấy số thứ tự của item được chọn mà bạn sở hữu làm hạng tử. Equiped (equipment number): lấy số corrosponding (???) trong danh sách item/equipment của bạn trong cơ sở dữ liệu (database) làm hạng tử. Hero: cho phép bạn lấy hạng tử bất cứ thứ gì (số Lv, lượng Hp hiện thời, Mp hiện thời, điểm kinh nghiệm Exp, Max Hp, Max Mp, các chỉ số của nhân vật, số thứ tự của món đồ mà nhân vật đang trang bị) từ bất cứ nhân vật nào của bạn. Event: cho phép bạn lựa chọn bất cứ event nào trên bản đồ hiện tại, và đặt hạng tử từ các giá trị tiêu biểu của event đó (như là Map ID, các tọa độ X Cordinate, Y Cordinate…) Other: cho phép bạn chọn hạng tử từ một số thứ khác như lượng Money hiện có, lượng thời gian còn lại, kích thước của nhóm nhân vật, số lần save, số trận đánh, số lần thắng, số lần thua, số lần bỏ chạy, âm thanh hiện thời… Giải thích rõ hơn: Hãy nghĩ về tiết đại số của bạn đi! Nhớ khi giáo viên giảng về các phương trình không? Trong ngôn ngữ toán học, variable (biến số) là một số mà bạn chưa biết và nó được đại diện bằng một chữ. Đây là một phương trình đơn giản: x + y = z Về cơ bản việc bạn làm với lệnh Change Variable là nói cho RM2k3 cách xây dựng phương trình của bạn. Đầu tiên bạn nói với nó giá trị khởi đầu bằng vùng “Choose Variable” trong bảng lệnh Change Variable. Hãy nghĩ nó như là “x” trong phương trình trên. Sau đó bạn nói cho nó laọi phép toán để thực hiện với vùng “What should the operation be?”. Cuối cùng bạn nói cho nó giá trị để thao tác, hay là “y” trong phương trình trên. “z” là kết quả cuối cùng của phương trình và là cái mà variable sẽ thay đổi thành. Ví dụ khi tôi muốn tạo một phương trình: 2*3=6 trong RM2k3. Tôi sẽ đặt tên variable của tôi là “Equation”. Nhớ là tất cả các variable đều bắt đầu bằng 0. Vậy điều đầu tiên tôi muốn làm là cho variable của tôi bằng 2. Đây là cách bạn điền vào ba vùng trong bảng lệnh Change Variable: Choose Variable: One (và tôi đặt tên là Equation) What should the operation be?: Set (bởi vì tôi muốn đặt cho variable là 2) How mutch: Set 2 (bởi vì 2 là giá trị của variable mà tôi muốn) Bây giờ variable Equation là bằng 2. Kế tiếp, tôi muốn tạo phương trình trên. Để làm điều đó, tôi tạo thêm một lệnh Change Variable với các lựa chọn trọng bảng lệnh như sau: Choose variable: One Equation (bởi vì Equation là variable mà tôi muốn thay đổi) What should the operation be?: * (bởi vì đây là phép tính nhân) How mutch: Set 3 (bởi vì 3 là số tôi muốn nhân lên) Mấy cái này thật rắc rối. Vậy tôi không thể tạo một game nếu không dùng các variable sao? Không hẳn thế. Sự thật là một chương trình làm game trước đây, RM95, không hề có variable. Bạn hoàn toàn có thể tạo một game khá hoàn hảo chỉ với việc sử dụng các Switch. Tuy nhiên, tốt hơn hết là bạn nên học cách sử dụng các variable. Chúng rất, rất mạnh. Gần như bất cứ một gía trị số nào có thể hình dung được có thể được đặt cho một variable và vận hành với nó, các variable chính là trái tim và linh hồn của các mini game (ngay cả với một câu đố đơn giản), các mánh làm hình ảnh sinh động, hoặc ngay cả các phép thuật tự tạo (như chiêu chôm chỉa chẳng hạn). Nếu bạn đã sơ sài ngay từ đầu với các variable, thì hướng dẫn này thật vô ích, hãy quên nó đi. Các variable có hữu ích gì? Do các variable có thể giữ bất cứ giá trị của bất cứ con số nào trong game của bạn, lợi ích của nó gần như vô tận. Variable có thể sử dụng để làm bất cứ gì từ việc điều chỉnh lại sự tổn thương trong các vùng dung nham đến việc tạo các điểm dịch chuyển ngẫu nhiên, tạo một bản đồ thế giới, tạo các trận đánh theo ý muốn,… và danh sách các ứng dụng cứ thế dài ra mãi. Đây là hai ví dụ đơn giản về công dụng của variable: Đầu tiên là một event đơn giản như sau: bạn muốn có một quyển sách mà không thể mở ra trừ khi có một nhân vật tên là Bob có ít nhất 100 Mp. Trong Database, tạo một parallet process common event. Tạo một variable tên là Bob’s Mp và định cho nó là lượng Mp hiện tại của Bob bằng lệnh Change Variable. Ba vùng trong bảng lệnh nên như thế này: Choose variable: One Bob’s Mp What should the opẻation be?: Set How mutch: Hero Bob MP Bây giờ, dù lượng Mp hiện tại của Bob là thế nào đi nữa thì nó cũng sẽ định giá trị đó cho variable Bob’s Mp. Rồi bạn tạo một event có hình đại diện là một quyển sách với Event Conditon là Variable Bob’s Mp, 100, Greater than or Equal to. Event start condition On Hero Touch, những thứ khác để nguyên. Như vậy nếu lượng Mp của Bob không đạt ít nhất là 100 thì event này sẽ không hoạt động. Ví dụ thứ hai tôi sẽ sử dụng một vùng số tự tạo (custom numberic field). Bạn muốn có một cửa hàng đặc biệt mà khồn sử dụng loại tiền thông thường, nó sử dụng một laọi đặc biệt đó là Magic Coins (MC). Trong trường hợp này tạo một Variable mới gọi là Magic Coins. Mọi event riêng lẻ trong đó nhân vật của bạn nhận được hoặc mất đi các MC sẽ làm thay đổi variable này. Vì vậy, nếu nhân vật của bạn tìm được 10 Magic Coins trong một cái hộp, ba vùng trong bảng lệnh variable của bạn sẽ là: Choose variable: One Magic Coins What should the operation be?: + How mutch: Set 10 Bây giờ, anh ta đã có được 10 MC, nhân vật của bạn muốn mua một món đồ trong cửa hàng đặc biệt đó có giá là 7 MC. Vậy ba vùng trong bảng lệnh variable sẽ là: Choose variable: One Magic Coins What should the operation be?: - How mutch: 7 Hai ví dụ trên là điều đơn giản nhất bạn có thể làm với các variable. Với variable, sẽ có rất ít điều bạn không thể làm trong RM2k3. FORK CONDITION: Fork là gì? Fork, trong sự kết hợp với variable, sẽ là những lệnh cực kỳ mạnh. Nếu bạn có hiểu biết về lập trình, hãy nghĩ fork đơn giản như là “IF…THEN…ELSE”(nếu…thì…nếu không thì). Nếu bạn không biết thì có thể hiểu đơn giản Fork như là một ngã ba. Sử dụng fork trong một event thì giống như là bạn tạo một điều kiện khác cho event đó. Sử dụng fork như thế nào? Chọn Fork Condition trong trang thứ ba của bảng lệnh event, bỏ đánh dấu ở phần cuối cùng (option) của bảng lệnh đi, nhấn OK. Bạn sẽ thấy là thay vì thêm một dòng như các lệnh khác, bạn đã thêm vào ba dòng. Chúng giống như thế này: <>CondtnFrk [điều kiện] <> <>Fork End Bất cứ lệnh nào bạn thêm vào giữa hai dòng CondtnFrk và Fork End sẽ chỉ xảy ra nếu điều kiện được thỏa mãn. Nếu không thì tất cả các lệnh sẽ được bỏ qua. Trong ngôn ngữ lập trình thì nó là “Nếu(If) [điều kiện là đúng] Thì(Then) [các lệnh]”. Nếu bạn đánh dấu vào ô cuối (optioncùng trong bảng lệnh Fork Condition thì nó sẽ trông như thế này: <>CondtnFrk [điểu kiện] <> <>Exception <> <>Fork End Bất cứ lệnh nào bạn thêm vào giữa hai dòng CondtnFrk và Exception sẽ chỉ xảy ra nếu điều kiện được thỏa mãn. Bất cứ lệnh nào bạn thêm vào giữa hai dòng Exception và Fork End sẽ chỉ xảy ra nếu điều kiện không thỏa mãn. Theo ngôn ngữ lập trình nó sẽ là: “IF…THEN…ELSE”. Rõ ràng rằng việc đánh dấu vào ô cuối cùng trong bảng lệnh làm cho mọi việc thêm phức tạp hơn, nhưng cũng tăng sức mạnh của lệnh hơn. Tôi sẽ cho bạn thấy cái tôi hiểu trong ví dụ dưới. Các điều kiện của Fork là gì? Các điều kiện của Fork một cách chính xác giống như các điều kiện của Event, chỉ có nhiều hơn mà thôi. Có hai trang đầy các điều kiện của Fork được xác định bằng việc đánh dấu vào các ô bên dưới. Chúng là: Switch: Fork xảy ra nếu Switch được chọn là ON (hoặc nếu bạn chọn là OFF) Variable: Cái này mạnh hơn nhiều so với các điều kiện variable thường ở bảng điều khiển event, về cơ bản bởi vì bạn có sức mạnh của sự so sánh. Đầu tiên chọn variable (số đầu tiên) bạn muốn so sánh. Sau đó chọn một trong hai ô đánh dấu Constant và Variable (ô trên cho phép bạn so sánh variable với một con số nhất định nào đó, ô dưới cho phép bạn so sánh với một variable khác) (số thứ hai). Cuối cùng là chọn kiểu so sánh. “Equal (Same)” nghĩa là bằng nhau, “Raise (Above)” nghĩa là số đầu tiên phải lớn hơn số thứ hai, “Lower (Below)” nghĩa là số đầu tiên phải nhỏ hơn số thứ hai, “Bigger” và “Smaller” công dụng dường như giống với “Raise” và “Lower”, tôi chưa từng thử với chúng. Và tôi không hoàn toàn chắc “Not (Other)” là gì, có lẽ là không bằng nhau thôi. Timer 1: Cái này đặt điều kiện là thời gian còn lại trên đồng hồ. Chọn “Greater than (Above)” nếu bạn muốn Fork thực hiện khi thời gian còn nhiều hơn bạn đã chọn và chọn “Less than (Below)” nếu bạn muốn Fork thực hiện khi thời gian còn ít hơn. Timer 2: Tôi chưa nghiên cứu nhưng công dụng có lẽ như cái trên. Owned Money: Điều này sẽ đặt điều kiện dựa trên lượng tiền bạn đang có. Chọn “Greeter than” nếu bạn muốn Fork thực hiện khi số tiền là nhiều hơn con số bạn định, “Less than” nếu bạn muốn điều ngược lại. Item: Đặt điều kiện dựa trên bất cứ món đồ nào bạn muốn. Chọn “Holding” nếu bạn muốn Fork thực hiện khi trong nhóm của bạn có giữ cóm đồ đó, “Not holding” nếu bạn muốn điều ngược lại. Hero: đặt điều kiện dựa trên một nhân vật của bạn. Các lựa chọn cho phép bạn đặt điều kiện dựa trên sự hiện diện của nhân vật trong nhóm, tên nhân vật, cấp độ Lv, lượng Hp, sử dụng một kĩ năng nào đó, món đồ được trang bị, tình trạng bênh tật. Cha (character): Chọn một trong số các lựa chọn mà bạn có thể (hero, boat, airship, this event, một event nào đó), sau đó chọn phướng hướng. Fork sẽ thi hành dựa trên phướng hướng bạn đã chọn. Hai cái cuối cùng tôi chưa từng thử qua vì thế tôi để cho bạn tự khám phá. Cái gì có thể đưa vào một Fork? Bên trong Fork của bạn, bạn muốn làm gì cũng được. Bất cứ một lệnh nào cũng có thể đưa vào, ngay cả một lệnh Fork khác. Điều này cho phép bạn có thể hoàn toàn điều khiển được tất cả các khía cạnh trong các điều kiện của game. Điểm khác nhau giữa một Fork và một trang Event? Thật ra, nó không có sự khác biệt. Bất cứ gì bạn có thể thực hiện với một Fork, bạn đều có thể thực hiện với một Event. Nhưng vì Fork có nhiều điều kiện hơn và quyền lựa chọn một trường hợp ngoại lệ (Exception Case), và vì nó có thể hòa nhập trực tiếp vào mã event của bạn, nên nó dễ theo dõi và kiểm soát hơn. Hay nói cách khác, việc phác thảo một event với 10 fork dễ hơn là phác thảo ra một event với 10 trang. Fork gần như rắc rối như variable. Vậy một game có thể không cần Fork được không? Một lần nữa, chẳng có vấn đề gì cả. Bạn có thể tạo ra một game hoàn hảo chỉ với việc sử dụng switch và event conditions mà thôi. Tuy nhiên, fork sẽ rất tốt cho một số thứ như minigame chẳng hạn. Hơn nữa, một vài phép so sánh các variable rất mạnh lại chỉ có thể sử dụng bằng fork mà thôi. Fork có những hữu ích gì? Tôi lại đưa ra hai ví dụ đơn giản để bạn thấy điều này. Cái đầu tiên sẽ không có trường hợp ngoại lệ, cái thứ hai sẽ có. Ví dụ đầu tiên là một fork đơn giản ở giữa một cuộc nói chuyện. Bạn có nhân vật chính đang nói chuyện với người bạn về con quái vật mà bạn sắp đánh. Người bạn nhắc bạn con quái vật chống đỡ yếu đối với phép lửa. Nếu nhân vật chính đã có phép lửa (Fire) rồi, bạn muốn anh ta nói một điều gì đó. Bạn sẽ làm như vầy: <>Text: Friend: The monster is weak to fire magic! <>CondtnFrk: Hero Fire can use <>Text: Hero: No problem! I already have the Fire Spell. <>Text: Friend: Alright! <>Fork End <>Text: Hero: Let’s go! Nếu nhân vật chính chưa học được phép Fire, cuộc nói chuyện sẽ như sau: Friend: The monster is weak to fire magic! Hero: Let’s go! Nhưng nếu anh ta đã học được phép này rồi, cuộc nói chuyện sẽ như sau: Frriend: The monster is weak to fire magic! Hero: No problem! I already have the Fire Spell. Friend: Alright! Hero: Let’s go! Giờ tôi sẽ trình bày ví dụ về fork với trường hợp ngoại lệ. Bạn muốn Switch “Puzzle complete” sẽ được bật sau khi nhân vật giải đáp được câu đố. Bạn có một điểm dịch chuyển sẽ đưa nhân vật đến căn phòng kế tiếp nếu switch Puzzle complete được bật nếu không thì sẽ đưa anh ta trở về chỗ cũ. Nó sẽ giống như vầy: <>CondtnFrk: Switch[xxxxPuzzle complete] ON <>Teleport:next room (vị trí bạn tự đưa vào) <>Exception: <>Teleport:last room (vị trí bạn tự đưa vào) <>Fork End Trong trường hợp này, nếu switch được bật (câu đố được giải) thì nhân vật chính sẽ được đi tiếp, nếu không anh ta sẽ bị đưa về vị trí cũ. Xong rồi, mệt quá đi! Coi xong cái này có thể bạn đã có một vài ý tưởng độc đáo trong đầu rồi he. Hãy cố gắng thực hiện nó đi, sau nhiều thử nghiệm tôi nghĩ bạn sẽ tạo ra nhiều điều thú vị đấy! Bài này tôi lấy trong trang http://www.rpgmaker2000.narod.ru/rm2k_faq.htm Bạn có thể vô đây để tham khảo.
Qua bao trăn trở, cuối cùng tôi cũng đã có thể tạo cho riêng mình một CMS, tuy đơn giản nhưng tôi thấy nó mở ra một triển vọng lớn. Tôi post lên đây cho các bạn tham khảo. Để có một CMS, theo hướng dẫn này, trước hết bạn phải chuẩn bị một số thứ: Một hình vẽ Menu có 5 lựa chọn với con trỏ đang ở lựa chọn thứ nhất. Hình vẽ menu với con trỏ ở lựa chọn thứ hai. Tương tự hình vẽ menu ở lựa chọn thứ ba, tư, năm. Tổng cộng là 5 hình vẽ. Bạn có thể tạo ra bằng chương trình vẽ nào đó. Tốt nhất là Idraw, cái này là chương trình chuyên dụng để bạn có thể chỉnh sửa, vẽ mới các hình ảnh trong RM. Save tất cả các hình này vào trong thư mục RPT/Picture (nơi chương trình RM2k3 của bạn được cài vào). Xong, mở Rk2k3 lên. Bạn tạo cho tôi một Call Common Event tên là CMS. Bên trong, bạn làm theo các bước sau: 1. Tạo một Variable mới bằng Change Variable, đặt tên là Choice, định cho nó bằng 1 (Set, Set 1). 2. Đưa vào hình Choice1 với lệnh Show Picture. Lưu ý, trong bảng lệnh của Picture, bạn có để ý đến số thứ tự của picture không, nếu muốn nhiều hình cùng hiện ra trên màn hình cùng lúc bạn phải để cho các hình có số thứ tự khác nhau, nếu các hình đưa vào có cùng số thứ tự, màn hình sẽ chỉ hiện ra hình cuối cùng (đúng ra là cũng có hiện ra nhưng nó không chờ đợi vì vậy ta chỉ có thể thấy kết quả cuối cùng là tấm hình cuối). Trở lại với hình Choice1, bạn cho số thứ tự là 1, chọn Direct Assign X 24, Y 199 (đay là tọa độ của điểm chính giữa tấm hình trên màn hình), OK. 3. Tạo một label với lệnh Set Label (1 đối với hướng dẫn này). 4. Tạo lệnh Enter Password, đánh dấu ba lựa chọn đầu tiên trong phần Etry Allow Key, tạo một Variable tên là Vpassword cho password này. 5. Tạo lệnh Fork Condition, bỏ đánh dấu trong lựa chọn dưới cùng để không có phần ngoại lệ (Exception). Chọn variable Vpassword và cho nó bằng 1. Bên trong Fork (khoảng giữa dòng CondtnFrk và dòng Fork End): 6. Change Variable: chọn Choice variable, +, Set 1. 7. Tạo một lệnh Fork Condition khác, không có phần ngoại lệ. Chọn varriable Choice, cho nó bằng 6 (hay 7 nếu bạn có 6 lựa chọn,… số này lớn hơn số lựa chọn bạn muốn có là 1). Bên trong Fork: 8. Change Choice variable: Set, Set 1. <>Fork End 9. Tạo một lệnh Go To Label: 2 <>Fork End 10. Tạo một lệnh Fork Condition, không có ngoại lệ, chọn variable Vpassword, cho nó bằng 2. Bên trong Fork: 11. Go To Label: 1 <>Fork End 12. Tạo một Fork Condition, không có ngoại lệ, chọn variable Vpassworrd, cho nó bằng 3. Bên trong Fork: 13. Go to Label: 1 <>Fork End 14. Tạo một Fork Condition, không có ngoại lệ, chọn variable Vpassword, cho nó bằng 4. Bên trong Fork: 15. Change Variable:Choice, -, Set 1. 16. Tạo một Fork Condition khác, không có ngoại lệ, chọn variable Choice, cho nó bằng -1. Bên trong Fork: 17. Change Variable: Choice, Set, Set 1. <>Fork End 18. Go to Label: 2 <>Fork End 19. Tạo một Fork Condition, không có ngoại lệ, chọn variable Vpassword, cho nó bằng 5. Bên trong Fork: 20. Tạo một Fork Condition khác, không có ngoại lệ, chọn variable Choice, cho nó bằng 1. Bên trong Fork: 21. Làm bất cứ việc gì bạn muốn đối với lựa chọn thứ nhất. <>Fork End 22. Tạo thêm một Fork Condition, không có ngoại lệ, chọn variable Choice, cho nó bằng 2. Bên trong Fork: 23. Làm bất cứ gì bạn muốn đối với lựa chọn thứ hai. <>Fork End 24. Tạo thêm một Fork Condition, không có ngoại lệ, chọn variable Choice, cho nó bằng 3. Bên trong Fork: 25. Làm việc gì bạn muốn đối với lựa chọn thứ ba. <>Fork End 26. Tạo thêm một Fork Condition, không có ngoại lệ, chọn variable Choice, cho nó bằng 4. Bên trong Fork: 27. Làm gì bạn muốn đối với lựa chọn thứ tư. <>Fork End 28. Tạo thêm một Fork Condition, không có ngoại lệ, chọn variable Choice, cho nó bằng 5. Bên trong Fork: 29. Làm gì bạn thích đối với lựa chọn thứ năm. <> Fork End (Tiếp tục như thế nếu bạn có 6,7,8… lựa chọn) 30. Tạo label 2 bằng lệnh Set Label. 31. Tạo một Fork Condition, không ngoại lệ, chọn variable Choice, cho nó bằng 1. Bên trong Fork: 32. Show Picture: đưa vào hình con trỏ ở lựa chọn đầu tiên (No1, Choice1, tọa độ (X 24, Y 199)) <>Fork End 33. Tạo một Fork Condition, không ngoại lệ, chọn variable Choice, cho nó bằng 2. Bên trong Fork: 34. Show Picture: đưa vào hình con trỏ ở lựa chọn thứ hai (No1, Choice2, tọa độ X 24 Y 199). <>Fork End 35. Tạo một Fork Condition, không ngoại lệ, chọn variable Choice, cho nó bằng 3. Bên trong Fork: 36. Show Picture: đưa vào hình con trỏ ở lựa chọn thứ ba (No1, Choice3, X 24 Y 199). <>Fork End 37. Tạo một Fork Condition, không ngoại lệ, cho variable Choice bằng 4. Bên trong Fork: 38. Show Picture: đưa vào hình con trỏ ở lựa chọn thứ tư (No1, Choice4, X 24 Y 199). <>Fork End 39. Tạo một Fork Condotion, không ngoại lệ, cho variable Choice bằng 5. Bên trong Fork: 40. Show Picture: đưa vào hình con trỏ ở lựa chọn thứ năm (No1, Choice5, X24 Y 199). <>Fork End Tiếp tục nếu bạn có 6,7,8… lựa chọn. 41. Tạo lệnh Wait: 0 s 42. Go to Label: 1 Thế là xong, phê wé. Bạn vừa mới tạo một CMS rồi đó. Gòi, bây giờ là lúc gọi menu bạn mới tạo ra đây. 1. Mở thư mục RTP lên, vào thư mục Backdrop copy một file bất kì patse vào thư mục Panorama, ở đây tôi chọn file ForestP. 2. Tạo một map con tên batle hay cái gì cũng được, đánh dấu vào ô Use Panorama Background trong phần Panorama, nhấp vào nút Change trong Select Graphic, chọn file ForestP, các phần khác để nguyên, OK. 3. Tạo một Event trong Map chính, hình đại diện là một con quái vật nào cũng được. Event Start Condition là On Hero Touch, Movement Type tùy bạn chọn, những cái khác để nguyên hay thay đổi tùy bạn, OK. 4. Trang lệnh của Event gồm các lệnh sau: Set Hero Transparency: Set Transparency. Teleport: Ở bản đồ chính bạn chọn vị trí ngay vị trí của event này. Ở bản đồ con Batle, bạn chọn vị trí nào cũng được. (Việc chọn vị trí này thực hiện bằng cách nhấp vào một điểm trên khung hình kế bên). Những cái khác để nguyên, OK. Call Event: chọn Common Event tên là CMS. Xong rồi đó, bây giờ bạn test thử xem. Khi bạn di chuyển trên bản đồ chính và đụng phải con quái vật, bạn sẽ được đưa đến một khung cảnh trận đấu, trong đó có bảng menu mà bạn vừa tạo ra. Thú vị phải không, đây là bước đầu tiên để tạo CBS đấy. Tôi kèm theo đây 5 hình.
Hic, pác namff post bài này làm gì T_T, tui xin nêu zài cái pác không nên post bài này lên như sau, tụi nghiẹp pác tốn nhìu công sức nhưng ... : 1. Híc, cái CBS pác hướng dẫn wá đơn giản T_T, tui không có ý khinh thường pác nhưng mà cái CBS pác nói ở rpg maker 2003 có sẵn gòi còn đâu, hic. 2. Bản rpg maker 2003 nó chuối ở cái nó không cho phép tạo thêm CBS zì nó đã có sẵn gòi, tạo xong tui dém chắc 100 % zới pác là bị lỗi tùm lum, ai giỏi lập trình thì vô mã nguồn sửa lại cái CBS của nó thì may ra lúc đó tạo được T_T. 3. Đó, nói thía thui, đừng post nữa mất công lém T_T, nếu post thì post những pài như trước á, hay post CMS ý, cái đó thì ở cả bản 2000 và 2003 đều chẳng bị seo cả, còn đẹp nữa chứ, hic T_T, tui là bạn ông nên tui thành thật khuyên ông zậy đó, có thể sau pài này ông sẽ ghét tui zà cho rằng tui là thèng tinh zi, cậy bít tạo CBS mà lên mặt thì tui cũng chẳng trách gì pác ... T_T
Cám ơn lời khuyên của bác, thật ra tôi post chơi vậy thui chứ có ý định làm đâu, mất công lém. Chẳng qua tại tôi muốn có đưa nhân vật của mình vô đó mè, nhưng không biết làm sao để thêm hết á, còn sửa mã nguồn á, pó tay thui. Còn cái bài trên thật ra cũng không tốn công lém, luyện AV với gõ tiếng việt thui mè. Bạn nào rảnh rổi vô đây mà coi hướng dẫn, trong đây có cả game nữa đó. http://www.gamingw.net
NON PLAYER CHARACTER (NPC), các nhân vật không thể điều khiển Trong khi họ không thường là những nhân vật quan trọng trong câu truyện, các NPC lại là một phần thiết yếu để giữ cho một trò chơi tiến triển. Tuy nhiên, các nhà thiết kế, thậm chí cả những người chuyên nghiệp, dường như không nhận thấy hết tất cả tiềm lực của NPC. Họ có thể không cùng nắm giữ câu truyện, nhưng họ lại là thứ cùng nắm giữ thế giới. Bởi vì đơn giản không có người thì… thế giới trở nên trống rỗng. Cho những ai chưa biết, NPC đại diện cho những nhân vật không thể điều khiển. Nhưng chỉ vì bạn không thể điều khiển được họ, không có nghĩa là họ không quan trọng. Thất vọng lớn nhất của tôi về NPC là người ta không biết làm cách nào để cho chúng chiều sâu. Họ không nên chỉ đi qua đi lại theo một tuyến đường vạch sẵn để bạn thu thập những thông tin vô ích, họ nên có một cuộc sống, một con người đang thở trong thế giới của bạn. Trong hướng dẫn này, tôi sẽ giải thích các dạng chung nhất của NPC và cách để cải thiện chúng trong game của bạn. Tất cả các NPC có thể chia làm hai loại, dân làng và VIP (nhân vật rất quan trọng). Dân làng: không phải lúc nào họ cũng là người mở đường cho câu truyện, dân làng chỉ là một NPC tuy không là gì cả nhưng họ sống. Họ đi vòng quanh môi trường của họ có cuộc sống, họ cung cấp thông tin cho các nhân vật có thể điều khiển. Hãy nhớ rằng mỗi NPC đều có tính cách riêng, nhưng quan trọng hơn đó là những điều đó phản ánh lại tình hình, trạng thái xung quanh. Một người dân sẽ không nói chuyện với nhân vật mà không có một lý do nào. Bạn sẽ nói chuyện với một người hoàn toàn xa lạ nếu anh ta tự nhiên xuất hiện ở một nơi nào đó và hỏi bạn tìm viên tinh thể của vương quốc quái vật ở đâu chứ? Chắc chắc là không. Bạn phải nhận ra rằng NPC sẽ không tử tế với một người vào nhà anh ta mà không được mời. Bạn có muốn ai đó đột nhập vào nhà của bạn và cuỗm hết mọi thứ quý giá đi không? Chắc chắn là không rồi. Sự phản ánh: như tôi đã nói ở trên, một NPC phản ánh lại môi trường theo bốn cách chung: Ngạc nhiên, thích thú, sợ hãi, giận dữ hoặc hạnh phúc. Sử dụng những điều này trong sự kết hợp với các event mà sẽ xảy ra trong game để xây dựng các cuộc đối thoại cơ bản cho các NPC. Nếu thế giới sẽ xấu đi, một vài NPC có thể sẽ tức giận với các vị thần hoặc cái gì đó, một số khác lại ngạc nhiên hoặc sợ hãi. Hãy dùng trí tưởng tượng của bạn để tạo ra một vài chủ đề hay cho NPC của bạn nói. Các cuộc trò chuyện và các lối sống: Đừng tạo các cuộc nói chuyện vu vơ. Sự sâu sắc của NPC sẽ tăng thêm tính hiện thực của thế giới của bạn. Hãy đặt NPC vào giữa một bí mật bên ngoài cốt truyện. Cho họ gợi ý về các truyền thuyết hay các món đồ bí mật nào đó. Thật sự, một cách bạn có thể tạo game của mình là có các NPC là chất kết dính cho câu truyện của bạn được liên tục. Đừng nên chỉ có một NPC chỉ biết lặp đi lặp lại một điều, hãy sử dụng các switch để thay đổi đề tài. Tôi chưa từng thấy một game mà hoàn toàn sử dụng các switch để làm điều đó cả (có lẽ phải hơn 30.000) vậy đừng e ngại khi sử dụng một switch phụ hoặc variable để tạo một chuỗi các chủ đề ngẫu nhiên. Đây là cái mà làm cho hầu hết mọi người hứng thú, phát hiện ra rằng thế giới trong game của bạn đa dạng hơn cái mà họ có thể thấy trước được trên một con đường đã định sẵn. Một điều khác liên quan đến các NPC là cách mà họ sống. Đừng cho họ đi lang thang không mục đích trong ngôi làng, cho họ một con đường để theo. Cho họ đi vòng quanh, ngắm nhìn phong cảnh, vào các tòa nhà, hoặc chỉ đứng và ngắm nhìn bầu trời. Thậm chí bạn không có kế hoạch tạo thêm các tư thế cho các hình đại diện, chỉ cần NPC đi vào các tòa nhà cũng đã đủ tăng tính hiện thực cho thế giới của bạn. Dĩ nhiên, lại sử dụng trí tưởng tượng của bạn, nhưng đừng quên sức mạnh của hàng ngàn switch mà bạn được cung cấp. Hãy nhớ rằng, sử dụng các switch không làm chậm đi game của bạn. Giờ, để kết thúc vấn đề này. Tôi xin đưa ra một vài cuộc đối thoại với một NPC và cách họ phản ứng lại. Giả định: Thế giới sắp bị hủy diệt bới một thiên thạch khổng lồ. NPC ngạc nhiên: “Thực sự có thể kết thúc như thế này sao? Thần thánh đã nói thế giới sẽ kết thúc bởi một trận đại hồng thủy nhưng tôi không bao giờ trông đợi điều gì như thế này lại xảy ra.” NPC tức giận: “Chính quyền thành phố phải chịu trách nhiệm về điều này! Nếu họ có thể gửi đến Uranus một tàu thăm dò, tôi chắc rằng họ có thể xóa sổ cái thứ này.” NPC sợ hãi: “Tôi còn nhiều việc chưa làm, tôi không thể chết như thế này được!” NPC hạnh phúc: “Một cách nào đó, tôi muốn thế giới này bị hủy diệt. Sạch sẽ, tôi sẽ nói như vậy. Chúa sẽ đưa tôi lên thiên đường và tôi sẽ hưởng thụ cuộc sống sau khi chết ở đó, trong khi kẻ có tội sẽ bị thiêu đốt dưới địa ngục.” NPC thích thú: “Vâng, như giáo điều của giáo phái tôi đã nói. Một cái gì đó sẽ vươn lên từ thiên thạch, và với sức mạnh của nó sẽ trở thành quyền lực tối cao của thế giới.” Giả định: Bạn vừa mới giải thoát cho thôn làng khỏi một băng cướp. Giận dữ: “Hừ, anh làm tốt đấy! Gần một nửa căn nhà của tôi đã bị phá hủy rồi còn gì!” Sợ hãi: “Anh có thể đuổi chúng đi bây giờ, nhưng nếu chúng trở lại thì sao?” Thích thú: “Hèm, tôi chắc là nếu bán một vài sản phẩm với hình của anh trên đó có lẽ tôi sẽ thu được một món hời đây.” Hạnh phúc: “Tốt, giờ bọn chúng đã đi rồi, chúng tôi lại có thể trở lại cuộc sống bình thường. Xin cảm ơn người anh hùng, tôi chắc rằng mọi người cũng đánh giá đúng hành động của anh.” Ngac nhiên: “Chà nhanh thật! Đầu tiên tôi nhớ mình làm nô lệ cho lũ heo đó, còn bây giờ tôi đã sắp làm nô lệ cho chính quyền.” Như bạn thấy đó, bạn có thể dễ dàng làm cho cho một NPC thú vị hơn, một nhân vật sống theo những quy luật phản ánh cuộc sống. Nhưng xin bạn đừng nên bó buộc bằng những quy luâtj đơn giản. Như tôi đã nói trước đó, sử dụng trí tưởng tượng của bạn, bởi vị như Einstein đã từng nói: “Sự tưởng tượng quan trọng hơn cả sự hiểu biết”. VIP: nhân vật rất quan trọng, là một NPC mà không cần có nhiều nhưng tôi cảm thấy cũng nên đề cập đến. VIP là chất keo kết dính của câu truyện (đừng nhầm lẫn với dân làng là chất kết dính cho thế giới). Đây là những nhân vật có một vai trò lớn gần như (có khi hơn) các nhân vật chính. Họ là những gã đứng đằng sau chỉ huy cho nhân vật có thể điều khiển biết nơi cần đến, việc phải làm hoặc phải tìm kiếm. Khi tạo một VIP, hãy cho họ một quá khứ và một lý do cho việc họ làm. Một VIP thông thường là một viên chức thành phố hoặc một nhân vật hùng mạnh, người mà có hiểu biết về toàn thế giới. Mách bảo thực sự của tôi về những gã này là tạo họ theo cách bạn muốn đối với các nhân vật chính của bạn. Tôi ước gì có thể cung cấp thêm cho bạn về các tính của họ, nhưng đó thực sự là sự thử nghiệm và sai lầm. Hãy làm điều gì hợp với bạn.