안녕하세요.
요즘 중국산 에뮬 기기가 제철이죠. 값이 많이 저렴해지고 선택의 폭도 넓고 성능도 준수합니다.
저도 정신을 차리고 나니 RG시리즈만 벌써 3개를 구매했습니다...
지갑 사정을 봐서 잠시 멈춰야합니다.
그래서 오랜만에 자작을 해봤습니다.
그냥 흔한 게임기같죠?
근데 조작 버튼이 이상합니다.
예상하셨다시피 이건 리듬 게임 전용 기기입니다.
3D 프린터로 외관을 만들고 집 안에 먹다 남은 재료를 싹다 모아 안에 넣고 발로 밟아 뭉쳐주었습니다.
메인 SBC는 저렴하게 구할 수 있는 라즈베리파이3A+입니다.
3B 모델 대비 메모리가 절반인 500MB여서 벌써부터 사양 압박에 목이 조여옵니다.
소프트웨어는 미래의 제가 알아서 할 것이라 믿고 일단 하드웨어에 집중했습니다.
액정은 5인치 800*480 터치 타입입니다.
할인 때 구매해서 정말 헐~값에 운좋게 샀어요.
화질도 IPS 급이고 입력 방식이 DSI 필름이어서 부피를 줄이는데 한 몫했습니다.
게임 용 버튼은 일반 리듬게임에 사용되는 스위치를 사용해서 누르는 감이 아주 좋습니다.
문제는 스크래치 회전인데, 일단 부드럽게 돌도록 베어링을 중앙에 박았습니다.
회전을 감지하는 방법은 여러가지가 있고
흔하게 쓰이는 부품은 로터리 엔코더 또는 포토 인터럽터가 있습니다.
둘 다 사용해본 경험이 있지만 부피가 너무 커 휴대용에 적합하지 않습니다.
마우스로 끄적끄적 정보를 찾다가 문득 마우스를 보니 휠이 눈에 띄었습니다.
휠도 결국 회전 방향을 인식하는 장치이고 휠 엔코더는 작고 납작하기 때문에
이 보다 더 좋은 부품은 없다고 생각했습니다.
걱정되었던 문제가 해결됨에 따라 나머지 제작도 순조롭게 착착 진행되었습니다.
배터리는 8,000mAh로 스펙상 2시간 이상인데 실제로 얼마나 갈지는 아직 모릅니다.
필요한 모든 부품을 넣고 지저분한 내부를 덮어버리면
아래와 같은 깔끔하고 도도한 기기로 탈바꿈합니다.
자.. 이제 하드웨어는 완성되었습니다.
게임이 필요한데, 기존 게임을 에뮬레이팅 하기엔 사양도 낮고 컨트롤러가 호환되지 않습니다.
애초에 직접 개발할 생각이었습니다.
한번 맛을 보았던 파이썬과 파이 게임으로 대략적인 뼈대를 만들고 파이에서 돌려보았습니다.
아직 제대로 양념도 안 발랐는데 버버벅합니다.
초당 20프레임... 아 이거 도저히 안되나 절망에 빠졌습니다.
파이에서 파이썬을 돌리는게 가장 궁합이 좋다고 생각했는데 고작 이 정도 퍼포먼스면
파이 얘는 어디에 쓰라고 만든 기기인가 싶었습니다.
하지만 생각을 바꿔보니, 고전게임 에뮬레이팅 할때는 2D 게임들이 샤샤샥 매우 잘돌아가고
나도 2D인데 안될 이유가 없다고 생각해 오기가 생겼습니다.
대체 어디가 문제인가 정보를 찾아보았습니다.
전문적으로 깊게 접근은 못하지만 결론은 GPU 가속을 쓰냐 못쓰냐의 차이였습니다.
파이썬의 파이 게임은 다양한 기능으로 게임 제작을 편하게 해주지만
GPU가속을 제대로 못쓰는 듯 했습니다.
그래서 파이썬은 버리고 C++과 openGL로 방향을 바꾸었습니다.
파이 게임이 음식을 간편하게 해 먹을 수 있는 밀키트라면
openGL은 내가 직접 산으로 바다로 재료를 구해서 요리를 하는 격입니다.
비록 발품을 많이 팔고 시간도 소요되지만 비용은 크게 낮출 수 있습니다.
그만큼 프로그램이 리소스(돈) 소모를 비싸게 쓰냐 아껴 쓰냐의 큰차이로 이어지고
퍼포먼스도 차이가 납니다.
C++은 아두이노 프로그래밍으로 어느정도 익숙해져 있으니 다행이었지만
openGL은 MAME 게임 설정에서나 골라봤지 직접 다룬적은 없었습니다.
기본 강좌나 서적을 찾아봤지만 거의 없다시피 했습니다.
그래서 택한 것이 chatgpt입니다.
얘는 일단 다 안다는 듯이 답을 줍니다.
그래서 엄청 의지하게 됩니다.
openGL이 필요하다고 언급한 것도 chatgpt입니다.
한 단계 한 단계 나아가며 화면에 창을 띄우고 색을 입히고 그림을 띄워봅니다.
하지만 AI가 아직 만능은 아닙니다.
한가지 답을 얻기 위해 수많은 질문을 쏟아내야하며
아예 존재하지도 않는 라이브러리 사용법을 제시하거나
질문의 흐름을 어느 순간 잊어 맥락에 맞지않는 답을 주는 경우가 많습니다.
도저히 답이 안나오는 경우 구글링을 통해 외국 사이트까지 파고들어가 답을 얻기도 합니다.
이렇게 물어물어 게임의 형태가 갖추어 졌습니다.
BGA를 배경에 삽입하고 싶었는데
사양이 좋지 못해 과감히 뺐습니다.
동영상이 아닌 스크립트로 애니메이션 효과를 줄순 있지만 손이 엄청 가기에 엄두가 안났습니다.
대안으로 심심하지 않게 디스크 회전 효과를 넣어 좋은 대처였다고 자기 최면을 걸었습니다.
속도와 볼륨 조절은 화면 터치로 처리해 마치 전문적인 디제잉 느낌이 들도록 했습니다.
이제 큰 과제 하나를 끝냈습니다.
그 다음 과제는 음원 확보입니다.
언제까지 무료 음원을 구글링으로 찾아다닐 수 없습니다.
막상 찾아도 이게 진짜 무료인지 알 길이 없어 찜찜한 마음으로 써야합니다.
openGL에 일자 무식했던 제에게 큰 도움을 준 AI에게
한번 더 손을 벌려봅니다.
요즘 AI 작곡 서비스가 활성화 되어있고 이미 자신만의 음원을 사용하는 유튜버도 많습니다.
서비스 중에 S*NO가 눈에 띄었고 이미 사용자가 많아 선택하였습니다.
고작 만원이면 나만의 음원을 생성할 수 있다니 믿겨지지 않았습니다.
단번에 원하는 스타일의 음원이 뚝딱 생겨지진 않았고
마음에 들 때까지 프롬프트를 계속 수정하며 생성한 결과 대략 3백번의 시도 끝에 5개 정도의 쓸만한
음원을 얻을 수 있었습니다.
게임하기에 적절한 길이는 1분 30초 안팎인데 30초~4분 사이에 랜덤으로 생성하는 바람에
길이와 곡의 느낌이 맞아 떨어지는 경우의 수가 많지 않았습니다.
음원까지 구했으니 정말 큰 과제는 끝냈습니다.
남은 것은 채보 에디터 제작입니다.
BPM과 싱크를 맞춰 놓고 일일이 노트를 찍어 자신만의 채보를 만들 수 있습니다.
메인 게임은 제작에 한달 걸렸지만 에디터는 이틀만에 제작했습니다.
마음이 홀가분해서 제작도 수월하게 진행된거 같네요.
하드웨어 제작부터 시작해 중간에 실패도 맛보고 완성하기까지 두달여가 소요됐습니다.
파이 게임으로 절망을 느꼈던 순간 희망을 준 AI에게 감사함을 전합니다.
노력없이 쉽게 답을 얻는다고 미움을 받는 경우도 있지만
지식을 얻기 위한 수단은 어떤 것이든 사용하고 시도해봐야한다고 생각합니다.
인생은 짧으니까요.
좌충우돌 제작기를 영상으로도 만들어 봤습니다.
라즈베리파이를 활용한 자작 활동이 많이 뜸해졌는데
작은 불씨지만 다른분들에게 창작의 동기부여가 되었으면 합니다.
(IP보기클릭)39.116.***.***
세상이 많이 변했네요 혼자서 게임기랑 게임만들고요
(IP보기클릭)121.137.***.***
https://www.youtube.com/watch?v=7g6O4G1OXd4 마이피에도 올린 적 있는데 보시면 재밌어 하실 거 같아서 올려보네요
(IP보기클릭)223.38.***.***
버튼만 늘리고 사양만 올리면 EZ2DJ가 휴대용으로 된다는 뜻이군요
(IP보기클릭)219.241.***.***
캬.... 무에서 유를 창조!
(IP보기클릭)220.121.***.***
요즘 중국산 에뮬 기기 1~2만원대가 nds,psp,dc까지 돌아가는 상황인지라... 엄청 저렴힌 합니다.. 말이 안돼는 가격
(IP보기클릭)223.38.***.***
버튼만 늘리고 사양만 올리면 EZ2DJ가 휴대용으로 된다는 뜻이군요
(IP보기클릭)219.241.***.***
캬.... 무에서 유를 창조!
(IP보기클릭)121.137.***.***
https://www.youtube.com/watch?v=7g6O4G1OXd4 마이피에도 올린 적 있는데 보시면 재밌어 하실 거 같아서 올려보네요
(IP보기클릭)211.234.***.***
(IP보기클릭)117.111.***.***
(IP보기클릭)220.121.***.***
요즘 중국산 에뮬 기기 1~2만원대가 nds,psp,dc까지 돌아가는 상황인지라... 엄청 저렴힌 합니다.. 말이 안돼는 가격
(IP보기클릭)39.116.***.***
세상이 많이 변했네요 혼자서 게임기랑 게임만들고요
(IP보기클릭)223.39.***.***
(IP보기클릭)59.22.***.***
(IP보기클릭)211.36.***.***
(IP보기클릭)220.70.***.***
(IP보기클릭)58.141.***.***
(IP보기클릭)114.207.***.***
(IP보기클릭)106.101.***.***
(IP보기클릭)211.178.***.***
(IP보기클릭)1.246.***.***
(IP보기클릭)218.157.***.***
(IP보기클릭)121.162.***.***
(IP보기클릭)118.235.***.***
(IP보기클릭)14.39.***.***
(IP보기클릭)180.65.***.***
(IP보기클릭)124.59.***.***
예전엔 정보 접근 확보가 힘들어서 한계도 극명했지만, 지금은 정말 다르게 굴러가는 느낌입니다.
(IP보기클릭)175.192.***.***
(IP보기클릭)112.187.***.***
(IP보기클릭)60.96.***.***
(IP보기클릭)121.129.***.***
보여주기만 하지 말고..! 팔아달라는 말입니다!!!
(IP보기클릭)106.102.***.***
(IP보기클릭)118.235.***.***
으어어어....
(IP보기클릭)175.211.***.***
(IP보기클릭)203.230.***.***
(IP보기클릭)1.225.***.***
(IP보기클릭)211.214.***.***
(IP보기클릭)218.153.***.***
(IP보기클릭)223.38.***.***
(IP보기클릭)1.232.***.***