กลับไปหน้าบทความ

อ่าน 12 นาที

แจ้ง

เปลี่ยนทางจากการแก้ไขความกำกวมที่ไม่จำเป็น/การเปลี่ยนเส้นทางที่ไม่สามารถพิมพ์ได้

Informเป็นภาษาโปรแกรมและระบบออกแบบสำหรับนิยายเชิงโต้ตอบที่สร้างขึ้นครั้งแรกในปี 1993 โดยGraham Nelson Inform สามารถสร้างโปรแกรมที่ออกแบบมาสำหรับ เครื่องเสมือน Z-codeหรือGlulxได้...

แจ้ง

แจ้ง
ผู้เขียนต้นฉบับเกรแฮม เนลสัน
นักพัฒนาเกรแฮม เนลสัน
เวอร์ชันเสถียร
10.1.2 /  31 สิงหาคม  2022  ( 2022-08-31 ) [ 1 ]
ระบบปฏิบัติการระบบปฏิบัติการ Microsoft Windows , Mac OS X , Linuxและอื่นๆ
พิมพ์การพัฒนาและการเล่นนิยายเชิงโต้ตอบ
ใบอนุญาตศิลปะ 2.0 [ 2 ]
เว็บไซต์https://ganelson.github.io/inform-website/

Informเป็นภาษาโปรแกรมและระบบออกแบบสำหรับนิยายเชิงโต้ตอบที่สร้างขึ้นครั้งแรกในปี 1993 โดยGraham Nelson Inform สามารถสร้างโปรแกรมที่ออกแบบมาสำหรับ เครื่องเสมือน Z-codeหรือGlulxได้ เวอร์ชัน 1 ถึง 5 ได้รับการเผยแพร่ระหว่างปี 1993 ถึง 1996 ประมาณปี 1996 Nelson ได้เขียน Inform ใหม่ตั้งแต่หลักการพื้นฐานเพื่อสร้างเวอร์ชัน 6 (หรือInform 6 ) [ 3 ]ตลอดทศวรรษต่อมา เวอร์ชัน 6 ได้กลายเป็นภาษาที่มีความเสถียรและเป็นที่นิยมสำหรับการเขียนนิยายเชิงโต้ตอบ ในปี 2006 Nelson ได้เผยแพร่Inform 7 (รู้จักกันในชื่อNatural Inform ในช่วงสั้นๆ ) ซึ่งเป็นภาษาใหม่ทั้งหมดที่อิงตามหลักการของภาษาธรรมชาติและชุดเครื่องมือใหม่ที่อิงตามอุปมาอุปไมยของการตีพิมพ์หนังสือ

Z-Machine และ Glulx

คอมไพเลอร์ Inform จะแปลงโค้ด Inform เป็นไฟล์เรื่องราวสำหรับGlulxหรือZ-code ซึ่ง เป็นเครื่องเสมือนสอง ประเภท ที่ออกแบบมาโดยเฉพาะสำหรับนิยายเชิงโต้ตอบ Glulx ซึ่งสามารถรองรับเกมขนาดใหญ่ได้นั้นเป็นตัวเลือกเริ่มต้น

โปรแกรม Z-machine ถูกพัฒนาขึ้นครั้งแรกโดยInfocomในปี 1979 สำหรับเกมอินเทอร์แอคทีฟฟิกชั่นของพวกเขา เนื่องจากมีตัวแปลภาษาอย่างน้อยหนึ่งตัวสำหรับแพลตฟอร์มหลักและแพลตฟอร์มรองเกือบทุกแพลตฟอร์ม นั่นหมายความว่าไฟล์ Z-code เดียวกันสามารถทำงานได้บนหลายแพลตฟอร์มโดยไม่ต้องแก้ไขใดๆ เดิมที Infocom ตั้งเป้าหมายไว้ที่โปรแกรม Z-machine เพียงอย่างเดียว

แอนดรูว์ พล็อตคินได้สร้าง Inform 6 เวอร์ชันที่ไม่เป็นทางการ ซึ่งสามารถสร้างไฟล์สำหรับGlulx ได้ด้วย Glulx เป็นเครื่องเสมือนที่เขาออกแบบมาเพื่อเอาชนะข้อจำกัดหลายอย่างของ Z-machine ที่มีอายุหลายสิบปี เริ่มตั้งแต่ Inform 6.3 ที่วางจำหน่ายเมื่อวันที่ 29 กุมภาพันธ์ 2547 Inform 6 ได้รวมการสนับสนุนอย่างเป็นทางการสำหรับเครื่องเสมือนทั้งสองแบบ โดยอิงจากงานของแอนดรูว์ พล็อตคิน Inform 7 เวอร์ชันแรกๆ ไม่รองรับ Glulx แต่ในเดือนสิงหาคม 2549 ก็ได้มีการอัปเดตเพื่อรองรับ Glulx

