{"id":2430,"date":"2026-09-15T16:03:59","date_gmt":"2026-09-15T16:03:59","guid":{"rendered":"https:\/\/wayhope.kro.kr\/?p=2430"},"modified":"2026-09-15T16:03:59","modified_gmt":"2026-09-15T16:03:59","slug":"%ea%b2%8c%ec%9e%84-%ea%b0%9c%eb%b0%9c-%ec%8b%a4%eb%ac%b4-%ec%98%81%ec%96%b4-%ed%91%9c%ed%98%84","status":"publish","type":"post","link":"https:\/\/wayhope.kro.kr\/?p=2430","title":{"rendered":"\uac8c\uc784 \uac1c\ubc1c \uc2e4\ubb34 \uc601\uc5b4 \ud45c\ud604"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uac1c\ubc1c\uc744 \ud558\ub2e4 \ubcf4\uba74 \uc18c\ud1b5\uc73c\ub85c \uc601\uc5b4\ub97c \uc0ac\uc6a9\ud558\uac8c \ub418\ub294 \uacbd\uc6b0\uac00 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ucf54\ub4dc \uc790\uccb4\ubcf4\ub2e4\ub3c4 \ub354 \uc790\uc8fc \ubcf4\ub294 \uac8c \uc788\ub2e4.<br>GitHub Issue, PR, Slack, Jira, \ubb38\uc11c\uc5d0 \uc801\ud600 \uc788\ub294 \uc9e7\uc740 \uc601\uc5b4 \ud45c\ud604\ub4e4\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\uc74c\uc5d0\ub294 \ud558\ub098\ud558\ub098 \ubc88\uc5ed\ud574\uc11c \uc77d\uc5c8\ub294\ub370, \uacc4\uc18d \ubcf4\ub2e4 \ubcf4\ub2c8 \uc790\uc8fc \uc4f0\ub294 \ud45c\ud604\uc740 \uc5b4\ub290 \uc815\ub3c4 \uc815\ud574\uc838 \uc788\uc5c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud2b9\ud788 \uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c\ub294 \uc77c\ubc18\uc801\uc778 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uac1c\ubc1c \uc601\uc5b4\uc5d0 \ub354\ud574\uc11c <code>Client<\/code>, <code>Server<\/code>, <code>Gameplay<\/code>, <code>Animation<\/code>, <code>Network<\/code>, <code>Build<\/code>, <code>QA<\/code>\uc640 \uad00\ub828\ub41c \ud45c\ud604\uc744 \uc790\uc8fc \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ubc88\uc5d0\ub294 \uac8c\uc784 \uac1c\ubc1c\ud558\uba74\uc11c \uc2e4\uc81c\ub85c \uc368\uba39\uae30 \uc88b\uc740 \ud45c\ud604\ub4e4\uc744 \uc815\ub9ac\ud574\ubd24\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Gameplay<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\ud50c\ub808\uc774 \uad6c\ud604\uc5d0\uc11c\ub294 \ud2b9\uc815 \uae30\ub2a5\uc758 \uc0c1\ud0dc\ub098 \ub3d9\uc791\uc744 \uc124\uba85\ud558\ub294 \uc77c\uc774 \ub9ce\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The player can't move while attacking.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uacf5\uaca9 \uc911\uc5d0\ub294 \ud50c\ub808\uc774\uc5b4\uac00 \uc6c0\uc9c1\uc77c \uc218 \uc5c6\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The attack animation is not playing.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uacf5\uaca9 \uc560\ub2c8\uba54\uc774\uc158\uc774 \uc7ac\uc0dd\ub418\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The input is being ignored.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc785\ub825\uc774 \ubb34\uc2dc\ub418\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The state isn't being updated correctly.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0c1\ud0dc\uac00 \uc81c\ub300\ub85c \uac31\uc2e0\ub418\uc9c0 \uc54a\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>This behavior is intentional.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ub3d9\uc791\uc740 \uc758\ub3c4\ub41c \uac83\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>This should only happen once.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ub3d9\uc791\uc740 \ud55c \ubc88\ub9cc \ubc1c\uc0dd\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>This can be triggered multiple times.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ub3d9\uc791\uc740 \uc5ec\ub7ec \ubc88 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \ub85c\uc9c1\uc5d0\uc11c \uc870\uac74\uc744 \uc124\uba85\ud560 \ub54c\ub3c4 \uc774\ub7f0 \ud45c\ud604\uc744 \ub9ce\uc774 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>This only happens when the player is grounded.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud50c\ub808\uc774\uc5b4\uac00 \uc9c0\uba74\uc5d0 \uc788\uc744 \ub54c\ub9cc \ubc1c\uc0dd\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>This happens when the player enters the trigger.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud50c\ub808\uc774\uc5b4\uac00 Trigger\uc5d0 \ub4e4\uc5b4\uc654\uc744 \ub54c \ubc1c\uc0dd\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We need to reset the state here.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c \uc0c1\ud0dc\ub97c \ucd08\uae30\ud654\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Client \/ Server<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uba40\ud2f0\ud50c\ub808\uc774\uc5b4 \uac8c\uc784\uc5d0\uc11c\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8\uc640 \uc11c\ubc84\uc758 \ucc45\uc784\uc744 \uad6c\ubd84\ud574\uc11c \uc774\uc57c\uae30\ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>This should be handled on the server.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uac83\uc740 \uc11c\ubc84\uc5d0\uc11c \ucc98\ub9ac\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The server should be authoritative.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ubc84\uac00 \uad8c\uc704 \uc788\ub294 \uc0c1\ud0dc\ub97c \uac00\uc838\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The client is predicting the movement.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uc774\ub3d9\uc744 \uc608\uce21\ud558\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The client state is out of sync.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud074\ub77c\uc774\uc5b8\ud2b8 \uc0c1\ud0dc\uac00 \ub3d9\uae30\ud654\ub418\uc9c0 \uc54a\uc558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The server state looks correct.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ubc84 \uc0c1\ud0dc\ub294 \uc815\uc0c1\uc73c\ub85c \ubcf4\uc778\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The client is receiving stale data.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uc624\ub798\ub41c \ub370\uc774\ud130\ub97c \ubc1b\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We're sending too many requests.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc694\uccad\uc744 \ub108\ubb34 \ub9ce\uc774 \ubcf4\ub0b4\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We should reduce the network traffic.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub124\ud2b8\uc6cc\ud06c \ud2b8\ub798\ud53d\uc744 \uc904\uc5ec\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud2b9\ud788 \uac8c\uc784\uc5d0\uc11c\ub294 \ub2e8\uc21c\ud788 &#8220;\ubc84\uadf8\uac00 \uc788\ub2e4&#8221;\ubcf4\ub2e4 <strong>\uc5b4\ub290 \ucabd\uc758 \uc0c1\ud0dc\uac00 \uc798\ubabb\ub410\ub294\uc9c0<\/strong>\ub97c \uc124\uba85\ud558\ub294 \uac83\uc774 \uc911\uc694\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Client -&gt; Server -&gt; State -&gt; Synchronization<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ud750\ub984\uc744 \uae30\uc900\uc73c\ub85c \uc0dd\uac01\ud558\uba74 \ubb38\uc81c\ub97c \uc124\uba85\ud558\uae30\ub3c4 \uc26c\uc6cc\uc9c4\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Network<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub124\ud2b8\uc6cc\ud06c \ubb38\uc81c\ub294 \uac8c\uc784\uc5d0\uc11c \uc790\uc8fc \ubc1c\uc0dd\ud558\uae30 \ub54c\ubb38\uc5d0 \uad00\ub828 \ud45c\ud604\ub3c4 \uc775\ud600\ub450\uba74 \uc88b\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The connection was lost.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5f0\uacb0\uc774 \ub04a\uacbc\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The connection was dropped.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5f0\uacb0\uc774 \ub04a\uacbc\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We're seeing high latency.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub192\uc740 \uc9c0\uc5f0 \uc2dc\uac04\uc774 \ubc1c\uc0dd\ud558\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The packet was dropped.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud328\ud0b7\uc774 \uc720\uc2e4\ub410\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The request timed out.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc694\uccad\uc774 \uc2dc\uac04 \ucd08\uacfc\ub410\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The response is delayed.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc751\ub2f5\uc774 \uc9c0\uc5f0\ub418\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The client is out of sync.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \ub3d9\uae30\ud654\ub418\uc9c0 \uc54a\uc558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We're getting duplicate messages.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc911\ubcf5\ub41c \uba54\uc2dc\uc9c0\ub97c \ubc1b\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The server is not responding.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ubc84\uac00 \uc751\ub2f5\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub124\ud2b8\uc6cc\ud06c \ub3d9\uae30\ud654 \ubb38\uc81c\ub97c \ud655\uc778\ud560 \ub54c\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc774\uc57c\uae30\ud560 \uc218\ub3c4 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Can you check the server logs?\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ubc84 \ub85c\uadf8\ub97c \ud655\uc778\ud574 \uc904 \uc218 \uc788\ub098\uc694?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Can you check the network traffic?\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub124\ud2b8\uc6cc\ud06c \ud2b8\ub798\ud53d\uc744 \ud655\uc778\ud574 \uc904 \uc218 \uc788\ub098\uc694?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Can you reproduce this with a high-latency connection?\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub192\uc740 \uc9c0\uc5f0 \ud658\uacbd\uc5d0\uc11c \uc7ac\ud604\ud574 \ubcfc \uc218 \uc788\ub098\uc694?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Animation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c\ub294 \uc560\ub2c8\uba54\uc774\uc158 \uad00\ub828 \ucee4\ubba4\ub2c8\ucf00\uc774\uc158\ub3c4 \uc0c1\ub2f9\ud788 \ub9ce\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The animation isn't playing.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc560\ub2c8\uba54\uc774\uc158\uc774 \uc7ac\uc0dd\ub418\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The animation is being interrupted.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc560\ub2c8\uba54\uc774\uc158\uc774 \uc911\uac04\uc5d0 \ub04a\uae30\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The transition feels too slow.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Transition\uc774 \ub108\ubb34 \ub290\ub9ac\uac8c \ub290\uaef4\uc9c4\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The transition is too abrupt.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Transition\uc774 \ub108\ubb34 \uac11\uc791\uc2a4\ub7fd\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The character is snapping to the target.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uce90\ub9ad\ud130\uac00 \ubaa9\ud45c \uc704\uce58\ub85c \uc21c\uac04\uc801\uc73c\ub85c \ubd99\ub294\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The character isn't aligned with the target.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uce90\ub9ad\ud130\uac00 \ubaa9\ud45c\uc640 \uc815\ub82c\ub418\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We need to blend these animations.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uc560\ub2c8\uba54\uc774\uc158\ub4e4\uc744 Blend\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The animation should start when the player gets close enough.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud50c\ub808\uc774\uc5b4\uac00 \ucda9\ubd84\ud788 \uac00\uae4c\uc6cc\uc84c\uc744 \ub54c \uc560\ub2c8\uba54\uc774\uc158\uc774 \uc2dc\uc791\ub418\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uce90\ub9ad\ud130\uac00 \ud568\uaed8 \ud589\ub3d9\ud558\ub294 \uc0c1\ud638\uc791\uc6a9\uc774\ub77c\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The two animations need to be synchronized.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \uc560\ub2c8\uba54\uc774\uc158\uc744 \ub3d9\uae30\ud654\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784\uc5d0\uc11c\ub294 \uc560\ub2c8\uba54\uc774\uc158 \uc790\uccb4\ubcf4\ub2e4 <strong>\uac8c\uc784 \ub85c\uc9c1\uacfc \uc560\ub2c8\uba54\uc774\uc158\uc758 \uc5f0\uacb0<\/strong>\uc744 \uc124\uba85\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The animation should be driven by the gameplay state.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc560\ub2c8\uba54\uc774\uc158\uc740 Gameplay \uc0c1\ud0dc\uc5d0 \uc758\ud574 \uc81c\uc5b4\ub418\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Physics<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubb3c\ub9ac \uad00\ub828 \ubb38\uc81c\ub97c \uc774\uc57c\uae30\ud560 \ub54c\ub3c4 \uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \ud45c\ud604\uc774 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The collision isn't working correctly.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucda9\ub3cc\uc774 \uc81c\ub300\ub85c \uc791\ub3d9\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The object is passing through the collider.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc624\ube0c\uc81d\ud2b8\uac00 Collider\ub97c \ud1b5\uacfc\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The character is getting stuck.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uce90\ub9ad\ud130\uac00 \ub07c\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The rigidbody isn't responding as expected.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Rigidbody\uac00 \uc608\uc0c1\ub300\ub85c \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The object is moving too fast.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc624\ube0c\uc81d\ud2b8\uac00 \ub108\ubb34 \ube60\ub974\uac8c \uc6c0\uc9c1\uc778\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We need to adjust the collision layer.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Collision Layer\ub97c \uc870\uc815\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The physics behavior is inconsistent.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubb3c\ub9ac \ub3d9\uc791\uc774 \uc77c\uad00\ub418\uc9c0 \uc54a\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Performance<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c \uc131\ub2a5 \uc774\uc57c\uae30\ub97c \ud560 \ub54c\ub294 FPS, CPU, GPU, Memory, Draw Call \ub4f1\uc758 \ud45c\ud604\uc774 \uc790\uc8fc \ub4f1\uc7a5\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We're dropping frames here.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c \ud504\ub808\uc784\uc774 \ub5a8\uc5b4\uc9c0\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The frame rate drops when there are many enemies.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc801\uc774 \ub9ce\uc544\uc9c0\uba74 \ud504\ub808\uc784\uc774 \ub5a8\uc5b4\uc9c4\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CPU usage is too high.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">CPU \uc0ac\uc6a9\ub7c9\uc774 \ub108\ubb34 \ub192\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GPU usage is too high.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">GPU \uc0ac\uc6a9\ub7c9\uc774 \ub108\ubb34 \ub192\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We're seeing a memory spike.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uba54\ubaa8\ub9ac \uc0ac\uc6a9\ub7c9\uc774 \uae09\uc99d\ud558\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We're seeing a memory leak.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uba54\ubaa8\ub9ac \ub204\uc218\uac00 \ubc1c\uc0dd\ud558\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>This is causing unnecessary allocations.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubd88\ud544\uc694\ud55c \uba54\ubaa8\ub9ac \ud560\ub2f9\uc744 \ubc1c\uc0dd\uc2dc\ud0a4\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>This is a performance bottleneck.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ubd80\ubd84\uc774 \uc131\ub2a5 \ubcd1\ubaa9\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We should profile this first.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uba3c\uc800 \ud504\ub85c\ud30c\uc77c\ub9c1\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We can optimize this later.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ubd80\ubd84\uc740 \ub098\uc911\uc5d0 \ucd5c\uc801\ud654\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unity\ub97c \uc0ac\uc6a9\ud55c\ub2e4\uba74 \uc2e4\uc81c \ub300\ud654\uc5d0\uc11c\ub294 \uc774\ub7f0 \uc2dd\uc73c\ub85c\ub3c4 \ub9d0\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We're generating too many garbage collections.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">GC\uac00 \ub108\ubb34 \ub9ce\uc774 \ubc1c\uc0dd\ud558\uace0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The draw calls are too high.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Draw Call\uc774 \ub108\ubb34 \ub192\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>We should reduce the number of draw calls.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Draw Call\uc744 \uc904\uc5ec\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Build \/ QA<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c\ub294 \uad6c\ud604\uc774 \ub05d\ub0ac\ub2e4\uace0 \ubc14\ub85c \ub05d\ub098\ub294 \uac8c \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ube4c\ub4dc\ud558\uace0 QA\ub97c \uac70\uccd0\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The build is ready.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ube4c\ub4dc\uac00 \uc900\ube44\ub410\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The build failed.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ube4c\ub4dc\uac00 \uc2e4\ud328\ud588\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The build is broken.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ube4c\ub4dc\uac00 \uae68\uc84c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Ready for QA.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">QA \uc900\ube44\uac00 \ub410\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Could you test this build?\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ube4c\ub4dc\ub97c \ud14c\uc2a4\ud2b8\ud574 \uc904 \uc218 \uc788\ub098\uc694?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>This issue is fixed in the latest build.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucd5c\uc2e0 \ube4c\ub4dc\uc5d0\uc11c \uc774 \ubb38\uc81c\uac00 \uc218\uc815\ub410\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>I couldn't reproduce the issue in the latest build.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucd5c\uc2e0 \ube4c\ub4dc\uc5d0\uc11c\ub294 \ud574\ub2f9 \ubb38\uc81c\ub97c \uc7ac\ud604\ud558\uc9c0 \ubabb\ud588\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">QA\uc5d0\uc11c \ubb38\uc81c\uac00 \ub2e4\uc2dc \ubc1c\uacac\ub410\ub2e4\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The issue is still reproducible.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc544\uc9c1 \ubb38\uc81c\uac00 \uc7ac\ud604\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The fix didn't work as expected.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc218\uc815 \uc0ac\ud56d\uc774 \uc608\uc0c1\ub300\ub85c \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Git \/ PR<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c\ub3c4 \uacb0\uad6d Git\uc744 \uacc4\uc18d \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>I pushed the changes.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcc0\uacbd \uc0ac\ud56d\uc744 Push\ud588\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>I pushed a fix.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc218\uc815 \uc0ac\ud56d\uc744 Push\ud588\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>This PR is ready for review.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 PR\uc740 \ub9ac\ubdf0\ud560 \uc900\ube44\uac00 \ub410\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Could you review this PR?\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 PR\uc744 \ub9ac\ubdf0\ud574 \uc904 \uc218 \uc788\ub098\uc694?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>I addressed your comments.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub9ac\ubdf0 \uc758\uacac\uc744 \ubc18\uc601\ud588\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>There are merge conflicts.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Merge Conflict\uac00 \ubc1c\uc0dd\ud588\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>I'll resolve the conflicts.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucda9\ub3cc\uc744 \ud574\uacb0\ud558\uaca0\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>This commit can be reverted.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ucee4\ubc0b\uc740 \ub418\ub3cc\ub9b4 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub9ac\ubdf0\uc5d0\uc11c \ubb38\uc81c\uac00 \uc5c6\ub2e4\uba74 \uc5ed\uc2dc \uac00\uc7a5 \uac04\ub2e8\ud55c \ud45c\ud604\uc744 \uc0ac\uc6a9\ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>LGTM.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Looks Good To Me.<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ubc1c\uc790\ub07c\ub9ac\ub294 \uad73\uc774 \uae34 \ubb38\uc7a5\uc744 \ub9cc\ub4e4\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc2e4\uc81c Slack\uc5d0\uc11c\ub294 \ub354 \uc9e7\ub2e4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\uc778\uc801\uc73c\ub85c \uac1c\ubc1c\uc790 \uc601\uc5b4\uc5d0\uc11c \uac00\uc7a5 \uc775\uc219\ud574\uc838\uc57c \ud560 \ubd80\ubd84\uc740 \uc774\ub7f0 \uc9e7\uc740 \ud45c\ud604\uc774\ub77c\uace0 \uc0dd\uac01\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Looking into it.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud655\uc778 \uc911.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>On it.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\ub9ac \uc911.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Fixed.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc218\uc815 \uc644\ub8cc.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Reproduced.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc7ac\ud604 \uc644\ub8cc.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Can't reproduce.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc7ac\ud604 \ubd88\uac00.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Pushed a fix.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc218\uc815 \uc0ac\ud56d Push \uc644\ub8cc.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Ready for QA.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">QA \uc900\ube44 \uc644\ub8cc.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Deployed.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc30\ud3ec \uc644\ub8cc.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Merged.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Merge \uc644\ub8cc.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Blocked by the server issue.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc11c\ubc84 \ubb38\uc81c \ub54c\ubb38\uc5d0 \ub9c9\ud600 \uc788\uc74c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub7f0 \ud45c\ud604\ub4e4\uc740 \ubb38\ubc95\uc801\uc73c\ub85c \uc644\uc804\ud55c \ubb38\uc7a5\uc744 \ub9cc\ub4e4\uc9c0 \uc54a\uc544\ub3c4 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ubc1c\uc790 \uc0ac\uc774\uc5d0\uc11c\ub294 <strong>\ud604\uc7ac \uc0c1\ud0dc\uac00 \ubb34\uc5c7\uc778\uc9c0 \ubc14\ub85c \uc774\ud574\ud560 \uc218 \uc788\uc73c\uba74 \ub41c\ub2e4.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ub9c8\ubb34\ub9ac<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c \uc601\uc5b4\ub294 \ubcc4\ub3c4\uc758 \uc5b8\uc5b4\ucc98\ub7fc \ub290\uaef4\uc9c8 \ub54c\uac00 \uc788\uc9c0\ub9cc, \uc2e4\uc81c\ub85c \uc0ac\uc6a9\ud558\ub294 \ud45c\ud604\uc740 \uc0dd\uac01\ubcf4\ub2e4 \uc81c\ud55c\uc801\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud2b9\ud788 \ubc18\ubcf5\ud574\uc11c \uc0ac\uc6a9\ud558\ub294 \ud328\ud134\uc774 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Reproduce -&gt; Investigate -&gt; Fix -&gt; Review -&gt; QA -&gt; Deploy<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c\ub294 \uc5ec\uae30\uc5d0 \uc870\uae08 \ub354 \uad6c\uccb4\uc801\uc73c\ub85c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Client -&gt; Server -&gt; Network -&gt; Gameplay -&gt; Animation -&gt; Physics -&gt; Performance<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac19\uc740 \ub2e8\uc5b4\ub4e4\uc774 \ubd99\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uacb0\uad6d \uc911\uc694\ud55c \uac83\uc740 \uc601\uc5b4 \ubb38\uc7a5\uc744 \uc798 \ub9cc\ub4dc\ub294 \uac83\uc774 \uc544\ub2c8\ub77c <strong>\uc9c0\uae08 \uac8c\uc784\uc5d0\uc11c \ubb34\uc2a8 \uc77c\uc774 \ubc1c\uc0dd\ud588\uace0, \ub204\uac00 \ubb34\uc5c7\uc744 \ud574\uc57c \ud558\ub294\uc9c0\ub97c \uc815\ud655\ud558\uac8c \uc804\ub2ec\ud558\ub294 \uac83<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ucc98\uc74c\ubd80\ud130 \ubaa8\ub4e0 \ud45c\ud604\uc744 \uc678\uc6b0\ub824\uace0 \ud560 \ud544\uc694\ub294 \uc5c6\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>I'll look into it.<\/code><br><code>Issue reproduced.<\/code><br><code>I found the root cause.<\/code><br><code>Pushed a fix.<\/code><br><code>Ready for QA.<\/code><br><code>LGTM.<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uc815\ub3c4\ubd80\ud130 \uc775\uc219\ud558\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc73c\uba74 \uc2e4\uc81c \uac1c\ubc1c \ud658\uacbd\uc5d0\uc11c \uc0c1\ub2f9\ud788 \ub9ce\uc740 \uc0c1\ud669\uc744 \ucee4\ubc84\ud560 \uc218 \uc788\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uac8c\uc784 \uac1c\ubc1c\uc744 \ud558\ub2e4 \ubcf4\uba74 \uc18c\ud1b5\uc73c\ub85c \uc601\uc5b4\ub97c \uc0ac\uc6a9\ud558\uac8c \ub418\ub294 \uacbd\uc6b0\uac00 \uc788\ub2e4. \ucf54\ub4dc \uc790\uccb4\ubcf4\ub2e4\ub3c4 \ub354 \uc790\uc8fc \ubcf4\ub294 \uac8c \uc788\ub2e4.GitHub Issue, PR, Slack, Jira, \ubb38\uc11c\uc5d0 \uc801\ud600 \uc788\ub294 \uc9e7\uc740 \uc601\uc5b4 \ud45c\ud604\ub4e4\uc774\ub2e4. \ucc98\uc74c\uc5d0\ub294 \ud558\ub098\ud558\ub098 \ubc88\uc5ed\ud574\uc11c \uc77d\uc5c8\ub294\ub370, \uacc4\uc18d \ubcf4\ub2e4 \ubcf4\ub2c8 \uc790\uc8fc \uc4f0\ub294 \ud45c\ud604\uc740 \uc5b4\ub290 \uc815\ub3c4 \uc815\ud574\uc838 \uc788\uc5c8\ub2e4. \ud2b9\ud788 \uac8c\uc784 \uac1c\ubc1c\uc5d0\uc11c\ub294 \uc77c\ubc18\uc801\uc778 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uac1c\ubc1c \uc601\uc5b4\uc5d0 \ub354\ud574\uc11c Client, Server, Gameplay, Animation, Network, Build, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34],"tags":[],"class_list":["post-2430","post","type-post","status-publish","format-standard","hentry","category-english"],"_links":{"self":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2430"}],"version-history":[{"count":1,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2430\/revisions"}],"predecessor-version":[{"id":2431,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2430\/revisions\/2431"}],"wp:attachment":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}