TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 28 READS

조종은 안 하고 창밖만 봅니다, '승객용 비행 시뮬레이터'라는 발상

조종은 안 하고 창밖만 봅니다, '승객용 비행 시뮬레이터'라는 발상
SOURCE IMAGE · HACKER NEWS
조종은 안 하고 창밖만 봅니다, '승객용 비행 시뮬레이터'라는 발상

무슨 프로젝트인가요

비행 시뮬레이터는 보통 조종석에 앉아서 이륙하고 착륙하는 게임이잖아요. 그런데 한 개발자가 완전히 반대 방향의 프로젝트를 공개했어요. inflightsimulator.com이라는 웹사이트인데, 여기서 여러분은 조종사가 아니라 승객이에요. 좌석에 앉아 있는 승객의 시점으로 창밖을 보면서 비행을 그냥 '겪는' 거예요. 조작할 게 거의 없어요.

처음 들으면 '그게 무슨 재미지?' 싶은데요, 막상 생각해 보면 우리가 비행기에서 좋아하는 순간이 뭔지 알 수 있어요. 창밖으로 구름 위 햇빛을 보는 순간, 엔진 소리를 배경으로 멍하게 있는 시간. 이 프로젝트는 그 감각만 딱 떼어내서 브라우저에 담은 거예요.

'아무것도 안 하는 소프트웨어'라는 장르

이런 종류의 소프트웨어를 '앰비언트'나 '코지(cozy)' 경험이라고 불러요. 이게 뭐냐면, 사용자가 뭔가를 달성하게 하는 게 아니라 분위기를 만들어주는 게 목적인 소프트웨어예요. 빗소리를 틀어주는 Rainy Mood, 전 세계 라디오를 지구본에서 골라 듣는 Radio Garden, 남의 집 창밖 풍경을 보여주는 WindowSwap 같은 서비스들이 이 계열이에요. 노르웨이 공영방송이 기차 앞에 카메라 달고 7시간을 그냥 방송한 '슬로우 TV'도 같은 맥락이고요.

이 장르가 개발자한테 흥미로운 이유가 있어요. 기능이 적으니까 '완성도'가 전부거든요. 버튼이 100개인 앱은 하나가 어설퍼도 넘어가지만, 창밖 풍경만 보여주는 앱은 구름이 어색하면 그걸로 끝이에요. 그래서 이런 프로젝트는 겉보기엔 단순한데 기술적으로는 꽤 깊이 들어가야 해요.

기술적으로 뭐가 어려울까

정확한 구현은 사이트를 직접 열어보시는 게 가장 빠르고요, 여기선 이런 걸 브라우저에서 만들 때 부딪히는 문제들을 짚어볼게요.

하늘과 구름. 승객 시점의 핵심은 창밖 구름이에요. 브라우저에서 3D를 그리려면 보통 WebGL이나 WebGPU 위에 Three.js 같은 라이브러리를 써요. 그런데 구름은 3D 그래픽에서 제일 까다로운 것 중 하나예요. 구름은 표면이 있는 물체가 아니라 빛이 안으로 들어가서 흩어지는 '부피'거든요. 이걸 제대로 하려면 볼류메트릭 렌더링이라는 기법을 쓰는데, 이게 뭐냐면 화면의 픽셀마다 광선을 쏴서 구름 안을 조금씩 통과하며 밀도를 누적하는 방식이에요. 게임에서는 GPU를 많이 먹어서 옵션을 최하로 내리면 제일 먼저 꺼지는 게 구름이죠. 브라우저에서 이걸 부드럽게 돌리려면 낮은 해상도로 그리고 업스케일하거나, 노이즈 텍스처로 구름 모양을 값싸게 흉내 내는 트릭이 필요해요.

빛과 시간. 비행기 창밖은 시간에 따라 완전히 달라져요. 이륙 직후의 낮은 태양, 구름 위의 하얀 빛, 해질녘의 붉은 하늘, 밤의 도시 불빛. 대기 산란을 계산해서 하늘색을 만드는 기법들이 있는데, 실시간으로 자연스럽게 넘어가게 만드는 게 관건이에요.

소리. 의외로 몰입감의 절반은 소리예요. 엔진의 낮은 웅웅거림, 가끔 들리는 안내 방송 신호음, 순항 중 미세하게 바뀌는 엔진 톤. 브라우저의 Web Audio API로 이런 걸 겹겹이 쌓아서 만들면 눈을 감아도 비행기 안 같은 느낌이 나요.

실제 항로 데이터. 만약 실제 노선을 따라간다면, 비행 경로와 고도 프로파일이 필요해요. 이륙 후 약 10분간 상승, 순항 고도 약 1만 미터, 착륙 30분 전부터 하강 같은 실제 패턴을 따라야 '진짜 같다'는 느낌이 나거든요. 공개된 항공 데이터를 쓰면 실제 공항 간 거리와 방향을 그대로 재현할 수 있어요.

기존 시뮬레이터와 뭐가 다른가

마이크로소프트 플라이트 시뮬레이터 2024나 X-Plane 같은 본격 시뮬레이터는 지구 전체를 위성 데이터로 재현하고, 비행 역학을 정밀하게 계산해요. 브라우저에서 돌아가는 GeoFS 같은 것도 있고요. 하지만 이것들은 다 '조종'이 목적이에요. 승객 시뮬레이터는 그 방대한 시스템에서 딱 한 조각, '창가 좌석의 경험'만 남기고 나머지를 다 덜어낸 거예요. 기술을 더한 게 아니라 덜어내서 새로운 걸 만든 셈이죠.

한국 개발자에게는

사이드 프로젝트 아이디어로 참고할 가치가 커요. 요즘 웹 3D는 진입 장벽이 많이 낮아졌어요. Three.js에 React Three Fiber를 얹으면 리액트 개발자도 금방 시작할 수 있고, WebGPU는 크롬과 사파리에서 이미 쓸 수 있어요. '무언가를 만드는 앱'보다 '분위기를 만드는 앱'이 포트폴리오로는 오히려 눈에 띄기도 하고요.

한국식으로 변형해 볼 여지도 많아요. KTX 창가 좌석 시뮬레이터, 제주행 비행기의 창밖, 심야 고속버스 같은 것들이요. 핵심 기술은 같고, 재현하려는 '감각'이 다를 뿐이에요.

배울 점을 하나 꼽자면 '범위를 줄이는 용기'예요. 비행 시뮬레이터를 만들겠다고 하면 끝이 없지만, 승객 시점만 만들겠다고 하면 혼자서도 완성할 수 있거든요.

정리

한 줄로 정리하면, 비행 시뮬레이터에서 조종을 빼고 '창가 좌석의 감각'만 남긴 브라우저 프로젝트이고, 단순해 보이는 만큼 렌더링과 사운드의 완성도가 전부인 작업이에요.

여러분이 '아무것도 안 하는 앱'을 만든다면 어떤 순간을 담고 싶으세요? 그리고 이런 프로젝트, 취미로 끝일까요 아니면 서비스가 될 수 있을까요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://inflightsimulator.com
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...