แจ้ง 6

ข้อมูล 1–6
กระบวนทัศน์เชิงวัตถุ , ขั้นตอนการทำงาน
ออกแบบ โดยเกรแฮม เนลสัน
นักพัฒนาเกรแฮม เนลสัน
 ปรากฏครั้งแรกพ.ศ. 2536
เวอร์ชันเสถียร
6.42 /  10 กุมภาพันธ์  2024  ( 2024-02-10 ) [ 4 ]
โอเอสระบบปฏิบัติการ Microsoft Windows , Mac OS X , Linuxและอื่นๆ
ใบอนุญาตซอฟต์แวร์ฟรีและใบอนุญาตทางศิลปะ 2.0
เว็บไซต์inform-fiction.org
ได้รับอิทธิพลจาก
เครื่อง Z , C [ 5 ]
ได้รับอิทธิพล
แจ้ง 7

Inform ถูกสร้างขึ้นครั้งแรกโดยGraham Nelsonในปี 1993 ในปี 1996 Nelson ได้เขียน Inform ใหม่ทั้งหมดตั้งแต่หลักการพื้นฐานเพื่อสร้างเวอร์ชัน 6 (หรือ Inform 6) ตลอดทศวรรษต่อมา เวอร์ชัน 6 ได้กลายเป็นภาษาที่มีความเสถียรและได้รับความนิยมในการเขียนนิยายเชิงโต้ตอบ

ระบบ Inform 6 ประกอบด้วยส่วนประกอบหลักสองส่วน ได้แก่คอมไพเลอร์ Informซึ่งสร้างไฟล์เรื่องราวจากซอร์สโค้ด Inform และไลบรารี Informซึ่งเป็นชุดซอฟต์แวร์ที่จัดการงานที่ซับซ้อนส่วนใหญ่ในการวิเคราะห์ข้อความที่ผู้เล่นป้อนเข้ามาและติดตามโมเดลของโลก ชื่อ Inform ยังหมายถึงภาษาโปรแกรม Informที่คอมไพเลอร์เข้าใจอีก ด้วย

แม้ว่า Inform 6 และ Z-Machine จะได้รับการออกแบบโดยคำนึงถึงนิยายเชิงโต้ตอบเป็นหลัก แต่ก็มีการพัฒนาโปรแกรมอื่นๆ อีกมากมาย รวมถึง ตัวแปล ภาษา BASIC , บทเรียน LISP (พร้อมตัวแปลภาษา), เกม Tetris และเกม Snakeเวอร์ชันหนึ่งด้วย

คอมไพเลอร์ Inform 6

คอมไพเลอร์ Inform จะสร้างไฟล์สำหรับเครื่อง ZหรือGlulx (เรียกอีกอย่างว่าไฟล์เรื่องราว) จากซอร์สโค้ด ของ Inform 6

ภาษาโปรแกรม Inform 6

ภาษาโปรแกรม Inform เป็นภาษาเชิงวัตถุและเชิงกระบวนการองค์ประกอบสำคัญของภาษานี้คือวัตถุ วัตถุจะถูกจัดเก็บในโครงสร้างต้นไม้ของวัตถุ ซึ่งแสดงความสัมพันธ์ระหว่างพ่อกับลูก เนื่องจากความสัมพันธ์ระหว่างพ่อกับลูกมักใช้เพื่อแสดงตำแหน่ง วัตถุที่เป็นพ่อของวัตถุอื่นจึงมักถูกเรียกว่า "ถือ" วัตถุนั้นไว้ วัตถุสามารถเคลื่อนย้ายไปมาในโครงสร้างต้นไม้ได้ โดยทั่วไป วัตถุระดับบนสุดจะแสดงถึงห้องและสถานที่อื่นๆ ภายในเกม ซึ่งอาจถือวัตถุที่แสดงถึงสิ่งของในห้อง ไม่ว่าจะเป็นสิ่งของทางกายภาพ ตัวละครที่ไม่ใช่ผู้เล่น ตัวละครของผู้เล่น หรือเอฟเฟกต์พื้นหลัง วัตถุทุกชิ้นสามารถถือวัตถุอื่นๆ ได้ ดังนั้นlivingroomวัตถุหนึ่งอาจถือinsurancesalemanวัตถุอีกชิ้นหนึ่ง ซึ่งกำลังถือ วัตถุอีกชิ้นหนึ่ง และวัตถุอีกชิ้นหนึ่งก็ถือ วัตถุbriefcaseนั้นอีกทีinsurancepaperwork

