← 글 목록으로

베마가, 30 년 뒤 ── 100 줄짜리 BASIC 게임을 iPhone 으로 옮겼습니다

2026-06-03

먼저 말씀드리면, 이 글은 육아랑 상관없습니다. 일본에 80 년대부터 マイコン BASIC マガジン ── 다들 줄여서 베마가 (Bēmaga) 라고 부르던 hobbyist 프로그래밍 잡지가 있었는데, 매호마다 작은 게임의 전체 소스 코드를 잡지 지면에 인쇄해 두면 독자가 PC-9801 에 한 줄 한 줄 손으로 타이핑해서 돌리는 문화였어요. 그 중 한 작품 ── 『Receive No.1』, N88-BASIC 으로 쓰여진 100 줄짜리 2 인용 테니스 ── 를 30 년 뒤에 iPhone 으로 한 줄 한 줄 그대로 옮겼습니다. 그리고 당시 기계로는 못 했던 것 하나 ── GA (유전 알고리즘) 로 학습한 CPU 대전 ── 을 추가했어요.

이 글, 진짜로 육아랑 상관없어요. 우리 집 애한테는 이 재미가 잘 안 와 닿을 것 같기도 하고.

Receive No.1 을 30 년 만에 iPhone 에 올렸습니다.

일본 레트로 PC 문화에 익숙하지 않은 분들을 위해 한 줄 배경 설명. 80–90 년대 일본에 マイコン BASIC マガジン, 줄여서 베마가 (Bēmaga) 라는 잡지가 있었는데, 이 잡지의 핵심은 매호마다 작은 게임의 전체 소스 코드를 잡지에 그대로 인쇄해 둔 다는 거예요. 잡지를 사서, PC-9801 앞에 앉아서, 그 코드를 처음부터 끝까지 손으로 타이핑해서 돌리는 ── 소위 type-in 문화. Receive No.1 도 그 중 한 작품으로, N88-BASIC (NEC PC 용 Microsoft 계열 BASIC 방언) 으로 쓰여진 약 100 줄짜리 2 인용 테니스 게임이에요.

코드도, 물리도, 아마 버그까지도 ── 그대로

670 BEEP:IF SU=T THEN SU=ABS(SU-3) ELSE P(SU)=P(SU)+1
680 GOSUB *TOKUTENKAKU:IF P(SU)=15 THEN GOTO *SHOUHAI

이 점수 판정 한 줄에서 시작해서, BX=BX+VX:BY=BY+VY/1.5:VY=VY+1 중력 모델, HX=X+7+32*CS(AA), HY=Y+31*SN(AA) 팔의 충돌 판정, DIM CS(360), SN(360) 으로 22.5° 간격으로 미리 채워 둔 삼각함수 테이블까지 ── 당시 로직을 한 줄 한 줄 그대로 휴대폰에 옮겼습니다.

물리가 일치하니까, 당시 그 감각이 전부 그대로 살아 있어요:

당시 하드웨어가 못 했던 것: CPU 대전

Receive No.1 보기 →