แจ้ง
| แจ้ง | |
|---|---|
| ผู้เขียนต้นฉบับ | เกรแฮม เนลสัน |
| นักพัฒนา | เกรแฮม เนลสัน |
| เวอร์ชันเสถียร | |
| ระบบปฏิบัติการ | ระบบปฏิบัติการ 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 |
| เวอร์ชันเสถียร | |
| โอเอส | ระบบปฏิบัติการ 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 หรือเวอร์ชันก่อนหน้า
- Cursesโดย Graham Nelson (1993) เป็นเกมแรกที่เขียนด้วยภาษาโปรแกรม Inform ถือเป็นหนึ่งในเกม "สมัยใหม่" เกมแรกๆ ที่ตรงตามมาตรฐานระดับสูงที่กำหนดโดยเกมที่ดีที่สุดของ Infocom [ 8 ]
- Zork: The Undiscovered Underground (1997) เขียนโดย Marc Blankและ Michael Berlynโปรแกรมโดย Gerry Kevin Wilson แจกฟรีโดย Activisionเพื่อโปรโมตการวางจำหน่าย Zork: Grand Inquisitor
- Anchorheadโดย Michael S. Gentry (1998) เป็นเรื่องสยองขวัญที่ได้รับคะแนนสูงซึ่งได้รับแรงบันดาลใจจากตำนาน Cthulhuของ HP Lovecraft [ 9 ]
- Photopiaโดย Adam Cadre (1998) เป็นเกมแรกที่แทบไม่มีปริศนาให้แก้เลย ได้รับรางวัลชนะเลิศ ใน การแข่งขัน Interactive Fiction Competition ประจำปี 1998
- Varicellaโดย Adam Cadre (1999) ได้รับรางวัล XYZZY Awards สี่รางวัล ในปี 1999 รวมถึงรางวัล XYZZY Award สำหรับเกมยอดเยี่ยม และมีบทความวิชาการเขียนเกี่ยวกับเกมนี้ [ 10 ]
- Galateaโดย Emily Short (2000) Galatea มุ่งเน้นไปที่การโต้ตอบกับรูปปั้นเคลื่อนไหวที่มีชื่อเดียวกัน Galatea มีระบบการโต้ตอบที่ซับซ้อนที่สุดระบบหนึ่งสำหรับตัวละครที่ไม่ใช่ผู้เล่นในเกมนิยายเชิงโต้ตอบ Adam Cadre เรียก Galatea ว่า "NPC ที่ดีที่สุดเท่าที่เคยมีมา" [ 11 ]
- Slouching Towards Bedlamโดย Star C. Foster และ Daniel Ravipinto (2003)เกมนี้มีฉากหลังเป็นแนวสตีมพังก์ และผสานฟังก์ชั่นเมตาเกม (การบันทึก การกู้คืน การเริ่มต้นใหม่) เข้ากับโลกของเกมอย่างลงตัว เกมนี้ได้รับ รางวัล XYZZY สองรางวัล และได้รับคะแนนเฉลี่ยสูงสุดในบรรดาเกมทั้งหมดในการประกวด Interactive Fiction Competitionในปี 2006
แจ้ง 7
| แจ้ง 7 | |
|---|---|
| กระบวนทัศน์ | ภาษาธรรมชาติ , แบบประกาศ , แบบขั้นตอน |
| ออกแบบ โดย | เกรแฮม เนลสัน |
| นักพัฒนา | เกรแฮม เนลสัน |
| ปรากฏครั้งแรก | 2006 |
| เวอร์ชันเสถียร | |
| โอเอส | ระบบปฏิบัติการ 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, 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 ]
ดูเพิ่มเติม
- นิยายเชิงโต้ตอบ § ระบบการพัฒนาแสดงรายการซอฟต์แวร์ที่คล้ายกับ Inform
- TADS (Text Adventure Development System) คือระบบพัฒนาเกม IF ชั้นนำอีกระบบหนึ่ง
อ่านเพิ่มเติม
- แจ้ง 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และแบบเว็บเข้าด้วย กัน