์ฐ์, ์๋ก์ด ํ๋ฌ๊ทธ์ธ์
๋๋ค!
์ด๋ฒ ๊ฒ์ ์กฐ๊ธ ๋ ๊ฐ๋ฒผ์ด ๋ถ์๊ธฐ์
๋๋ค. ![]()
Discourse Frotz
์ด์ ๋งค ๋จ๊ณ๋ง๋ค ๋ด์ @๋ฉ์
ํ ํ์๊ฐ ์์ต๋๋ค. ๊ฒ์์ด ์์๋๋ฉด ๋ด์ ๊ฒ์๋ฌผ์ ๋ต๊ธ์ ๋ฌ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
###่ฟๆฏไปไน
์ด๊ฒ์ Discourse ํฌ๋ผ์์ ์ธํฐ๋ํฐ๋ธ ํฝ์ (์ฆ, ํด๋์ ํ ์คํธ ์ด๋๋ฒค์ฒ ๊ฒ์)์ ํ๋ ์ดํ๊ธฐ ์ํ '๋ดโ์ด๋ฉฐ, David Griffith / frotz ยท GitLab ์ ์๋ ํ์ค์ ์ด๊ณ ๋๋ผ์ด Z-๋จธ์ ์ธํฐํ๋ฆฌํฐ์ธ 'frotzโ์ ๋ํ ์ด๋ํฐ ์ญํ ์ ํฉ๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
์ค์ ์ ํตํด ๋ ๊ฐ์ ๊ฒ์์ด ์ถ๊ฐ๋๋ฉฐ, ์ค์ ์์ ๋ ๋ง์ ๊ฒ์์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๊ฐ ํญ๋ชฉ์๋ ์ ๋ชฉ๊ณผ ์คํ ๋ฆฌ ํ์ผ ์ด๋ฆ์ด ํฌํจ๋์ด ์์ต๋๋ค.
์ํธ์์ฉ์ ์์ํ๋ ค๋ฉด ์ค์ ์์ ์ง์ ํ ๋ด์ @๋ฉ์ ํด์ผ ํฉ๋๋ค. ๊ทธ ํ, ๋ด์ ๊ฒ์๋ฌผ์ ๋ต๊ธ์ ๋ฌ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒ์์ ๋์ดํ๋ ค๋ฉด ๋จผ์ ๋ด์ ๋ฉ์ ํ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ง๋ฌธํด์ผ ํฉ๋๋ค:
@mybot list games
์ด๋ ๊ฒ ํ๋ฉด ์ ํ ๊ฐ๋ฅํ ์ต์ ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค.
๊ฒ์์ ์์ํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํ์ธ์:
start game x (x๋ฅผ ์ต์
๋ฒํธ๋ก ๋์ฒด)
๋ค๋ฅธ ๊ฒ์์ผ๋ก ์ ํํ ์๋ ์์ต๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ์ ๋ชจ๋ ์์ง์๋ง๋ค ์งํ ์ํฉ์ ์ ์ฅํ๋ฏ๋ก ์ธ์ ๋ ์ฒซ ๋ฒ์งธ ์คํ ๋ฆฌ๋ก ๋์๊ฐ ์ ์์ต๋๋ค. ํ๋ฌ๊ทธ์ธ์ ๊ฐ ์คํ ๋ฆฌ๋ณ๋ก ๋ชจ๋ ์ฌ์ฉ์์ ์ ์ฅ ํ์ผ์ ์ ์งํฉ๋๋ค.
๊ธฐ์กด ๊ฒ์์ ๊ณ์ํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํ์ธ์:
continue game x (x๋ฅผ ์ต์
๋ฒํธ๋ก ๋์ฒด)
์ฐธ๊ณ : ์ ์ฒด ์ฌ๋น๋ ์ ๋ชจ๋ ์ ์ฅ ํ์ผ์ด ์ญ์ ๋ฉ๋๋ค. ์ด๋ ๋ถ๊ฐํผํ ํํ์ ๋๋ค.
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 ์ ํ
๋ค๋ฅธ ์์ญ์ ์ฐจ์งํ์ง ์๋๋ก ๋ด์ (์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก์ผ๋ก) ์ ํํ ์ ์์ต๋๋ค:
ํค๋ณด๋ ๋จ์ถํค!
์ด๊ฒ์ โ๊ฒ์ด๋ฐโ ๊ฒฝํ์ ๊ฐ์ ํ๋ ๋ฐ ์ ๋ง ์ค์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก ๊ธฐ์ตํด์ผ ํ ๋จ์ถํค๋ ๋ ๊ฐ๋ฟ์ ๋๋ค:
-
Shift-R ๋ด์ ๋ต๊ธ ์์ฑ
-
Ctrl-Enter ๋ค์ ์์ง์ ์ ์ถ
์ ํ ์ฌํญ ๋ฐ ๊ณ ๋ ค ์ฌํญ
์์ง ๋ชจ๋ ์คํ ๋ฆฌ ํ์๊ณผ ๊ฒ์์ด ์ง์๋์ง ์์ผ๋ฉฐ, ์์ผ๋ก๋ ์ง์๋์ง ์์ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ํธ์ถ ๋ฐ ์๋ต ํ๋กํ ์ฝ์ ํน์ฑ ๋๋ฌธ์ ์๋ํ์ง ์๋ ๊ฒ์์ด ๋ง์ต๋๋ค. ๊ฒ์๋ฌผ ๋จ์๋ก ์ํธ์์ฉํ๋ ๋ฐฉ์ ๋๋ฌธ์ Frotz๊ฐ ๊ฐ ์์ง์ ํ ์ํ๋ฅผ ์ ์ฅํ๋๋ก ์์ฒญํด์ผ ํฉ๋๋ค. ๊ฒ์์ ํ ๋จ๊ณ๊ฐ ์์คํ ์ด ์ ์ฅํ ์ ์๋ ํ๋กฌํํธ(์์์ ํค๋ฅผ ๋๋ฌ ๊ณ์ํ๊ฑฐ๋ More ํ๋กฌํํธ๋ ์ฒ๋ฆฌ๋์ด์ผ ํ๋ฏ๋ก ๋ฌด์)๋ก ์ด์ด์ง์ง ์์ผ๋ฉด ์คํ ๋ฆฌ๊ฐ ์๋ํ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Act of Murder(ํ๋ฅญํ ๊ฒ์!)์์ ๋ฌธ ์์ ์ฌ์ฑ์ด ๋น์ ์ด ๊ฒฝ์ฐฐ๊ด์ธ์ง ๋ฌป์ต๋๋ค. ๋ถํํ๋ ์ด๊ฒ์ ์ ์ฅํ ์ ์๋ ๊ฒ์ ์ํ์ด๋ฏ๋ก ์ด ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ์ง ๋ชปํ๋ฉฐ, ์ด๋ฅผ ์๋ํ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์์ต๋๋ค.
์ฐธ๊ณ : ๋ฉ์ผ๋ง ๋ฆฌ์คํธ ๋ชจ๋๋ ์ด๊ฒ๊ณผ ํจ๊ป ์ฌ์ ์ด๋ฏ๋ก, ์ด ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ค๊ณ ์๋ํ๊ธฐ ์ ์ ์ด๊ฒ์ด ์ฌ์ฉ๋์ง ์๋๋ก ํ์ธํ์ธ์!
๊ฐ 'movementโ๋ง๋ค ์ต์ ๋ ๊ฐ์ ๊ฒ์๋ฌผ์ด ํ์ํ๋ฏ๋ก ํฌ๋ผ ๋ฆฌ์์ค๋ฅผ ๋ค์ ๋ญ๋นํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. ๋น์ฐํ ์ด๋ฌํ ์ ํ์ ๊ฒ์์ ํฌ๋ผ๋ณด๋ค๋ ์ฑํ
์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ ์ดํ๋ ๊ฒ์ด ๋ ์ ํฉํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ํ์ง๋ง ์ด๊ฒ์ด ์ํฌ์ค๋ฃจ(Walkthroughs)๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์๋ค๊ณ ์ฃผ์ฅํ ์๋ ์๊ฒ ์ฃ ? ![]()
๋ ์นจ์ต์ ์ธ ์๋ฃจ์ ์ ์ํ๋ค๋ฉด ๋ค์์ ๊ณ ๋ คํด ๋ณด์ธ์: Turning a topic into interactive fiction ;)
ํผ๋๋ฐฑ
๋ชจ๋ ํผ๋๋ฐฑ์ ํ์ํฉ๋๋ค!
ํฌ๋ ๋ง
์ด ํ๋ฌ๊ทธ์ธ์ ์ค์ ์คํฌ๋ฆฝํธ์์ ํด๋ก ๋๊ณ 'makeโ๋๋ Frotz Z-์ธํฐํ๋ฆฌํฐ์ธ David Griffith / frotz ยท GitLab ๋ฅผ ํ์ฉํฉ๋๋ค.
ํจ๊ป ์์ ํ ํด๋ก์ฆ๋ ์์ค ์ฑ๋ด์ ์ฝ๋ ๋ฐ์ท๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ฝํด ์ค @P16 ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.






