- 90s.dev은 웹 기반에서 동작하는 새로운 게임 메이커 API로, 90년대 스타일의 GUI 앱 제작 경험을 제공함
- 이 플랫폼은 직접적인 게임 엔진이나 게임 메이커가 아니라, 게임, 게임 엔진, 게임 제작 도구를 만들기 위한 API를 제공함
-
HTML Canvas 기반, 320x180 화면, WebGL2 지원, 웹 워커를 통한 보안과 성능 보장이 특징임
-
TypeScript-first SDK와 다양한 언어의 wasm 모듈 임포트 지원 등으로 빠르고 확장성 높은 프로토타이핑이 가능함
- 사용자는 자신만의 앱을 만들어 GitHub 또는 NPM에서 공유하거나 로드할 수 있으며, 개발 커뮤니티와 협업 및 확장성 추구가 목적임
90s.dev 공개의 의의
- 90s.dev은 웹에서 동작하는 새로운 형태의 게임 메이커 API 플랫폼임
- 90년대 스타일의 GUI 앱 제작 환경을 제공하며, 게임, 게임 엔진, 그리고 게임 메이커 도구 생성을 위한 API를 특징으로 함
- 목적은 누구나 HTML Canvas 상에서 픽셀 아트, 스프라이트, 맵 등 게임용 에셋과 툴을 쉽게 만들고 공유하는 생태계 형성임
주요 특징 및 비전
플랫폼 기본 소개
- 90s.dev은 브라우저에서 실행, 320x180(16:9) 해상도로 웹 윈도우를 채우는 화면을 가짐
- 모든 앱은 웹 워커 환경에서 실행되어 보다 뛰어난 보안과 성능 확보
-
WebGL2 오프스크린 캔버스 통해 최대 60fps 게임 동작 가능
-
GitHub와 NPM에 호스팅된 앱 모듈을 자유롭게 불러오고 배포할 수 있음
-
VSCode 친화적 TypeScript SDK로 빠른 프로토타이핑 지원
-
웹어셈블리(wasm) 로 빌드된 다양한 언어 모듈 호환성 보유
기본 제공 앱
- 기본적으로 픽셀 아트, 스프라이트 제작 툴, 맵 에디터 등 게임 에셋 제작용 기본 앱 제공
- 음향 및 음악 편집 도구는 아직 미제공이지만, 누구나 직접 개발하여 공개/공유 가능
- 작성된 앱과 도구는 iframe이나 링크로 모든 사용자에게 공유 가능
영감 및 차별점
참고한 게임 개발 툴
-
pico8: 미니멀리즘 지향, 단일 언어 지원
-
tic80: pico8의 여러 제한 해제
-
love2d: 외부 IDE 필요
-
picotron: 운영체제 아키텍처 도입
- 90s.dev은 메타적 pico8이자, TypeScript가 도입된 love2d 또는 수직적 확장에 초점을 둔 tic80에 가까움
GUI 혁신과 기술적 세부사항
레이아웃 시스템
-
수동 배치와 리사이징의 번거로움을 줄이기 위해 간단하면서도 강력한 자동 레이아웃 시스템 구현
- 뷰(API)가 화면을 직접 그리고 자식 뷰 트리 구조 활용
Ref 시스템
- 뷰의 속성(사이즈, 자식, 배경색 등)을 watchable pointer(ref)를 통해 관리
- 모든 속성에 참조 객체(ref) 부여, 속성 변경사항을 자동 감지 및 반영
- 기존의 React/Vue ref와 완전히 별개로 설계됨
Composites(복합 뷰 개념)
- JSX에서 문자열 태그(소문자)와 값 태그(대문자)를 반전하여, 구현과 사용 분리를 강화
- 추상 뷰를 글로벌 테이블에 등록하고, 시스템의 다른 부분에서 자유롭게 활용
-
예시: colorpicker 뷰는 디폴트 구현을 제공하지만, 개발자가 원하는 스타일로 대체 가능
- GUI 앱 개발에서 높은 유연성과 확장성 제공
앱 배포 및 커뮤니티 협업
앱 배포 방식 변화
- 기존에는 자체 데이터베이스 기반 net/ 공유 드라이브 사용
- 최근 NPM/GitHub에서 CDN을 통해 직접 모듈 호스팅 및 가져오기 지원
- 예: /os/fs/ghb/someuser/project@1.0.0/some/file.js
-
서비스 워커 활용으로 다양한 소스의 불러오기 매커니즘 완성
참여 및 협업
- 운영체제적 디자인으로 필수 앱(기본 앱) 외 커뮤니티 앱 개발 장려
-
이슈 트래커, 포럼, 위키(모두 GitHub repo) 통해 소통 및 협업 지원
-
이슈: 기능 요청 및 버그 신고
-
포럼: 프로젝트 발표 및 논의
-
위키: 프로젝트 모음 및 큐레이션
앱 공유
- 앱 공유는 /os/#app형식의 링크로 가능
- 커뮤니티 중심으로 앱, 라이브러리, 에셋의 자유로운 제작 및 확산 추구
결론 및 방향성
- 90s.dev은 게임 메이커 생태계 자체를 설계하고 정의하는 API 플랫폼임
- 누구나 쉽게 직접 앱을 제작, 배포, 활용할 수 있는 확장형 웹 게임 제작 환경 추구
- 커뮤니티 협력과 오픈 플랫폼 철학에 기반한 미래지향적 게임 개발 툴임