Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗PLAF 2기 중간발표 — 이상민의 24년을 5개 시대로 나눈 픽셀 뱀서라이크 웹게임.
플레이: https://plaf-2.github.io/midterm-sangmin/
설치 없이 브라우저에서 돌아간다. 게임 엔진 없이 Canvas와 순수 JavaScript로 만들었고, 그림과 소리도 전부 코드로 만든다 (이미지·소리 파일 없음).
python3 serve.py . 5180
serve.py는 캐시를 끈 정적 서버야. 그냥 python3 -m http.server로 띄우면 브라우저가 예전 JS 파일을 캐시해서, 코드를 고쳐도 화면에 반영이 안 될 때가 있어.
브라우저에서 http://localhost:5180 을 연다. (파일을 더블클릭해서 열면 모듈 로딩이 막혀서 안 된다.)
| 파일 | 내용 |
|---|---|
src/data.js | 시대, 적, 무기 이름·문구·수치. 밸런스는 여기만 고치면 된다 |
src/pixel.js | 공통 팔레트(Endesga 32)와 픽셀 그리기 도구 |
src/sprites.js | 주인공 도트: 옷 5벌 × 4방향 × 걷기 4프레임 |
src/enemy-sprites.js | 적 15종 도트 (4방향 × 4프레임) |
src/maps.js | 시대별 맵 5개 (바닥, 장애물, 소품) |
src/items.js | 무기 아이콘, 투사체·보석·연기 도트 |
src/boss.js | 보스전: 보스 움직임·공격·마지막 한 방 연출 |
src/boss-sprites.js | 보스 5종과 보스 탄 도트 |
src/fx.js | 충격파·음파·번개 같은 이펙트, 파티클, 픽셀 글자 |
src/weapons.js | 무기 15종 동작과 투사체 |
src/main.js | 게임 루프, 충돌, 적 스폰, 시대 전환, 레벨업, 환생, 렌더링 |
src/ui.js | 타이틀·카드·환생·클리어·일시정지 화면, HUD |
src/audio.js | 효과음·배경음 (소리 파일 없이 Web Audio로 합성). 곡 악보와 효과음 목록이 여기 있다 |
src/input.js | 키보드와 화면 드래그 |
preview/*.html | 도트만 따로 모아 보는 미리보기 페이지 |
화면은 작은 버퍼(짧은 변 약 300픽셀)에 그린 다음 정수배로 키운다. 그래서 이펙트까지 전부 같은 크기의 픽셀로 보인다.
| 주소 | 하는 일 |
|---|---|
?era=3 | 4번째 시대(21사단)부터 시작. 지난 시대 무기는 Lv3으로 준다 |
?god | 무적 |
?bot | 적을 피해 다니는 봇이 자동 플레이 |
?bot=wander | 대충 돌아다니는 초보 봇 |
?speed=4 | 4배속 |
?bot&demo | 봇이 시연하기 모드(라운드 15초)로 플레이. 수치는 src/data.js의 DEMO |
?era=2&god | 3번째 시대부터 무적으로 시작. 보스전 끝까지 보기 좋다 (보스 마지막 한 방은 무적이어도 온다) |
?pause | 실시간 진행을 멈춘다. 콘솔에서 __sim(초)로 진행시키고 __render()로 그 순간을 그려서 연출을 한 프레임씩 볼 수 있다 |
봇 주소로 연 다음 개발자 콘솔에서 __sim(330)을 실행하면 화면 없이 5분을 바로 돌리고, 시대마다 레벨·처치·사망 수를 콘솔에 찍는다.
src/data.js의 ENEMY_TYPES에서 고친다.