HN 공개: Netlify를 위해 제작한 Marble Madness 영감을 받은 WebGL 게임
(5-million-devs.netlify.com)- Netlify가 500만 명의 개발자에 도달한 소식 공유
- 이 과정에서 많은 재미있는 순간과 중요한 순간들이 있었음
- 이 여정을 통해 어떻게 여기까지 왔는지, 그리고 여러분이 이 이야기에서 어떤 역할을 했는지 확인 가능
댓글과 토론
Hacker News 의견들
-
제일 재미있던 도전은 경로에 있는 빛나는 흰 점들을 피하는 것이었음
- 이 팀이 재미있는 게임을 만드는 데 집중한 점은 정말 칭찬할 만함. 빛나는 점들은 피하기 쉽고, 거기서 들려주는 이야기도 거슬리지 않아서 이해할 만한 타협으로 보임
- 저 점들은 맞고 싶어지도록 일종의 파워업이어야 할 것 같음
지금은 회사에 대해 알아보는 게 벌칙처럼 느껴지는데, 의도는 아니었을 듯함
점을 밟고 정보 화면에서 나가는 법을 몰라 헤매는 사람이라면 화살표 키를 누르면 됨. Esc와 클릭을 꽤 오래 시도한 뒤에야 알았음
그래도 아이디어는 정말 멋짐 - 나도 똑같이 게임을 흰 점 피하기로 했음. 기업 후원 게임에서 브랜드가 나와 어떤 관계를 맺는가라는 더 깊은 문제를 건드리는 느낌도 있음. 차라리 게임 이름을 “Avoid the white dots”로 부르는 게 그 방향의 한 걸음이었을지도 모름
YouTube에서 콘텐츠를 보던 중 광고가 밀고 들어오면 “이 브랜드들은 무슨 생각이지, 내 거실에 콘텐츠 중간에 난입해서 탐폰을 팔려고 하네?” 같은 생각이 듦. 그러면 다시는 그 탐폰을 안 살 것 같음
다만 게임과 이걸 만든 스튜디오는 좋아함. 솔직한 피드백을 하자면, 이 게임을 후원한 회사가 뭘 하는지는 아직도 모르겠음. 감정적 연결도 없고, 뭘 하는지 찾아볼 만큼 흥미가 생기지도 않았음
예전에 훌륭한 예술을 접했을 때는 그 뒤에 있는 것, 작가, 정말 대단하면 그 다음 단계까지 더 알아보고 싶어졌음. Panic 같은 브랜드는 그런 행동을 하게 만들었음
YouTube에서 “이 광고는 이미 끝났으니 건너뛸 수 없습니다”라고 했던 Geico 보험 광고가 기억남. 시청자에게 공감했기 때문에 훌륭했다고 봄. 게임을 “Avoid the dots”라고 부르는 것도 비슷한 효과를 냈을 수 있음
발코니에서 잠깐 생각해보니, 게임 시작에 커다란 흰색 Super-hot 스타일 제목으로 “Avoid the dots (Speedrun challenge)”를 보여주고 각 레벨 끝에 최고 기록표를 표시하면 어떨까 싶었음. 그러면 스피드런 커뮤니티에서 바이럴될 가능성도 생길 수 있음 - 나도 0% 스피드런 도전으로 플레이했음
-
이 프로젝트에 참여한 개발자 중 한 명임. 질문 있으면 답할 수 있음
프로젝트 정보는 여기 있음: https://www.littleworkshop.fr/projects/5milliondevs/- 정말 잘 만들었고 Marble Madness의 느낌을 잘 담았음. 너무 깊게 생각하는 걸 수도 있지만, 구슬의 회전이 마음에 듦. 원작은 그 부분을 이 버전만큼 멋지게 전달하지는 못했음
- 잘 만들었음. 다만 5레벨에 초록색 튕김 박스가 세 개 있는데, 하나에 떨어지면 둘째로 튕기고 다시 셋째로 튕긴 뒤 플랫폼을 noclip처럼 통과해 “허공으로 떨어짐” 상태가 됨. 그 아래에서 리스폰되고 곧바로 계속 죽게 됨. 버그가 있어서 처음부터 다시 하긴 싫음. 오픈소스로 공개해주면 좋겠음
- 정말 재미있었음. 2레벨의 작은 구멍 직전에 내 MacBook이 조금 느려지기 시작했고, 충돌 감지가 어쩐지 구슬을 바닥 안으로 빨아들였음
https://imgur.com/ZANb1cT - 잘 만들었고 기술적인 부분이 더 궁금함. 3D 장면과 객체에는 어떤 프레임워크를 썼는지, 공을 따라가도록 카메라 움직임은 어떻게 처리했는지, 소리는 어떤 라이브러리를 썼는지 궁금함. 물리는 어떻게 구현했는지도 알고 싶음
- 이 프로젝트에 몇 명이 참여했고 개발에 얼마나 걸렸는지 궁금함. 잘 만들었음
-
짧은 광고용으로 만들었다고 보기엔 게임이 필요 이상으로 훨씬 좋음. 구현도 훌륭하고 조작감도 완벽하며, 레벨 디자인도 좋음
여러 경로가 있고 광고 표시 대부분을 건너뛸 수 있는 점도 정말 즐거웠음
이게 완성된 게임이 아니라는 게 아쉬움. 광고를 제거하고 퍼즐이 들어간 더 복잡한 레벨을 추가하면 완벽한 작은 휴식용 게임이 될 듯함- WASD 조작이 이렇게 잘 먹히는 게 놀라웠음. 완전히 직관적이었음
- 조작 버그 하나는 봤음. 생성 중이거나 생성 전에 키를 누르고 있으면 입력으로 등록되지 않음
- Ballance도 확인해볼 만함
https://www.gog.com/en/game/ballance
-
온라인 게임이 이동 키로 WARS 키를 쓰라고 제대로 안내하는 걸 처음 본 것 같음. 비 QWERTY 배열을 처리한 점이 정말 좋음
최적화도 훌륭함. 2012년형 MacBook과 낡은 HD 4000 내장 GPU에서도 완전히 부드럽게 돌아가는데, 요즘 웹 게임 기준으로는 작은 일이 아님- 고마움. AZERTY 사용자라서 미국 키보드만 염두에 둔 웹사이트를 쓰는 고통을 잘 알고 있음
궁금한 사람이 있다면, 국제 키보드 배열 처리를 위해 Keyboard API의 getLayoutMap 메서드를 쓰고 있음
https://developer.mozilla.org/en-US/docs/Web/API/Keyboard/ge...
- 고마움. AZERTY 사용자라서 미국 키보드만 염두에 둔 웹사이트를 쓰는 고통을 잘 알고 있음
-
재미있었음. “Netlify facts”에는 전혀 관심이 없었지만, 구슬을 굴리는 건 즐거웠고 부드러운 플레이 경험이 인상적이었음. 잘 만들었음
-
여기서 아직 아무도 얘기하지 않은 것 같은데, 흥미롭게도 Marble Madness는 Mark Cerny가 설계했음
https://en.m.wikipedia.org/wiki/Marble_Madness
https://en.m.wikipedia.org/wiki/Mark_Cerny
그는 PS4와 PS5 설계자로 더 잘 알려져 있음
덧붙여, Netlify가 뭘 하는 회사인지 설명해줄 수 있는 사람이 있나? 사이트를 봤지만 마케팅 문구로 이런 걸 설명하기 어렵다는 건 이해해도 결국 더 알게 된 게 없었음. 프로그래머로 일하고 있어서 내가 대상 고객이 아닐 수도 있음- 지금도 그런지는 모르겠지만, 5년 전쯤 Netlify는 자체 VPS를 관리하고 싶지 않은 사람에게 Git 기반 내장 CI/CD 배포를 제공하는 꽤 탄탄한 Jamstack 호스팅이었음
-
약간 주제에서 벗어나지만, Marble Madness는 내가 프로그래밍을 시작하게 된 큰 계기였음. 아버지가 어릴 때 이 게임을 했고 깊은 인상을 받아서, 나도 어릴 때 MAME으로 해보게 됨
컴퓨터가 등각 공간에서 꽤 복잡하게 떨어지는 물체를 시뮬레이션할 수 있다는 사실에 충격을 받았지만, 당시 Game Maker 7로는 도저히 재현 방법을 알 수 없었음. 수학을 더 잘하게 된 뒤에는 십대 때 만든 프로젝트에 영향을 줬고, 그 프로젝트는 지금도 내 이력서에 있음 -
이걸 오픈소스로 공개할 가능성이 있을까? 현재 튜토리얼이 거의 없는 여러 내용을 보여주는 훌륭한 예제가 될 것 같음
- 어떤 튜토리얼이 부족하다고 느끼는지 궁금함. 잘 다듬어진 작은 경험이긴 하지만, 지금 있는 자료로 만들기 특별히 혁신적이거나 어려운 부분은 없다고 봄. 공유된 것 중에 특히 어렵게 보이는 부분이 있었나?
- 현재로서는 오픈소스 계획은 없지만, 앞으로 제작 비하인드 정보는 공유할 생각임
-
Netlify가 기술적으로 무엇인지 알려주는 페이지가 어딘가에 있나? 보이는 건 전부 마케팅 문구라 이해가 안 됨
- 바로 쓸 수 있는 웹 호스팅임. 빌드 폴더를 끌어다 놓으면 URL이 생김. 아니면 Git 저장소를 연결하면 됨
- https://docs.netlify.com/platform/what-is-netlify/
- 이미 스스로 답한 것 같음. 일반적인 웹 앱 위에 추상화와 복잡성의 층을 더해놓고, 아이러니하게도 마법처럼 마찰 없는 웹사이트 제작 경험을 약속하며 비기술 사용자를 끌어들이도록 설계된 플랫폼처럼 보임
-
아름답게 잘 만들었음. 오래전에 했던 Ballance라는 게임도 떠올랐음. 기억이 이렇게 작동하는 게 묘함
[1] https://en.wikipedia.org/wiki/Ballance_(video_game)