ใน Inform เวอร์ชันแรกๆ วัตถุแตกต่างจากแนวคิดของวัตถุในการเขียนโปรแกรมเชิงวัตถุตรงที่ไม่มีสิ่งที่เรียกว่าคลาส เวอร์ชันต่อมาได้เพิ่มการรองรับการกำหนดคลาสและอนุญาตให้วัตถุเป็นสมาชิกของคลาสได้ วัตถุและคลาสสามารถสืบทอดจากหลายคลาสได้ เกม Interactive Fiction มักมีวัตถุที่ไม่ซ้ำกันจำนวนมาก ด้วยเหตุนี้ วัตถุจำนวนมากใน Inform จึงไม่ได้สืบทอดจากคลาสใดๆ นอกเหนือจาก "เมตาคลาส" Object อย่างไรก็ตาม วัตถุมักมีแอตทริบิวต์ (คุณสมบัติแบบบูลีน เช่น true หรือsceneryfalse edible) ที่ไลบรารี Inform รู้จัก ในภาษาอื่นๆ โดยปกติแล้วจะใช้การสืบทอดในการใช้งานสิ่งนี้

ต่อไปนี้เป็นตัวอย่างง่ายๆ ของซอร์สโค้ด Inform 6

! วงเล็บเหลี่ยมกำหนดรูทีน นี่คือรูทีนหลัก ซึ่งไม่รับอาร์กิวเมนต์ใดๆ[ Main ; print "Hello, World! ^ " ; ];

ส่วนประกอบเชิงกระบวนการ คำสั่ง และตัวดำเนินการ ส่วนใหญ่ยืมมาจากภาษา C โดยมีข้อยกเว้นที่สำคัญคือ-->xแทนที่จะ[x]ใช้ จะใช้เพื่อรับดัชนีอาร์เรย์ รูทีนถูกกำหนดไว้ในวงเล็บเหลี่ยม ดังเช่นในMainรูทีนข้างต้น[ 5 ]แต่เรียกใช้ด้วยวงเล็บกลมเหมือนในภาษา C อักขระ@ใช้เพื่อหลีกอักขระและเรียกใช้โอเปรนด์เครื่อง Z ดิบ[ 6 ]

ห้องสมุด Inform 6

ระบบ Inform ยังประกอบด้วยไลบรารี Inform ซึ่งช่วยลดขั้นตอนการทำงานที่ยากที่สุดเกือบทั้งหมดในการเขียนโปรแกรมสำหรับนิยายเชิงโต้ตอบ โดยอัตโนมัติ โดยเฉพาะอย่างยิ่ง มันมี ตัวแยกวิเคราะห์ข้อความที่ตีความข้อมูลที่ผู้เล่นป้อนเข้ามา และแบบจำลองโลกที่ติดตามสิ่งต่างๆ เช่น วัตถุ (และคุณสมบัติของวัตถุ) ห้อง ประตู สินค้าคงคลังของผู้เล่น เป็นต้น

คอมไพเลอร์ Inform ไม่จำเป็นต้องใช้ไลบรารี Inform มีไลบรารีทดแทนหลายตัว เช่น Platypus [ 7 ]และInformATEซึ่งเป็นไลบรารีที่เขียนโค้ด Inform เป็นภาษาสเปน เกมบางเกมอาจไม่ใช้ไลบรารีเลย เช่น การพอร์ตZork โดยตรง ไปยัง Inform 6 [ 5 ]

ตัวอย่างเกม

ต่อไปนี้เป็นตัวอย่างซอร์สโค้ด Inform 6 ที่ใช้ไลบรารี Inform โค้ดตัวอย่าง Inform 6 ด้านล่างนี้สามารถใช้งานได้ใน Inform 7 แต่จะต้องมีการระบุอย่างชัดเจนว่าเป็นโค้ดเก่าที่ฝังอยู่ภายใน

