ãã£ãšãæ°ãããã©ã°ã€ã³ã§ããïŒ
ä»åã¯å°ãçé¢ç®ããæããå
容ã§ãã ![]()
Discourse Frotz
ãããã«å¯ŸããŠæ¯å @ã¡ã³ã·ã§ã³ããå¿
èŠã¯ãããããŸããããã¬ã€éå§åŸã¯ãåã«ãã®æçš¿ã«è¿ä¿¡ããã ãã§ OK ã§ãã
Git ãªããžããª: GitHub - merefield/discourse-frotz: A plugin that uses Frotz to give you an interactive fiction experience on your Discourse forum · GitHub
ããã¯äœïŒ
Discourse ãã©ãŒã©ã äžã§ã€ã³ã¿ã©ã¯ãã£ãã»ãã£ã¯ã·ã§ã³ïŒããããã¯ã©ã·ãã¯ãªããã¹ãã¢ããã³ãã£ãŒã²ãŒã ïŒããã¬ã€ã§ãããããããã§ããæ¬è³ªçã«ã¯ãæšæºçã§çŽ æŽããã Z-ãã·ã³ã€ã³ã¿ãŒããªã¿ãŒã§ãããfrotzãïŒhttps://gitlab.com/DavidGriffith/frotzïŒãžã®ã¢ããã¿ãŒã§ãã
äœ¿ãæ¹
ã»ããã¢ããã«ãã 2 ã€ã®ã²ãŒã ã远å ãããŸããèšå®ã§ããã«è¿œå ããããšãå¯èœã§ãã
åãšã³ããªã«ã¯ãã¿ã€ãã«ããšãã¹ããŒãªãŒãã¡ã€ã«åããå«ãŸããŠããŸãã
察話ãéå§ããã«ã¯ãèšå®ã§æå®ãããããã« @ã¡ã³ã·ã§ã³ããå¿ èŠããããŸãããã®åŸã¯ããããã®æçš¿ã«è¿ä¿¡ããã ãã§ååã§ãã
å©çšå¯èœãªã²ãŒã ã®äžèЧã衚瀺ããã«ã¯ããŸããããã«ã¡ã³ã·ã§ã³ããŠä»¥äžã®ããã«å°ããŠãã ããïŒ
@mybot list games
ããã§å©çšå¯èœãªãªãã·ã§ã³ã®ç¯å²ã衚瀺ãããŸãã
ã²ãŒã ãéå§ããã«ã¯ã以äžã®ããã«ã¿ã€ãããŠãã ããïŒx ããªãã·ã§ã³çªå·ã«çœ®ãæããŸãïŒïŒ
start game x
å¥ã®ã²ãŒã ã«åãæ¿ãããå Žåã§ãæ§ããŸããããã®ãã©ã°ã€ã³ã¯ãã¹ãŠã®æçªã§é²è¡ç¶æ³ãä¿åããããããã€ã§ãæåã®ã¹ããŒãªãŒã«æ»ãããšãã§ããŸãããã©ã°ã€ã³ã¯ã詊ãããã¹ãŠã®ãŠãŒã¶ãŒã®ãã¹ãŠã®ã¹ããŒãªãŒã®ã»ãŒãããŒã¿ãä¿æããŸãã
æ¢åã®ã²ãŒã ãç¶ããã«ã¯ã以äžã®ããã«ã¿ã€ãããŠãã ããïŒx ããªãã·ã§ã³çªå·ã«çœ®ãæããŸãïŒïŒ
continue game x
NBïŒå®å šãªåæ§ç¯ïŒrebuildïŒãè¡ããšããã¹ãŠã®ã»ãŒããã¡ã€ã«ãåé€ãããŸããããã¯å¿ èŠãªåŠ¥åç¹ã§ãã
IF ã²ãŒã ã®éã³æ¹ã¯ïŒ
å€ãã®ãã¡ã¿ïŒMetaïŒããŠãŒã¶ãŒã¯ãããã«èŠªããã§è²ã£ãŠããŸãããããŸã銎æã¿ã®ãªãæ¹ã®ããã«ããã¡ãã®ããŒãã·ãŒããã芧ãã ããïŒPlay Some Interactive Fiction
ã»ããã¢ãã
ããããŠãŒã¶ãŒã®äœæ
ïŒããããªããããããèªååããã®ã¯ç§ã®èª²é¡ãªã¹ãã«ãããŸãïŒïŒ
SSH ã»ãã·ã§ã³ã§ã³ã³ããã«å ¥ããrails ã³ã³ãœãŒã«ãéããŸãïŒ
./launcher enter app
rails c
ãã®åŸã以äžãå®è¡ããŸãïŒ
u = User.create!(username: "Frotz", name: "FrotzBot", id:-5, email: "not@really.valid")
u.activate
æ°ãããããã UI ã§èšå®å¯èœãªç¶æ ã«ãªããŸãã管çãã¿ã³ãããŠãŒã¶ãŒã®èšå®ç»é¢ãžç§»åãããã¹ãŠã® ã¡ãŒã«éä¿¡ããªãã«ããŠãã ãããã¢ãã¿ãŒã奜ã¿ã«åãããŠæŽæ°ããŠãã ããã
Discourse Frotz ã®ã€ã³ã¹ããŒã«
app.yml ã®æŽæ°
ããã¯éåžžã®ãã©ã°ã€ã³ãããå°ãäŸµå ¥æ§ã®é«ã倿Žã§ãã
app.yml ã«ä»¥äžã远å ããŠãã ããïŒ
hooks:
after_code:
- exec:
cd: $home
cmd:
- git clone https://gitlab.com/DavidGriffith/frotz
- exec:
cd: $home/frotz
cmd:
- make dfrotz
- exec:
cd: $home/frotz
cmd:
- mkdir savegames
- exec:
cd: $home/frotz
cmd:
- mkdir stories
- exec:
cd: $home/frotz/stories
cmd:
- wget -O zork1.z3 https://eblong.com/infocom/gamefiles/zork1-r119-s880429.z3
- exec:
cd: $home/frotz/stories
cmd:
- wget --no-check-certificate http://www.douglasadams.com/creations/hhgg.z3
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/merefield/discourse-frotz
ä»ã®ãã©ã°ã€ã³ã®ãšã³ããªã®åã«è¿œå ããŠãã ããã
ããã«ãDiscourse BBCode ãã©ã°ã€ã³ ã远å ããå¿ èŠããããŸãïŒïŒ
ãã€ãã® ./launcher rebuild app ã§åæ§ç¯ããŠãã ããã
次ã«ããã©ã°ã€ã³èšå®ãžè¡ããå ã»ã©è¿œå ããããããŠãŒã¶ãŒãéžæããŸãïŒ

