패미컴 게임을 만들어보자! 1일차 어셈블리 환경 세팅

HyunsubYun·2023년 3월 20일
0


나는 80~90년대의 8비트 패미컴(nes) 게임을 정말 좋아한다. 나이는 그 시절 게임을 즐기던 세대는 아니지만(00년생이다)
그 시절의 게임의 근본적인 디자인을 정말 좋아한다. 마리오가 점프할때 그 찰진 소리와 어려운 발판을 넘었을때 쾌감이 정말 압권이다. 그래서 이렇게 좋아하는 8비트 시대 게임을 내가 직접 한번 만들면 어떨까? 하고 오늘부터 시작하기로 마음먹게 됐다.

본인은 게임 클라이언트 프로그래머를 지망하는 사람이고 수도권 3년제 게임학과를 다니고 있는 상태다. 아직 자료구조, 알고리즘 등의 중요한 과목을 시작조차 안했지만 이런거에 꽂히면 꼭 해봐야하는 사람이라 공부와 병행하며 조금씩 이 프로젝트를 진행 시킬 생각이다.

우선 정보가 필요했다. 80년대 시스템을 국내에서 개발하는 사람은 당연히 없을 거고 해외도 nerd 부류의 사람들이 올려놓은 정보를 부족한 영어 실력으로 찾아야 했다.

처음으로 발견한건 youtube에 업로드 된 Programming the Nes 라는 영상이였다.

이 영상을 보며 패미컴 프로그래밍은 기본적으로 6502 어셈블리를 기준으로 쓰여진다는 것을 알았다.

어셈블리는 당연히 해본적도 없고 낯설지만 우선 배워보자 라는 생각으로 영상에서 추천한 대로 Notepad++을 깔고 nes 6502 cpu 를 위한 Language setting을 해주었다. 추가로 패미컴의 그래픽 처리에 맞게 사진을 바꿔주는 스프라이트 편집기와 입력한 소스코드를
컴파일 하고 .nes 파일로 link 해줄 cc65라는 프로그램을 설치했다.

이제 대강 프로그램 세팅은 끝났으니 한번 코드 예시를 보며 파악해보자 생각을 했으나
따라 쳐봤자 1도 이해가 안되는 코드만 보게 되었고 이건 아니다 싶어 6502 어셈블리를 먼저 배워보자 라는 생각으로 영상에서 추천한
6502 assembly guide 들을 보며 배우고 있다.

https://www.masswerk.at/6502/6502_ins...

https://en.wikibooks.org/wiki/6502_As...

https://archive.org/search.php?query=...

나처럼 패미컴 게임을 만들어 보겠다는 미친 사람이 얼마나 더 있을진 모르겠지만 6502 어셈블리를 배우면 패미컴 뿐 아니라 애플2 컴퓨터 코모도어 64, 아타리 2600등의 시스템 또한 사용할 수 있으니 관심 있는 분들은 찾아보기 바란다.

나만의 8비트 겜을 만들때까지 힘내보자 아자 아자 화이팅!

profile
게임 개발 지망생 입니다

0개의 댓글