GN⁺: WebAssembly와 OpenGL을 사용한 웹 브라우저에서의 SimCity
(micropolisweb.com)Micropolis in WebAssembly
개요
- Micropolis는 원래 SimCity Classic을 기반으로 하며, Maxis에서 디자인하고 Will Wright가 설계한 게임임.
- Don Hopkins가 WebAssembly로 포팅한 버전임.
- 현재 개발 중인 상태로, 더 많은 기능이 추가될 예정임.
주요 기능
- 패닝 및 줌: 마우스 왼쪽 버튼을 드래그하여 패닝, 마우스 휠을 돌려서 줌 가능함.
- 키보드 조작: 화살표 키로 패닝, 쉼표와 마침표 키로 줌 가능함.
- 도시 로드: 문자 키를 눌러 다양한 도시를 로드, 탭 키를 눌러 도시 생성 가능함.
- 속도 조절: 숫자 키로 속도 설정, 0 키로 일시 정지 가능함.
- 세율 조정: 대괄호 키로 세율 조정 가능함.
추가 정보
- GitHub: MicropolisCore
- YouTube: "MicropolisWeb Demo 1" 및 "Space Inventory Cellular Automata Music 1"
- 참고 자료: Chaim Gingold의 책 "Building SimCity"와 "SimCity Reverse Diagrams"
주의사항
- 스페이스 바: 스페이스 바를 누르면 Space Inventory가 열리므로 주의 필요함.
GN⁺의 의견
- 흥미로운 점: 원래의 SimCity Classic을 웹 브라우저에서 즐길 수 있다는 점이 흥미로움.
- 기술적 도전: WebAssembly를 사용하여 복잡한 시뮬레이션 게임을 웹에서 구현한 점이 기술적으로 도전적임.
- 사용자 경험: 다양한 키보드 조작과 마우스 인터페이스를 통해 사용자 경험을 향상시킴.
- 개발 중: 아직 개발 중인 상태로, 추가 기능과 이스터 에그가 기대됨.
- 관련 프로젝트: 비슷한 프로젝트로는 OpenTTD와 같은 오픈소스 시뮬레이션 게임이 있음.
Hacker News 의견
- 고전 게임을 웹으로 포팅하는 것은 재미있음. 많은 게임이 현대 웹페이지보다 작고 빠르게 로드되며 잘 작동함.
- SimCity를 어릴 때 플레이한 기억이 있음. 하지만 현재 브라우저에서 제대로 작동하지 않는 것 같음. 도시를 로드하고 관찰할 수는 있지만, 직접 도시를 건설할 수 없다는 점이 이상함.
- 모바일에서 SimCity를 기대하지 않았지만 이 페이지가 실제로 Firefox를 멈추게 했음. 안드로이드에서 프로세스를 종료해야 했음. 참고로, 내가 브라우저로 포팅한 작은 게임도 있음. Emscripten과 SDL2를 사용해 쉽게 실행할 수 있었지만, 휴대폰에서 완전히 플레이 가능하게 만드는 데 가장 많은 노력이 필요했음.
- RuneScape 클라이언트를 웹으로 포팅한 경험이 있음. Wasm, Typescript, WebGL을 사용함.
- 컨트롤이 작동하지 않으며 브라우저가 무언가를 로드하자마자 CPU 팬이 작동함. 이게 암호화폐 채굴 프로그램이 아닌지 의심됨. 만약 그렇지 않다면, 작동하지 않는 것을 공개하는 이유가 무엇인지 궁금함.
- Micropolis 웹 데모 1: Micropolis는 브라우저 기반의 오픈 소스 SimCity로, WebAssembly, WebGL, SvelteKit을 사용함. 초기 버전은 WebAssembly 시뮬레이터를 실행하고 타일을 WebGL로 애니메이션화하지만, 대부분의 사용자 인터페이스는 아직 작업 중임.
- Micropolis 웹 사이트와 GitHub 저장소에서 소스 코드와 문서를 확인할 수 있음.
- **Chaim Gingold의 책 "Building SimCity"**에서 더 많은 정보를 얻을 수 있음.
- 공간 인벤토리 셀룰러 오토마타 음악 1: Micropolis 웹의 첫 번째 비디오에는 Juho Hietala, Blamstrain의 음악이 포함되어 있으며, Don Hopkins가 수행한 공간 인벤토리 셀룰러 오토마타가 있음.
- 스페이스 바를 누르면 발생하는 일에 놀라움. 멋진 프랙탈이 나타남.
- 왜 거의 모든 도시 블록에 소방서가 있는지 궁금함.
- LLM이 이런 게임을 즉시 포팅할 수 있을지 궁금함.