ã¹ããŒãªãŒ
ããã€ãã®ã¹ããŒãªãŒãå«ããŠããŸããããã«æ¢ãå Žå㯠https://ifdb.tads.org/ ãã芧ãã ããã
ãã ããããã§ã®ã¬ãŒãå¶éã«ã泚æãã ããïŒ åãå Žæããå€ãã®ã¹ããŒãªãŒãååŸãããšãšã©ãŒãçºçããå¯èœæ§ããããŸãã
ãŸããã¹ããŒãªãŒã¯ HTTPS ã§ä¿è·ããããµãŒããŒäžã«çœ®ãããŠããªãç¹ã«ã泚æããŠãã ããïŒãªããŠããšã ïŒã
ã©ãããŠãããã«èªã¿èŸŒã¿ããå Žåã¯ãapp.yml ã«è¿œå ããŠãã ãããã³ãã³ãããã³ããããæåã§è¿œå ããããšãã§ããŸãããæ¬¡ã®å®å šãªåæ§ç¯æã«æ¶å»ãããŠããŸãããšãçè§£ããŠãããŠãã ããã
FrotzBot ããã©ã€ããŒãã¡ãã»ãŒãžã§æå¹åïŒæ³šæãå¿ èŠïŒ
ãŠãŒã¶ãŒãéå ¬éã§ãã¬ã€ã§ããããã«ããŸããã䜿çšç¶æ³ãäžæçã«ãªãå¯èœæ§ããããŸãããµãŒããŒãååã«å€§ãããã°åé¡ã«ãªããªããããããŸãããããããã«ãã容éãžã®åœ±é¿ã«ã¯æ³šæããŠãã ãããä»£æ¿æ¡ãšããŠããŠãŒã¶ãŒã«æå®ãããã«ããŽãªã§ãã¬ã€ããããä¿ãããšãã§ããŸãã