เนื้อเรื่องคงที่"สวัสดีส่วนลด" ; หัวข้อคงที่" ^ ตัวอย่างแบบโต้ตอบ^ " ;รวม"Parser" ; รวม"VerbLib" ;[ เริ่มต้น; ตำแหน่ง= ห้องนั่งเล่น; "สวัสดีโลก" ; ];วัตถุKitchen "ห้องครัว" ; วัตถุFront_Door "ประตูหน้าบ้าน" ;วัตถุLiving_Room "ห้องนั่งเล่น" พร้อมคำอธิบาย"ห้องนั่งเล่นที่ตกแต่งอย่างสะดวกสบาย" , n_to Kitchen , s_to Front_Door , มีไฟ;วัตถุ-> พนักงานขาย"พนักงานขายประกัน" ที่มีชื่อ'ประกัน' 'พนักงานขาย' 'ผู้ชาย' คำอธิบาย"พนักงานขายประกันใน ชุดสูทโพลีเอสเตอร์ที่ดูเชยๆ เขาดูเหมือนกระตือรือร้นที่จะพูดคุยกับคุณ" ก่อน[; ฟัง: ย้ายเอกสารประกันไปยังผู้เล่น; "พนักงานขายพูดเรื่อง กรมธรรม์ประกันชีวิตให้คุณฟังจนน่าเบื่อ จากกระเป๋าเอกสารของเขาเขา หยิบเอกสารบางอย่างออกมาแล้ว ยื่นให้คุณ" ; ], มีการเคลื่อนไหว;วัตถุ-> -> กระเป๋าเอกสาร"briefcase" ที่มีชื่อ'briefcase' 'case' , คำอธิบาย"กระเป๋าเอกสารสีดำที่ใช้งานมาเล็กน้อย" , มีภาชนะบรรจุ;วัตถุ-> -> -> เอกสาร ประกันภัย"เอกสารประกันภัย" ที่มีชื่อ'paperwork' 'papers' 'insurance' 'documents' 'forms' และคำอธิบาย" เอกสารทางกฎหมายตัวเล็กๆ จำนวนมาก"รวม"ไวยากรณ์" ไว้ด้วย ;

เกมเด่นๆ ที่พัฒนาขึ้นใน Inform 6 หรือเวอร์ชันก่อนหน้า

แจ้ง 7

แจ้ง 7
กระบวนทัศน์ภาษาธรรมชาติ , แบบประกาศ , แบบขั้นตอน
ออกแบบ โดยเกรแฮม เนลสัน
นักพัฒนาเกรแฮม เนลสัน
 ปรากฏครั้งแรก2006
เวอร์ชันเสถียร
10.1.2 /  31 สิงหาคม  2565  ( 2022-08-31 ) [ 2 ]
โอเอสระบบปฏิบัติการ Microsoft Windows , Mac OS X , Linuxและอื่นๆ
ใบอนุญาตซอฟต์แวร์ฟรี (ก่อนปี 2022); ใบอนุญาตศิลปะฉบับที่ 2.0 (ตั้งแต่ปี 2022)
เว็บไซต์http://inform7.com/
ได้รับอิทธิพลจาก
แจ้ง 6, การเขียนโปรแกรมภาษาธรรมชาติ

เมื่อวันที่ 30 เมษายน พ.ศ. 2549 Graham Nelson ได้ประกาศเปิดตัวเวอร์ชันเบต้าของ Inform 7 ให้กับกลุ่มข่าว rec.arts.int-fiction [ 12 ] Inform 7 ประกอบด้วยส่วนหลักสามส่วน ได้แก่Inform 7 IDEพร้อมเครื่องมือพัฒนาเฉพาะสำหรับการทดสอบนิยายเชิงโต้ตอบคอมไพเลอร์ Inform 7สำหรับภาษาใหม่ และ " กฎมาตรฐาน " ซึ่งเป็นไลบรารีหลักสำหรับ Inform 7 Inform 7 ยังอาศัยไลบรารี Informและคอมไพเลอร์ Informจาก Inform 6 คอมไพเลอร์จะคอมไพล์ซอร์สโค้ด Inform 7 เป็นซอร์สโค้ด Inform 6 จากนั้น Inform 6 จะคอมไพล์แยกต่างหากเพื่อสร้าง ไฟล์เรื่องราว GlulxหรือZ-code Inform 7 ยังตั้งค่าเริ่มต้นให้เขียน ไฟล์ Blorbซึ่งเป็นไฟล์เก็บถาวรที่รวม Z-code พร้อมกับ "ภาพปก" และเมตาเดตาเสริมที่มุ่งเน้นวัตถุประสงค์ในการจัดทำดัชนี ปัจจุบันชุดเครื่องมือ Inform 7 ทั้งหมดมีให้บริการสำหรับMac OS X , Microsoft WindowsและLinux (ตั้งแต่ปี พ.ศ. 2550)

ข้อมูล ณ ปี 2023Inform 7 และเครื่องมือต่างๆ ยังคงอยู่ระหว่างการพัฒนา[ 13 ]ตั้งแต่เดือนเมษายน 2022 Inform 7 เป็นโอเพนซอร์สและพัฒนาบน GitHub [ 14 ]

