코덱스로 메타버스 쌀먹하기 (2주차 회고)

Kyumin_Kim·2026년 3월 12일

정글 2주차를 마치고......

크래프톤 정글에서의 2주차가 끝났다.
1주차는 시간이 부족해서 힘들었다면
2주차는 시간은 많은데 머리가 부족해서 힘들었다.
컴퓨터를 위한 알고리즘을 출력해야 되는데
내 뇌에 컴퓨터라는 가상환경을 돌리기에는 성능이 부족했다.
쓰로틀링은 걸리는데 쿨링 수단도 없으니 그냥 시간 박치기를 해야만 했다.

이번주에 배운 것들

이번 주차는 컴퓨팅 사고로의 전환을 위한 준비과정이었다.
git 다루는 것과 파이썬 문법에 익숙해지고
기초적인 알고리즘을 학습했다.

git

기존에는 github desktop만 사용하다 보니 콘솔에 git을 입력할 일이 없었다.
그런데 git을 직접 입력 하도록 알려주시는데 콘솔로 안 쳐볼 수가 없었다.
git init : git 레포지트리 생성 명령어
git add .: (.은 현재 폴더) 스테이지영역에 깃 추가하기
git commit -m "메시지": 스테이지 영역에서 로컬 저장소로 저장
git push: 원격 레포지트리로 현재 로컬 레포지트리 밀어냄
git pull: 원격 레포지트리에서 로컬 저장소로 당겨옴
git clone: 다른 레포지트리 복제해오기

이전에도 해봤던 것들이지만 오랜만에 해보니 익숙치가 않았다. 가장 낮설었던건
git clone으로 다른 레포지트리 복사해온 다음에
rm -rf .git(-r: 디렉토리와 그 내용 삭제, -f: 강제삭제)으로 git을 다 밀어버리고 내 레포지트리에 저장 하는 거였다.
나중에도 계속 콘솔로 입력할거 같으니 몸에 익혀놓는것이 좋을거 같다.

파이썬

학교에서 AI모델 학습 때문에 파이썬 자체는 많이 봐왔지만, ai한테 작성을 계속 맡기다보니 실제로 파이썬으로 뭐 입력해본 적이 거의 없었다. 그나마 배우려고 해도 게임 개발 할건데 굳이 파이선 공부를 해야돼?라는 마인드로 등한시 해왔었다.
여기서는 다른 사람들과 협업도 해야하고 여러모로 눈으로 이해하기 편하기 때문에 파이선 문법을 간단하게 공부했다. 리스트, 딕셔너리, math... 등등 알면서도 모르고 헷갈리는 것들이라 공부하는데 애를 먹었다.
파이썬을 만져도 colab에서 쓰다보니 pip install을 콘솔에서 해야한다는게 매우 낮설었다. 파이선 가상환경 자체를 몰랐었는데, 이번 기회에 알게되었다.

간단한 알고리즘

분명 쉬운 알고리즘이다. 그런데 머리에서 잘 풀리지를 않았다. 학교에서 공부했기 때문에 분명 알고 있는 것들이었지만 내 머리로 생각하고 손으로 입력하는건 오랜만이었다. 머리로 알고는 있지만 써지지 않는 알고리즘을 입력하고 있으니, 평소라면 분명 AI를 키고 생성을 맡기고 있었을거다. 다행히도 다른 정글 동기들도 끙끙대고 있으니 나도 마음을 편히 먹고 머리를 싸매면서 풀었다.

완전탐색

말그대로 전부 찾아내는 거다. 조건에 맞는 경우의 수를 모두 찾아내는 것을 의미한다.
가장 간단한 방법으로는 브루트포스를 사용하는건데, 전부 비교해가면서 찾아내면 된다.
하지만 모든 것을 단순히 브루트포스 방법만으로 찾기에는 시간이 걸리니 이외에도 다른 방법이 있다

재귀

탐색하면서 반복되는 행동을 일일히 다 적을수는 없으니 재귀함수를 사용한다. 함수에서 동일한 함수를 다시 부르는 방법으로 상대적으로 짧은 함수로 긴 문제를 해결할수 있다.
재귀 에러를 방지하기 위해서 base case라고 재귀함수의 매개변수가 특정 값에 도달했을 때 재귀를 멈추도록 하는 일종의 차단막이 꼭 필요하다. 안그러면 컴퓨터 터진다.

백트랙킹

재귀함수에서 탐색조건을 집어넣어 찾으려는 조건에서 벗어나는 조건은 스킵하여 계산 속도를 늘리는 방법이다. 기본적으로 재귀와 유사하지만 선택, 탐색(재귀), 취소(선택취소) 순으로 구현을 한다.

정렬

다음 주차로 넘어가기 전에 O(N^2)인 버블 정렬과 삽입 정렬을 배웠는데 컴퓨터적인 정렬법은 아니다.

수요 코딩회

이번 정글 기수부터 수요 코딩회라고 하루동안 AI를 풀로 써서 기능을 구현하는 일정이 있다.
첫 수요코딩회에서는 자율주제를 주었고 codex를 이용했다.
우리조에서는 지금은 사그러든 메타버스 플랫폼을 만들었다. 어쩌다보니 게임랩이 되어버려 게임 기능을 추가했고 실시간으로 작동해야되다보니 서버를 aws에서 하나 팠다.



1주차 미니 프로젝트때는 채팅을 위한 실시간 통신을 파이어베이스 기반으로 만들었었는데
codex가 플레이어들이 서버 내에서 실시간으로 이동하는 통신을 소켓을 이용하여 만들었다.
움직임은 fixed로 클라이언트에서 1초동안 60번 계산하게 만들어 내가 움직이는 모습은 부드럽게 움직였지만
통신은 그렇지 않았기 때문에 상대 플레이어가 끊기면서 움직이는 문제점이 있었다. 서버 통신 관련으로 배워서 추후에 보강해봐야 될거 같다.

마치며.

2주차 시작할때는 게임랩에서는 한창 게임을 만들고 있을 때 알고리즘을 끄적이고 있었으니 좀 자괴감이 몰려왔었다. 사실, 지금도 그렇다. 그래도 알고리즘으로 힘들어하고 있어도 부끄럽지 않은건 좋다
하노이 탑을 풀 때 이상한 규칙 등을 찾으면서 했었다. a b 일 때 다음 패턴은 a c/a b/c b 이런식으로 풀려고 했었는데, 아무래도 컴퓨터 사고적인 접근법은 아니었다. 컴퓨터처럼 일종의 함수 실행으로 패턴을 찾으니 그제서야 문제가 풀렸다.
다음주에도 알고리즘을 한다. 정렬도 O(N^2)이 아닌 정렬을 학습하고 좀 더 컴퓨터에 효율적인 알고리즘을 진행한다. 이번 주차는 사람처럼 하려다가 문제를 푸는데 한 세월이 걸렸다. 다음 주차는 좀 더 컴퓨터 친화적이게 해볼 생각이다. 뭔가 크게 깨닫는게 있었으면 좋겠다.

이번주목표
시도한 접근 방식
문제와 해결과정

profile
머릿속 게임아이디어를 꺼내기 위해 고민중...

0개의 댓글