AB 2 of X — John의 새 게임들
Top-down 게임과 sloppy follow
쇼 노트
지난 이야기와 근황
Finn과 John은 Unity와 C#을 배우고 있어요. John은 온라인 튜토리얼과 책으로 많이 진전했는데, Finn은 professional networking 하느라 좀 바빴어요.
John은 C#에서 여러 요소들이 어떻게 상호작용하는지 감을 잡아가고 있어요. 예를 들면 variables과 structs의 관계 같은 것들이요. 새 Unity C# script에 항상 기본으로 들어있는 두 가지 function도 가지고 놀아봤어요:
Start() — 레벨을 열 때마다 한 번만 실행되는 function이에요. 한 번만 일어나야 하는 건 여기에 넣으면 돼요.
Update() — 매 프레임마다 실행돼요. 보통 계속 일어나야 하는 걸 여기에 넣는데, John은 Update()에 뭘 얼마나 넣어야 하는지 best practice가 있을 거라고 생각해요.
John은 coroutines과 IEnumerators도 배우고 있어요. IEnumerators는 일종의 interface인데, Unity에서 이게 정확히 뭘 의미하는지는 아직 배우는 중이에요.
프로젝트
John은 top-down 게임을 만들고 있는데, 플레이어는 sphere를 조종하면서 자기한테 끌려오는 다른 sphere들을 피해야 해요.
"sloppy follow" 기법을 배우고 있어요. 적 sphere들이 결국엔 잡긴 하지만, 직접적으로 덥치진 않아요. 비결은 게임이 보이지 않는 non-enemy pawn을 spawn하고, 그 pawn이 항상 플레이어를 따라다니는 거예요. 적들은 그 보이지 않는 pawn을 향해 가기 때문에 간접적으로 쫓아오게 되는 거예요.
VS Code 같은 최신 code editor나 IDE를 쓰는 게 얼마나 좋은지에 대해서도 이야기해요.
John이 SmoothDamp()를 공부하다가 VS Code에서 SmoothDamp(를 입력했더니 자동으로 function이 어떤 parameters를 받는지 알려줬어요.
Finn은 VS Code가 variable의 type을 추적해주는 게 정말 좋대요. 어떤 variable이 특정 type일 거라고 생각하고 코드를 짰는데, VS Code가 기대했던 members를 autocomplete 해주지 않아서 아니란 걸 깨달았대요.
Finn은 VS Code에서 variable을 아무 데서나 right-click 해서 모든 위치에서 한꺼번에 rename 할 수 있는 것도 좋아해요.
에디터 이야기를 하다 보니 Copilot 얘기로 넘어가요. Microsoft 소유인 GitHub의 새 제품이에요. 거기서 또 이런저런 이야기로 흘러가는데, 새로운 기술이 아무리 논란이 되거나 문제가 있어도, 사람들이 흥미를 느끼면 결국 피할 수 없게 된다는 이야기예요.
Finn은 game development 업계 사람들과 networking을 하고 있어요. 매주 Oakland의 Museum of Art and Digital Entertainment (MADE)에서 모이는 game dev 코워킹 그룹을 찾았는데, 온갖 종류의 레트로 게임이 모여있는 정말 놀라운 곳이에요.

요즘 하고 있는 게임
John은 Outer Worlds를 하고 있어요. First-person RPG 느낌의 게임인데, Firefly가 많이 떠오른대요. 캐릭터 중심 스토리와 풍부한 open world가 좋대요.
Finn은 Twine을 (다시?) 발견했는데, 실수로 "Thread"라고 불러버렸어요. Text-based 게임을 만드는 도구예요. The Hitchhiker's Guide to the Galaxy 같은 어린 시절 게임을 만들어보고 싶대요.
John은 puzzle 게임을 잘하는지 모르겠다고 하니까, Finn이 Baba is You를 추천해요. 화면에서 단어를 옮겨서 레벨의 규칙 자체를 바꿀 수 있는 2D puzzle 게임이에요.