Inform 7 เคยใช้ชื่อว่าNatural Informในช่วงเวลาสั้นๆ แต่ต่อมาได้เปลี่ยนชื่อเป็น Inform 7 ชื่อเดิมนี้เองที่เป็นเหตุผลว่าทำไมคอมไพเลอร์ Inform 7 จึงมีชื่อว่า "NI" [ 15 ]

แจ้ง 7 IDE

โปรแกรม Inform 7 IDE บนMac OS Xแสดงโค้ดต้นฉบับและโครงร่าง
โปรแกรม Inform 7 IDE บน Mac OS X แสดงแผนผังดัชนีและข้อความถอดเสียง

Inform 7 มาพร้อมกับสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) สำหรับ Mac OS X, Microsoft Windows และ Linux IDE สำหรับ Mac OS X พัฒนาโดย Andrew Hunter IDE สำหรับ Microsoft Windows พัฒนาโดย David Kinder IDE สำหรับ Linux (รู้จักกันในชื่อ GNOME Inform) พัฒนาโดย Philip Chimento [ 16 ]

Inform 7 IDE มีโปรแกรมแก้ไขข้อความสำหรับแก้ไขซอร์สโค้ดของ Inform 7 เช่นเดียวกับโปรแกรมแก้ไขข้อความอื่นๆ โปรแกรมนี้มีคุณสมบัติการเน้นไวยากรณ์โดยจะเน้นข้อความที่อยู่ในเครื่องหมายคำพูดด้วยสีหนึ่ง หัวข้อของส่วนต่างๆ (เล่ม หนังสือ บท ส่วน และหัวข้อย่อย) จะถูกเน้นด้วยตัวหนาและมีขนาดใหญ่ขึ้น ส่วนความคิดเห็นจะใช้สีที่แตกต่างออกไปและมีขนาดเล็กกว่าเล็กน้อย

IDE มีตัวแปล รหัส Zในตัว ตัวแปลรหัสของ IDE สำหรับMac OS X นั้นใช้พื้นฐานจากตัวแปลรหัส Zoom ของ Andrew Hunter โดยมีส่วนร่วมจาก Jesse McGrew ส่วนตัวแปลรหัสของ IDE สำหรับ Microsoft Windows นั้นใช้พื้นฐานจากWinFrotz

ขณะที่นักพัฒนาทดสอบเกมในตัวแปลภาษาภายใน IDE ความคืบหน้าจะถูกติดตามในมุมมอง "skein" และ "transcript" skein จะติดตามคำสั่งของผู้เล่นในรูปแบบแผนผังต้นไม้ที่มีความเป็นไปได้หลายแบบ สามารถติดตามเส้นทางต่างๆ บนแผนผังได้อย่างรวดเร็ว ทำให้สามารถลองเส้นทางที่แตกต่างกันในเกมที่กำลังพัฒนาได้โดยไม่ต้องเล่นส่วนเดิมซ้ำ นอกจากนี้ยังสามารถใส่บันทึกและทำเครื่องหมายเส้นทางเป็นคำตอบที่ถูกต้อง ซึ่งสามารถส่งออกเป็นคำแนะนำการเล่นเกมแบบข้อความได้ ส่วน transcript นั้น จะติดตามทั้งคำสั่งของผู้เล่นและการตอบสนองของเกม การตอบสนองที่ถูกต้องจากเกมสามารถทำเครื่องหมายว่า "blessed" ได้ เมื่อเล่น transcript หรือเส้นทางใดเส้นทางหนึ่งบน skein ซ้ำ การเปลี่ยนแปลงจากเวอร์ชันที่ทำเครื่องหมายว่า "blessed" จะถูกเน้น ซึ่งจะช่วยให้นักพัฒนาค้นหาข้อผิดพลาดได้

นอกจากนี้ IDE ยังมีดัชนีต่างๆ สำหรับโปรแกรมที่กำลังพัฒนา โค้ดจะแสดงในรูปแบบลำดับชั้นของคลาส แผนผัง IF แบบดั้งเดิม สารบัญแบบหนังสือ และรูปแบบอื่นๆ การคลิกรายการในดัชนีจะนำไปยังซอร์สโค้ดที่เกี่ยวข้อง

IDE นำเสนอหน้าต่างสองบานที่อยู่เคียงข้างกันสำหรับการทำงาน แต่ละบานหน้าต่างสามารถประกอบด้วยซอร์สโค้ดที่กำลังทำงานอยู่ สถานะปัจจุบันของการคอมไพล์ สเกน บันทึกย่อ ดัชนีของซอร์สโค้ด เวอร์ชันเกมที่กำลังทำงาน เอกสารประกอบสำหรับ Inform 7 หรือส่วนขยายที่ติดตั้งไว้ หรือการตั้งค่า แนวคิดคือการเลียนแบบหนังสือต้นฉบับของผู้เขียนโดยการนำเสนอ "สองหน้าตรงข้ามกัน" แทนที่จะเป็นหน้าต่างแยกกันจำนวนมาก[ 12 ]