ããã©ã«ãïŒOFF
ããïŒãŠãŒã¶ãŒãïŒããã§æå¹åãããŠããªãå ŽåããŠãŒã¶ãŒã«ã¯äžå¯§ãªã¡ãã»ãŒãžã衚瀺ãããŸãïŒ
ã«ããŽãªã«ãã FrotzBot ã®å¶é
ä»ã®é åãåãå°œãããªãããã«ãããããïŒãªã¹ãã®ïŒã«ããŽãªã«å¶éã§ããŸãïŒ
ããŒããŒãã·ã§ãŒãã«ããïŒ
ããã¯ãã²ãŒã ãäœéšãåäžãããããã«éåžžã«éèŠã§ããèŠããŠããå¿ èŠãããã®ã¯å®ã¯ 2 ã€ã ãã§ãïŒ
-
Shift-RïŒãããã«è¿ä¿¡
-
Ctrl-EnterïŒæ¬¡ã®æçªãéä¿¡
å¶éäºé ãšèæ ®ç¹
ãã¹ãŠã®ã¹ããŒãªãŒåœ¢åŒãã²ãŒã ããµããŒããããŠããããã§ã¯ãªããä»åŸãµããŒããããå¯èœæ§ãäœãã§ããåŒã³åºããšå¿çã®ãããã³ã«ã®æ§è³ªäžãåäœããªãã²ãŒã ã倿°ãããŸããæçš¿ããšã®ããåããšããæ¹åŒã®ãããåæçªã®åŸã« Frotz ã«ç¶æ ä¿åãèŠæ±ããå¿ èŠããããŸããã²ãŒã ã® 1 æé ããã·ã¹ãã ãä¿åã§ããããã³ããïŒãä»»æã®ããŒãæŒããŠãã ãããããMoreãããã³ããã¯é€ãïŒã«ç¹ãããªãå Žåãã¹ããŒãªãŒã¯åäœããŸãããäŸãã°ãAct of MurderãïŒçŽ æŽãããã²ãŒã ã§ãïŒïŒã§ã¯ããã¢ã®å¥³æ§ããããªãã¯èŠå¯å®ã§ããïŒããšå°ããŸãããããã¯ä¿åäžå¯èœãªã²ãŒã ã®ç¶æ ã§ããããã®èŠä»¶ãæºãããªããã倱æããŸãããããåäœãããæ¹æ³ãèŠåœãããŸããã
NBïŒã¡ãŒãªã³ã°ãªã¹ãã¢ãŒãã¯ãããšçµã¿åããããš_ç Žæ» ç_ã§ãããã®ãã©ã°ã€ã³ã䜿çšããåã«ããã®ã¢ãŒãã_䜿çšãããŠããªã_ããšãå¿ ã確èªããŠãã ããïŒ
1 æããšã«å°ãªããšã 2 ã€ã®æçš¿ãå¿
èŠãšãªãããããã©ãŒã©ã ã®ãªãœãŒã¹ãå°ãç¡é§é£ãããŠãããšèšããŸãããã®ãããªã²ãŒã ããã¬ã€ããã«ã¯ããã©ãŒã©ã ããããã£ããã€ã³ã¿ãŒãã§ãŒã¹ã®æ¹ãé©ããŠããããšã¯æããã§ãããããããæ»ç¥æ³ïŒWalkthroughïŒãã®äœæã«äœ¿ãããšäž»åŒµãã人ããããããããŸããã ![]()
ããäŸµå ¥æ§ã®äœããœãªã¥ãŒã·ã§ã³ããæ¢ãã®å Žåã¯ããã¡ããã芧ãã ããïŒTurning a topic into interactive fiction ;)
ãã£ãŒãããã¯
ãããããã£ãŒãããã¯ãæè¿ããŸãïŒ
ã¯ã¬ãžãã
ãã®ãã©ã°ã€ã³ã¯ãDavid Griffith / frotz · GitLab ã® Frotz Z-ã€ã³ã¿ãŒããªã¿ãŒãå©çšããŠããŸããããã¯ã»ããã¢ããã¹ã¯ãªããã«ãã£ãŠã¯ããŒã³ããããmakeããããŸãã
ã¯ããŒãºããœãŒã¹ã®ãã£ãããããïŒç§ãã¡ãå ±åã§éçºãããã®ïŒããã®ã³ãŒãæç²ã䜿çšããããšãèš±å¯ããŠããã @P16 ã«æè¬ããŸãã






