go + ebiten(게임엔진) + chipmunk v2(물리엔진) 으로 만든 wasm
web에서는
wasm이 파티클 5000개까지도 원활합니다
js는 파티클 1천개 넘어가면 버벅대기 시작
원도 패키지에서는
go 윈도10 실행파일은 1.5만개도 충분
c# 유니티6 윈도10 배포는 2만개도 충분(GPU까지 돌리면 20만개도 충분)
아래의 데이터를 보면 간단한 2D 게임을 웹에서 서비스 하려면 확실히 wasm이 좋다는 겁니다
js는 그 성능이 한계가 명백하니까
근데 wasm 파일이 10MB나 하기 때문에
github pages, vercel, netfity, cloudfare 같은 정적웹호스팅 무료가 월 100GB 전송량 허용이니까
하루 300명 정도 밖에 못 받는 치명적인 단점이 있거든요
이때 오라클 클라우드 Object Storage 를 사용해서 bucket을 생성해서 여기에 wasm 파일을 두면 됩니다
전송 허용량이 월 10TB 즉 하루에 3만명을 받아도 된다는 것
물론 요즘 CDN 싼것도 많이 나옵니다.
Cloudflare R2 또는 S3 호환 스토리지
Cloudflare R2: 무료 10GB 스토리지 제공, 대역폭 요금 없음
대용량 .data, .wasm 파일 등을 저장하기 적합
저렴한, CDN 기반 스토리지 솔루션 (GB당 $0.01 정도)
글로벌 CDN 지원으로 빠른 로딩 속도
Backblaze B2
매우 저렴한 클라우드 스토리지 (GB당 $0.005)
첫 10GB 무료
+ 크기 차이:
JScript: 100 KB
Go WASM: 11,300 KB
차이: 113배 (Go WASM이 더 큼!)
+ 실제 다운로드 크기 (Gzip 압축):
JScript: ~40 KB (압축 후)
Go WASM: ~3 MB (압축 후) <==== 실제로는 wasm 압축률이 엄청나게 떨어집니다 실제로는 11MB 그대로예요
실제 차이: 75배
⚡ 로딩 시간 비교 (일반적인 연결):
JScript: 즉시 로딩 (1초 미만)
Go WASM: 5-15초 (인터넷 속도에 따라)
윈도패키지 Go vs Unity6 비교:
Go 최적화: 18 MB <==== 윈도 실행파일 1개로 배포 가능하고 성능도 뛰어남
Unity6 IL2CPP: 290 MB
차이: 16배! (Unity가 더 큼)
웹 배포 비교:
JScript + Matter.js: 0.1 MB
Go WASM: 11 MB
Unity6 WebGL: 72 MB <==== 거의 쓸데없는 짓
그리고 웹으로 배포하면 문제가 없겠지만 윈도 실행파일(설치 프로그램, 압축파일)로 다운로드 제공하면 웹브라우저에서 파일이 안전하지 않다는 경고가 뜨는 문제가 생겨요. 구글 드라이브에 파일 올려두고 다운로드 허용해도 위험한 파일 뜨고. 압축하거나 설치프로그램 해도 여전히 위험한 파일 뜹니다. github release도 뜨긴 뜨겠죠
위험한 파일 알림을 피하는 방법들1. 코드 서명 (Code Signing)
가장 확실한 방법입니다:
EV 코드 서명 인증서 구매 (연간 약 30-50만원)
인증서로 실행 파일에 디지털 서명
Windows Defender SmartScreen에서 즉시 신뢰
브라우저에서도 경고 없이 다운로드 가능
압축 파일은 상대적으로 경고가 덜 뜹니다.
3. 설치 프로그램 제작Inno Setup, NSIS 등으로 인스톨러 제작
인스톨러는 단순 실행 파일보다 신뢰도가 높음
GitHub Releases:
개발자들이 많이 사용하는 신뢰할 만한 플랫폼
대역폭 제한이 관대함
경고가 상대적으로 적음
SourceForge:
오픈소스 프로젝트 호스팅
실행 파일 배포에 최적화
SvelteKit 프론트엔드 + Go Gin 백엔드 조합으로 웹 애플리케이션을 만들어 배포하는 것도 고려해볼 만합니다. 실행 파일 다운로드 없이 브라우저에서 바로 사용 가능합니다.
github release:
초기 사용자들이 "안전함"으로 신고
Windows SmartScreen이 학습하면서 경고 빈도 감소
단기 해결책:
GitHub Releases + ZIP 압축
명확한 파일명과 설명
사용자 가이드 제공
장기 해결책:
사용자가 늘어나면 코드 서명 인증서 구매 (연 30-50만원)
또는 Microsoft Store 등록 고려
뭐 어떻게 벤치마크를 했는지도 없고 걍 뇌피셜이랑 다를바 없는거 아님..? wasm으로 파티클 5000개가 버벅일정도면 잘못 만들었다고 보는게 맞는것 같은데
사실 10만개도 잘 돌아감