ภาษาโปรแกรม Inform 7

คุณลักษณะเด่น ได้แก่ การเน้นหนักไปที่รูปแบบการเขียนโปรแกรมแบบประกาศตามกฎเกณฑ์ และความสามารถในการอนุมานประเภทและคุณสมบัติของวัตถุจากวิธีการใช้งาน ตัวอย่างเช่น ประโยค "John wears a hat." จะสร้าง "บุคคล" ที่ชื่อ "John" (เนื่องจากมีเพียงบุคคลเท่านั้นที่สามารถสวมใส่สิ่งของได้) สร้าง "สิ่งของ" ที่มีคุณสมบัติ "wearable" (เนื่องจากมีเพียงวัตถุที่มีคุณสมบัติ "wearable" เท่านั้นที่สามารถสวมใส่ได้) และกำหนดให้ John สวมหมวก

อีกแง่มุมที่น่าสนใจของภาษานี้คือการสนับสนุนโดยตรงสำหรับความสัมพันธ์ที่ติดตามความเชื่อมโยงระหว่างวัตถุต่างๆ ซึ่งรวมถึงความสัมพันธ์ที่ให้มาโดยอัตโนมัติ เช่น วัตถุหนึ่งบรรจุอีกวัตถุหนึ่ง หรือวัตถุหนึ่งถูกสวมใส่ แต่ผู้พัฒนาสามารถเพิ่มความสัมพันธ์ของตนเองได้ ผู้พัฒนาอาจเพิ่มความสัมพันธ์ที่บ่งบอกถึงความรักหรือความเกลียดชังระหว่างสิ่งมีชีวิต หรือเพื่อติดตามว่าตัวละครใดในเกมเคยพบกันบ้าง

Inform 7 เป็นภาษาโปรแกรมเฉพาะโดเมนที่มีประสิทธิภาพ สูง ช่วยให้ผู้เขียน/โปรแกรมเมอร์มีระดับนามธรรมที่สูงกว่า Inform 6 มาก และได้ซอร์สโค้ดที่อ่านง่ายมาก คำสั่งตรรกะและเลขคณิตทั่วไปเขียนด้วยภาษาธรรมชาติ (ดูตัวอย่าง "ฟิสิกส์" ในThe Inform Recipe Book เป็นต้น ) [ 17 ]

ใน Inform 7 รุ่นแรก คอมไพเลอร์จะแปลโค้ดเป็น Inform 6 คล้ายกับที่CFrontทำกับ C++ และ C [ 15 ]คอมไพเลอร์ปัจจุบัน (ณ เวอร์ชัน 10 ปี 2022) ยังสามารถแปลโค้ดโดยตรงเป็น C สำหรับไฟล์ปฏิบัติการเนทีฟและสร้าง "เว็บไซต์ขนาดเล็กแบบดัชนี" ที่อธิบายเรื่องราวได้ อีกด้วย [ 18 ]

ตัวอย่างเกม

คำสั่งใน Inform 7 จะอยู่ในรูปแบบของประโยคที่สมบูรณ์ บรรทัดว่างและการเว้นวรรคมีความสำคัญในเชิงโครงสร้างในบางจุด รูปแบบพื้นฐานของโปรแกรม Inform 7 มีดังนี้:

"สวัสดีโลก!" โดย "ผู้เขียน IF" โลกเปรียบเสมือนห้องห้องหนึ่ง เมื่อเริ่มเกม ให้พูดว่า"สวัสดีโลก!"

ต่อไปนี้เป็นการนำตัวอย่าง "Hello Deductible" ข้างต้นมาเขียนใหม่ใน Inform 7 โดยอาศัยไลบรารีที่เรียกว่า "The Standard Rules" ซึ่งรวมอยู่ใน Inform 7 ทุกเวอร์ชันโดยอัตโนมัติ

