Public Notebook/작품 전시관 3

2018 - A Fidgety Problem (고3)

고딩때는 피젯 스피너가 한참 유행했었다. 유행 당시에는 크게 관심을 갖지 않았는데, 아빠가 어떤 회사 행사의 기념품으로 3D printing된 스피너 두개를 갖고온다. 예비 고3 때 그걸 돌려본 것이 내 수험생활 최대의 공부 손실로 이어졌다. 하지만 얻은 것이 결국 더 많으니.. 은 우연히 돌려본 스피너에서 down the rabbit hole을 해버린 이야기이다. 팔이 3개인 피젯 스피너를 빠르게 돌리면.. 처음에는 별다른 형상이 보이지 않다가, 팔 6개가 정지한 듯한 잔상이 보이는 시점이 온다. 조금 기다리면 기존의 잔상이 사라지고, 다시 팔 9개가 정지한 것처럼 보이는 시점이 온다. 이어서 12개.. 15개... 18개... 정지한 잔상이 보이는 시점간의 간격은 점점 더 짧아지며, 팔의 개수는 3개..

2016 - Silent Storm (고1)

2016년, 고1의 3월에는 알파고와 이세돌의 대국이 있었다. 그냥 지나칠 수 없었던 나는 (지금기준) 간단한 Minimax 알고리즘의 오목 AI를 구현해본다. 당시 나는 코딩을 본격적으로 시작한 지 1년도 채 안된 뉴비였기에 나름 큰 도전이었었다. To my own surprise, 일주일만에 동작하는 무언가를 만들어낸다. 하지만 오목 성능은 그닥 좋지 않았었다. 여러가지 최적화를 통해 착점 속도를 3분에서 3초까지 낮추었지만 여전히 성능은 구렸다 ㅋㅋㅋㅋ 조금 더 탐색공간이 작은 게임을 찾다가 오셀로 게임을 발견한 것으로 기억한다. (아니면 그냥 다른게임도 해보려고 했을지도? 아니면 동아리 부장 선배가 "오 나도 오셀로 AI 만들려고 했었는데"를 듣고 했을지도? 기억이 정확히 안난다. 쓰고보니 후자였..

2015 - Adventureland (중3)

코딩모험을 작성하면서, 블로그를 시작하기 전 과거의 몇몇 작품들을 간단히 올려두면 좋을 것 같다는 생각을 하게 되었다. Adventureland는 내가 처음으로 작성한 (당시 기준) 대형 프로젝트이다. Python 기초 문법 강의만 들었던 내가 우연히 발견한 텍스트 어드벤처 게임인 Dunnet에 신선한 충격을 받고, 당시 내가 알고 있던 Python 지식을 총동원하여 수개월에 걸쳐 만들었다. 정확한 작업 기간은 기억나지 않지만, 여름부터 작업하여 12월 초, 외국인학교를 떠나기 일주일 전에 친구들에게 배포하였었다. 프로젝트를 시작할 때만 해도 이정도 규모의 코딩은 처음인지라 게임의 루프 구조 등을 어떻게 설계해야 할지부터 난감했었던 기억이 난다. 또 (사실 게임이라서 어느정도 허용해도 되긴 하지만) 글로..