2022년 11월부터 2023년 5월까지 대략 6개월 정도 진행했던 스터디에 대한 내용에 대해서 정리하고, Coding Challenges를 소개하기 위하여 작성하였다.
Coding Challenge는 The Coding Train이라는 JavaScript, Simulation, ML 등 다양한 주제에 대해서 비디오 튜토리얼을 만들어 주는 유튜브의 동영상 시리즈 중 하나이다. 필자가 참여하고 있는 스터디 팀에서 [이전 스터디]((/posts/research-rust) 이후에 다음 주제를 탐색하던 중 Wave Function Collapse라는 키워드로 탐색하다 우연히 발견하여 주제로 선정하였다.
대부분의 튜토리얼이 이론에 관해서 설명하며, 설명에 맞추어 예제를 구현하는 방식으로 구성되어 있다. 특히 화면에 직접 렌더링을 해볼 수 있는 예제들이어서 흥미로운 주제들이 많았다. 강의에서는 p5.js라는 도구를 사용해서 진행하기 때문에 캔버스 등에 그래픽스에 대한 이해가 많이 필요하지 않아도 큰 어려움 없이 접근할 수 있게 되어 있다. 다만, 필자는 개인적인 학습 욕구에 맞춰서 p5.js 대신 필자의 사이트에 맞춰서 별도로 구현하는 방식을 택했다.
필자의 스터디에서는 한 주에서 두 주에 걸쳐 스터디원이 관심 있는 주제에 맞춰서 다음과 같은 주제로 구현을 진행하였다.
진행되었던 주제 모두 관심 있던 내용들을 선정해서 진행했었던 것이었기 때문에 재미있었지만, 특히 Wave Function Collapse나 Markov나 Flock Simulation, Quad Tree 등은 정말 내용도 구현도 재밌게 보았던 것 같다. 필자는 렌더링 엔진을 pixi.js를 사용했기 때문에 p5.js에서 지원해 주는 기능들을 구현하는 재미도 쏠쏠하기도 했었다.
전반적으로 Coding Challenge는 JavaScript를 학습하고 구현해 보고 싶거나, 그래픽스에 대해 학습을 하고자 하는데 마땅한 예제가 없을 때 접근하면 좋은 자료라는 생각이 들어서 이 글을 통해 공유하고 싶었다.