"Hello Deductible" โดย "IF Author" หัวข้อข่าวคือ"ตัวอย่างเชิงโต้ตอบ " ห้องนั่งเล่นเป็นห้องๆ หนึ่ง"ห้องนั่งเล่นที่ตกแต่งอย่างสะดวกสบาย" ห้องครัวอยู่ทางทิศเหนือของห้องนั่งเล่น ประตูหน้าบ้านอยู่ทางทิศใต้ของห้องนั่งเล่น ประตูหน้าบ้านก็คือประตู ประตูหน้าบ้านปิดและล็อกอยู่ พนักงานขายประกันเป็นผู้ชายคนหนึ่งในห้องนั่งเล่น คำบรรยายคือ"พนักงานขายประกันในชุดสูทโพลีเอสเตอร์ที่ดูไม่ค่อยดีนัก เขาดูเหมือนกระตือรือร้นที่จะพูดคุยกับคุณ"โปรดเข้าใจคำว่า"ผู้ชาย"ในที่นี้ว่าหมายถึงพนักงานขายประกัน พนักงานขายประกันถือกระเป๋าเอกสารใบหนึ่ง คำบรรยายคือ"กระเป๋าเอกสารสีดำที่ดูเก่าเล็กน้อย" โปรดเข้าใจคำว่า "กระเป๋า"ในที่นี้ว่าหมายถึงกระเป๋าเอกสาร เอกสารประกันภัยอยู่ในกระเป๋าเอกสาร คำบรรยายคือ"เอกสารทางกฎหมายตัวเล็กๆ เต็มไปหมดหลายหน้า"โปรดเข้าใจว่า" เอกสาร " หรือ"แบบฟอร์ม" ในที่ นี้หมายถึงเอกสารประกันภัย แทนที่จะฟังคำแนะนำของพนักงานขายประกัน: พูดว่า"พนักงานขายพูดเรื่องกรมธรรม์ประกันชีวิตจนคุณเบื่อ จากนั้นเขาก็หยิบเอกสารบางอย่างออกมาจากกระเป๋าเอกสารแล้วยื่นให้คุณ " ส่งเอกสารประกันภัยให้ผู้เล่น 

เกมเด่นๆ ที่เขียนด้วย Inform 7

Mystery House Possessed (2005) โดยEmily Short [ 19 ] เป็นเกม Inform 7 เกมแรกที่เผยแพร่สู่สาธารณะ โดยเป็นส่วนหนึ่งของโครงการ "Mystery House Taken Over"

เมื่อวันที่ 1 มีนาคม พ.ศ. 2549 ชอร์ตได้ประกาศการวางจำหน่ายเกมเพิ่มเติมอีกสามเกม ได้แก่[ 20 ] Bronze [ 21 ] (ตัวอย่างของเกมปริศนาแบบดั้งเดิม) และDamnatio Memoriae [ 22 ] (ภาคต่อของเกม Savoir -Faire ที่ได้รับรางวัลจาก Inform 6 ) ร่วมกับThe Reliques of Tolti-Aph [ 23 ] (2006) ของ Graham Nelson เมื่อมีการประกาศเบต้าสาธารณะของ Inform 7 เมื่อวันที่ 30 เมษายน พ.ศ. 2549 ตัวอย่างงานขนาดกลางถึงขนาดใหญ่จำนวนหกชิ้นพร้อมซอร์สโค้ดก็ถูกเผยแพร่ รวมถึงเกมสามเกมที่วางจำหน่ายก่อนหน้านี้เมื่อวันที่ 1 มีนาคม[ 24 ] [ 25 ] [ 26 ]

Floatpointของ Emily Short เป็นเกม Inform 7 เกมแรกที่ได้รับรางวัลชนะเลิศในการแข่งขัน Interactive Fiction [ 27 ] นอกจาก นี้ยังได้รับรางวัล XYZZY Awards ประจำปี 2006 สำหรับฉากที่ดีที่สุดและตัวละคร NPC ที่ดีที่สุด[ 28 ] Renditionโดย nespresso (2007) เป็นการทดลองศิลปะทางการเมืองในรูปแบบของเกมผจญภัย แบบข้อความ แนวทางใน การนำเสนอ โศกนาฏกรรมได้รับการอภิปรายในเชิงวิชาการโดยทั้งสมาคมเครื่องจักรคำนวณ[ 29 ]และมหาวิทยาลัยเคมบริดจ์ [ 30 ] ตามที่นักเขียน Aaron A. Reed กล่าว ไวยากรณ์ที่เป็นมิตรมากขึ้นและ IDE ของ Inform 7 ช่วยให้Jeremy Freeseสร้างViolet (2008) ได้ [ 31 ]

ดูเพิ่มเติม

อ่านเพิ่มเติม

