{"id":132,"date":"2026-05-09T00:32:06","date_gmt":"2026-05-08T15:32:06","guid":{"rendered":"https:\/\/lueim.synology.me\/?p=132"},"modified":"2026-05-09T00:32:06","modified_gmt":"2026-05-08T15:32:06","slug":"%ed%94%84%eb%a1%9c%ec%a0%9d%ed%8a%b8_%ea%b2%8c%ec%9e%84%eb%a7%8c%eb%93%a4%ea%b8%b0_260508","status":"publish","type":"post","link":"https:\/\/lueim.synology.me\/?p=132","title":{"rendered":"\ud504\ub85c\uc81d\ud2b8_\uac8c\uc784\ub9cc\ub4e4\uae30_260508"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u3147 \ubaa9\ud45c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">RPG \uac8c\uc784 \uc81c\uc791<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3147 \uacfc\uc815<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\ud504\ub85c\uc81d\ud2b8 \ud3f4\ub354 \uc0dd\uc131<\/li>\n\n\n\n<li>\ud3f4\ub354 \ub0b4\uc5d0 AGENTS.md \ud30c\uc77c \uc0dd\uc131<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud5a5\ud6c4 Codex\uac00 \ub530\ub77c\uc57c \ud560 \uae30\uc900 \uc0dd\uc131<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud504\ub85c\uc81d\ud2b8 \ub0b4\uc6a9, \uc81c\ud488 \ubaa9\ud45c, \ud3ec\ud568 \ub0b4\uc6a9, \uae30\uc220 \uc2a4\ud14d, \uc544\ud0a4\ud14d\ucc98\/\uc5d0\uc14b \uaddc\uce59 \uc815\ub9ac, \uc644\ub8cc \uae30\uc900 \uc218\ub9bd, \uba85\ub839\uc5b4 \ubc0f \ubcf8 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uc81c\uc678\ud560 \uac83 \uae30\ub85d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">3. Codex CLI\ub97c \ud1b5\ud574 \ud574\ub2f9 \ud504\ub85c\uc81d\ud2b8 \ud3f4\ub354\uc5d0\uc11c \uac8c\uc784 \uc81c\uc791 \ud504\ub86c\ud504\ud2b8 \uc2e4\ud589<br>(\uc804\uccb4 \uac8c\uc784\uc740 \uad6c\ud604\ud558\uc9c0 \uc54a\uace0 \uae30\ud68d\uacfc \uc2a4\uce90\ud3f4\ub529\ub9cc \uc218\ud589)<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ub9c8\uc2a4\ud130 \ud504\ub86c\ud504\ud2b8 \uc2e4\ud589<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MVP \ubc94\uc704 \uc9c0\uc815, \uc791\uc5c5 \uc0b0\ucd9c\ubb3c \uc815\uc758, \uc644\ub8cc \uae30\uc900 \uc815\uc758<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">README.md \uc0dd\uc131<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \ub514\uc790\uc778 \ubb38\uc11c, \uc544\ud0a4\ud14d\ucc98, \ud30c\uc77c\uad6c\uc870, \uc2dc\uc2a4\ud15c, \ub9c8\uc77c\uc2a4\ud1a4, \ube44\uc8fc\uc5bc \uc2a4\ud0c0\uc77c, \uc5d0\uc14b \ubaa9\ub85d, \uc2a4\ud504\ub77c\uc774\ud2b8 \ud06c\uae30, \uc560\ub2c8\uba54\uc774\uc158 \uc694\uad6c\uc0ac\ud56d, UI \uc2a4\ud0c0\uc77c \uc791\uc131<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">*\uacfc\uc815 \uc911\uc5d0 npm\uc744 \uc124\uce58\ud558\ub290\ub0d0\ub294 \ubb3c\uc74c\uc774 \uc788\uc5b4\uc11c \uc2b9\uc778\ud568<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">4. Vite\uc640 TypeScript, Phaser \uae30\ubc18\uc73c\ub85c \uac8c\uc784 \ud504\ub85c\uc81d\ud2b8 \uc81c\uc791 \uc2e4\ud589<br>> \uc544\ub798 \ub0b4\uc6a9\uc73c\ub85c \uc0cc\ub4dc\ubc15\uc2a4 \uc678\ubd80\uc5d0\uc11c Vite dev server\ub97c \uc2dc\uc791\ud560\uac70\ub0d0\uace0 \ubb3c\uc5b4\uc11c \uc9c4\ud589\ud558\ub77c\uace0 \ud568(y)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Would you like to run the following command?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reason: Do you want to allow starting the Vite dev server outside the sandbox so I can verify the game boots and<br>serves correctly?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$ timeout 15s npm run dev &#8212; &#8211;host 127.0.0.1 &#8211;strictPort<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u203a 1. Yes, proceed (y)<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Yes, and don&#8217;t ask again for commands that start with <code>timeout 15s npm run dev -- --host 127.0.0.1 --strictPort<\/code><br>(p)<\/li>\n\n\n\n<li>No, and tell Codex what to do differently (esc)<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5. \ud50c\ub808\uc774\uc5b4 \uc774\ub3d9\uacfc \ub9f5 \uae30\ubc18\uc744 \uad6c\ud604\ud558\ub824 \ud568<br>> \uc774\ubbf8\uc9c0 \uc560\uc14b\uc744 \uc5b4\ub5bb\uac8c \ub9cc\ub4e4\uac74\uc9c0 \uad81\uae08\ud568<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">6. \uc804\ud22c \uc2dc\uc2a4\ud15c \uad6c\ud604<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">7. NPC \ub300\ud654\uc640 \ud018\uc2a4\ud2b8 \uc2dc\uc2a4\ud15c\uc744 \uad6c\ud604<br>> \ud604\uc7ac \uc804\ud22c\/\ub9f5 \uad6c\uc870\ub97c \uc77d\uace0 \uc5b4\ub5a4 \ud750\ub984\uc73c\ub85c \ubd99\uc77c\uc9c0 \uc54c\uc544\uc11c \ud310\ub2e8\ud55c \ud6c4\uc5d0 \uad6c\ud604\ud55c\ub2e4\uace0 \ud568<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">&#8220;The old road has turned dangerous. Three Forest Bandits have been harassing anyone bold enough to travel east. Will you drive them off for us?&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc640 \uac19\uc740 \ub300\uc0ac\ub97c \uc54c\uc544\uc11c \uc0dd\uc131\ud574\uc11c \ubd99\uc774\ub294 \uac83\uc744 \ubd04<\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ub9c8\uc744\uc5d0\uc11c Elder Rowan\uc5d0\uac8c E\ub85c \ub300\ud654\ud560 \uc218 \uc788\uace0, Wolves at the Old Road\ub97c \uc218\ub77d\ud55c \ub4a4 Forest Bandit 3\uba85\uc744 \ucc98\uce58\ud558\uba74 \uc9c4\ud589\ub3c4\uac00 \uc62c\ub77c\uac04\ub2e4. \ub2e4\uc2dc Elder Rowan\uc5d0\uac8c \ub3cc\uc544\uac00\uba74 \ud018\uc2a4\ud2b8\ub97c \uc644\ub8cc\ud558\uace0 Iron Sword\uc640 25 XP\ub97c \ubc1b\ub294\ub2e4\uace0 \ud568<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">8. \uc778\ubca4\ud1a0\ub9ac, \uc7a5\ube44, \uc800\uc7a5\/\ubd88\ub7ec\uc624\uae30 \uae30\ub2a5\uc744 \uad6c\ud604<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\uc774\ucbe4\ub418\ub2c8 \ud3f4\ub354\uc5d0 \ud30c\uc77c\uc774 \uc5b4\ub5bb\uac8c \uc0dd\uc131\ub418\uace0 \uc788\ub294\uc9c0 \uad81\uae08\ud574\uc9d0<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"411\" height=\"570\" src=\"https:\/\/lueim.synology.me\/wp-content\/uploads\/2026\/05\/image.png\" alt=\"\" class=\"wp-image-133\" srcset=\"https:\/\/lueim.synology.me\/wp-content\/uploads\/2026\/05\/image.png 411w, https:\/\/lueim.synology.me\/wp-content\/uploads\/2026\/05\/image-216x300.png 216w\" sizes=\"auto, (max-width: 411px) 100vw, 411px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub807\uac8c \ucc28\uace1\ucc28\uace1 \uc313\uc774\uace0 \uc788\ub294 \uac83\uc744 \ud655\uc778\ud568<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">9. \ube44\uc8fc\uc5bc \uc2a4\ud0c0\uc77c \uac00\uc774\ub4dc \uc791\uc131<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \ud06c\uae30\uac00 32&#215;32 \ud53d\uc140 \uc544\ud2b8 \ud0c0\uc77c\uc774\ub77c\ub294 \uac83\uc744 \ubc1c\uacac\ud568<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc138\ubd80 \uc138\ud305\uc740 \ud558\uc9c0 \uc54a\uc558\ub358 \ud130\ub77c \ub108\ubb34 \uc791\uac8c \uc124\uc815\ub418\uc5b4 \uc788\ub294 \ub4ef\ud568<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc9c0\uae08 \ubc14\uafb8\uba74 \ub2e4\ub978 \ubd80\ubd84\ub4e4\uc774 \ud2c0\uc5b4\uc9c8 \uc218 \uc788\uae30\uc5d0 \uc77c\ub2e8 \uc774 \uaddc\uaca9\uc73c\ub85c \uac15\ud589\ud558\uae30\ub85c \ud568<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">10. \ud53d\uc140 \uc544\ud2b8 \ud0c0\uc77c\uc14b \uc81c\uc791<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \ub0b4\uc758 \uc2dc\uac01 \uc5d0\uc14b\uc774 \uac19\uc740 \uc138\uacc4\uad00\uacfc \uac19\uc740 \uc81c\uc791 \uaddc\uce59 \ub0b4\uc5d0\uc11c \uc0dd\uc131\ub418\ub3c4\ub85d \ud558\ub294 ASSET_BIBLE.md \ud30c\uc77c\uc744 \uc0dd\uc131\ud588\uace0, \uc9c0\uc18d \ud655\uc7a5\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc81c\uc791\ud55c \uc5d0\uc14b \ud30c\uc77c\uc774 \uc5b4\ub5bb\uac8c \uc800\uc7a5\ub418\uace0 \uc788\ub294\uc9c0 \ubcf4\ub824\ud568<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc640\uc6b0,<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"658\" height=\"399\" src=\"https:\/\/lueim.synology.me\/wp-content\/uploads\/2026\/05\/image-1.png\" alt=\"\" class=\"wp-image-134\" srcset=\"https:\/\/lueim.synology.me\/wp-content\/uploads\/2026\/05\/image-1.png 658w, https:\/\/lueim.synology.me\/wp-content\/uploads\/2026\/05\/image-1-300x182.png 300w\" sizes=\"auto, (max-width: 658px) 100vw, 658px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub807\uac8c \uc0dd\uc131\ub41c \uac83\uc744 \ubd04<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0dd\uac01\ud55c \ub290\ub08c\ub300\ub85c \uc798 \ub9cc\ub4e0 \uac83\uc744 \ud655\uc778\ud568<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub9cc,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\uccb4\uac00 \ub3c5\ub9bd\uc801\uc73c\ub85c \uc874\uc7ac\ud558\uc9c0 \uc54a\uace0 \ubc14\ub2e5\uacfc \ud569\uccd0\uc838 \uc788\ub294 \ud615\ud0dc\ub77c \uac19\uc740 \uc0ac\ubb3c\uc744 \ub2e4\uc591\ud55c \uc9c0\ud615 \ud0c0\uc77c\uc5d0 \uc62c\ub9ac\uac70\ub098 \ud558\uae34 \uc5b4\ub824\uc6b8 \uac83\uc774\ub77c\uace0 \uc608\uc0c1\ud574\ubd04<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">11. \uce90\ub9ad\ud130 \uc2a4\ud504\ub77c\uc774\ud2b8 \uc2dc\ud2b8\ub97c \uc0dd\uc131<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Jimp\ub77c\ub294 \ud234\ub85c \ud06c\ub86d, \ud06c\ub85c\ub9c8 \uc81c\uac70 \ub4f1\uc758 \uc791\uc5c5\uc744 \ud55c\ub2e4\uace0 \ud558\uc5ec \ucd94\uac00 \uc124\uce58\ub97c \uc2b9\uc778\ud568<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud50c\ub808\uc774\uc5b4\/\ub9c8\uc744NPC\/\uc801 \uc2a4\ud504\ub77c\uc774\ud2b8 \uc2dc\ud2b8 \uc0dd\uc131<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3147 \ubaa9\ud45c RPG \uac8c\uc784 \uc81c\uc791 \u3147 \uacfc\uc815 \ud5a5\ud6c4 Codex\uac00 \ub530\ub77c\uc57c \ud560 \uae30\uc900 \uc0dd\uc131 \ud504\ub85c\uc81d\ud2b8 \ub0b4\uc6a9, \uc81c\ud488 \ubaa9\ud45c, \ud3ec\ud568 \ub0b4\uc6a9, \uae30\uc220 \uc2a4\ud14d, \uc544\ud0a4\ud14d\ucc98\/\uc5d0\uc14b \uaddc\uce59 \uc815\ub9ac, \uc644\ub8cc \uae30\uc900 \uc218\ub9bd, \uba85\ub839\uc5b4 \ubc0f \ubcf8 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uc81c\uc678\ud560 \uac83 \uae30\ub85d 3. Codex CLI\ub97c \ud1b5\ud574 \ud574\ub2f9 \ud504\ub85c\uc81d\ud2b8 \ud3f4\ub354\uc5d0\uc11c \uac8c\uc784 \uc81c\uc791 \ud504\ub86c\ud504\ud2b8 \uc2e4\ud589(\uc804\uccb4 \uac8c\uc784\uc740 \uad6c\ud604\ud558\uc9c0 \uc54a\uace0 \uae30\ud68d\uacfc \uc2a4\uce90\ud3f4\ub529\ub9cc \uc218\ud589) \ub9c8\uc2a4\ud130 \ud504\ub86c\ud504\ud2b8 \uc2e4\ud589 MVP<\/p>\n<div class=\"more-link\">\n\t\t\t\t <a href=\"https:\/\/lueim.synology.me\/?p=132\" class=\"link-btn theme-btn\"><span>Read More <\/span> <i class=\"fa fa-caret-right\"><\/i><\/a>\n\t\t\t<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30],"tags":[53,40,52,39,38],"class_list":["post-132","post","type-post","status-publish","format-standard","hentry","category-process","tag-cli","tag-codex","tag-rpg","tag-39","tag-38"],"_links":{"self":[{"href":"https:\/\/lueim.synology.me\/index.php?rest_route=\/wp\/v2\/posts\/132","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lueim.synology.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lueim.synology.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lueim.synology.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lueim.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=132"}],"version-history":[{"count":1,"href":"https:\/\/lueim.synology.me\/index.php?rest_route=\/wp\/v2\/posts\/132\/revisions"}],"predecessor-version":[{"id":135,"href":"https:\/\/lueim.synology.me\/index.php?rest_route=\/wp\/v2\/posts\/132\/revisions\/135"}],"wp:attachment":[{"href":"https:\/\/lueim.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=132"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lueim.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=132"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lueim.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=132"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}