แจ้ง 6
  • คู่มืออย่างเป็นทางการของ Inform คือInform Designer's ManualของGraham Nelsonซึ่งเป็นทั้งบทช่วยสอน คู่มือ และเอกสารทางเทคนิคในเล่มเดียวกัน สามารถดาวน์โหลดได้ฟรีทางออนไลน์ที่เว็บไซต์อย่างเป็นทางการของ Inform [ 32 ]และมีฉบับพิมพ์สองแบบให้เลือกซื้อ ได้แก่ ปกอ่อน ( ISBN ) 0-9713119-0-0) และปกแข็ง ( ISBN ) 0-9713119-3-5). [ 33 ]
  • คู่มือเริ่มต้นใช้งาน Informโดย Roger Firth และ Sonja Kesserich ( ISBN) 0-9713119-2-7) พยายามที่จะให้คำแนะนำเบื้องต้นเกี่ยวกับ Inform ในรูปแบบที่นุ่มนวลกว่า สามารถดาวน์โหลดได้ฟรีจากเว็บไซต์อย่างเป็นทางการของ Inform [ 34 ]
แจ้ง 7
  • บทสัมภาษณ์ SPAG - บทสัมภาษณ์นักออกแบบGraham NelsonและEmily Shortเกี่ยวกับการพัฒนา Inform 7 บทสัมภาษณ์นี้จัดทำขึ้นไม่นานก่อนการวางจำหน่ายและเผยแพร่ในวันเดียวกับการวางจำหน่ายครั้งแรก[ 3 ]
  • "ภาษาธรรมชาติ การวิเคราะห์ความหมาย และนิยายเชิงโต้ตอบ" - บทความเกี่ยวกับการออกแบบ Inform 7 โดยนักออกแบบGraham Nelson [ 35 ]
  • Cloak of Darkness: Inform Archived August 30, 2016, at the Wayback Machineนำเสนอเกมขนาดสั้นเดียวกันที่พัฒนาขึ้นใน Inform 6 และ Inform 7 รวมถึงภาษาอื่นๆ เพื่อใช้ในการเปรียบเทียบ
  • Inform 6 - เว็บไซต์อย่างเป็นทางการ
  • คำถามที่พบบ่อย (FAQ) ของ Inform 6 ที่เก็บถาวรเมื่อวันที่ 10 ตุลาคม 2016 ในWayback Machineที่ IF Pages ของ Roger Firth ให้รายละเอียดเกี่ยวกับการเขียนโปรแกรมใน Inform 6
  • Inform 7 - เว็บไซต์อย่างเป็นทางการ
  • คลังเก็บข้อมูล Interactive Fiction Archiveมีเครื่องมือ ตัวอย่าง และไฟล์ไลบรารีมากมายสำหรับ Inform
  • Playficเป็นอินเทอร์เฟซบนเว็บสำหรับสร้างและแบ่งปันเกมใหม่โดยใช้ Inform 7
  • Gunchoคือระบบเกมนิยายเชิงโต้ตอบแบบผู้เล่นหลายคนบนพื้นฐานของ Inform 7 โดยผสมผสาน อินเทอร์เฟซแบบ MUDและแบบเว็บเข้าด้วย กัน
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Inform&oldid=1345194936 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ แจ้ง

Informเป็นภาษาโปรแกรมและระบบออกแบบสำหรับนิยายเชิงโต้ตอบที่สร้างขึ้นครั้งแรกในปี 1993 โดยGraham Nelson Inform สามารถสร้างโปรแกรมที่ออกแบบมาสำหรับ เครื่องเสมือน Z-codeหรือGlulxได้...

Z-Machine และ Glulx

คอมไพเลอร์ Inform จะแปลงโค้ด Inform เป็นไฟล์เรื่องราวสำหรับ Glulx หรือ Z-code ซึ่ง เป็นเครื่องเสมือน สอง ประเภท ที่ออกแบบมาโดยเฉพาะสำหรับนิยายเชิงโต้ตอบ Glulx ซึ่งสามารถรองรับเกมขนาดใหญ่ได้นั้นเป็นตัวเลือกเริ่มต้น

แจ้ง 6

Inform ถูกสร้างขึ้นครั้งแรกโดย Graham Nelson ในปี 1993 ในปี 1996 Nelson ได้เขียน Inform ใหม่ทั้งหมดตั้งแต่หลักการพื้นฐานเพื่อสร้างเวอร์ชัน 6 (หรือ Inform 6) ตลอดทศวรรษต่อมา เวอร์ชัน 6 ได้กลายเป็นภาษาที่มีความเสถียรและได้รับความนิยมในการเขียนนิยายเชิงโต้ตอบ

คอมไพเลอร์ Inform 6

คอมไพเลอร์ Inform จะสร้างไฟล์สำหรับ เครื่อง Z หรือ Glulx (เรียกอีกอย่างว่าไฟล์เรื่องราว) จาก ซอร์สโค้ด ของ Inform 6