neocd와 gngeo를 번갈아가며 삽질을 거듭하면서 좌절을 반복하던 찰나에 등장한 FlasCC 가 SDL 라이브러리와 zlib 등을 내장하고 1.0 버전의 배포가 시작되어 긴급 개발 방향을 선회하였습니다. 약 2년전 gngeo 0.7 소스를 alchemy로 포팅해놓고 하드를 날려먹는 어이없는 실수를 했던 터라 팠던 곳을 또 파는 삽질의 연속.

퇴사후 독립게임 개발에 열중하면서 한편으론 서버를 우분투12.4로 바꾸고 한동안 커맨드라인에 익숙해져 있던 터라 이번 포팅에 큰 도움이 된듯합니다. 지금까지 우분투를 쓰면서 하라는대로 해도 안되는일이 태반이었는데 돌이켜 생각해보면 kr.ubuntu 저장소가 뻑난탓에 패키지들 설치가 원활하지 않아서 그랬던것 같네요.

또하나 이번 포팅을 하면서 놀라웠던 점이 있는데.. SSH로 서버에 접속하고 서버단에서 gngeo를 컴파일하고 실행까지 하면 SSH 터미널 상에서 네오지오 에뮬레이터가 구동이되는 놀라움을 경험할 수 있었다는 사실. 이바닥에선 흔한일인지 어떤지 모르겠지만 오색 찬란한 아스키코드로 네오지오 게임을 렌더링하는 놀라움을 보고 감탄하지 않을 수 없었습니다. 아스키 렌더러 만든분께 존경을 표하는바.

이만 각설하고 스크린샷 첨부.






포팅을 수월하게 하기위해서 M68K 소스는 Generator68K 로 하고 Z80 소스는 MAMEZ80 으로 컴파일. 덕분에 속도저하가 조금 생긴듯합니다만 사실 이 부분 때문에 생기는 프레임드랍은 전혀 없고, 오히려 as3 단계에서 키보드나 마우스 입력 처리에 따른 드랍이 비번한편. 입력문제를 깔끔하게 개선해야할듯.

VFS 에 첨부할 파일용량이 살짝 큰 경우 .as -> .abc 컴파일시 에러가 생겨서.. .swf 파일에 롬까지 같이 구워서 돌리려면 저용량 롬만 가능할 것이고 그 외 외부 저장소에서 따로 롬을 로드한다면 스크린샷과 같이 용량이 많더라도 구동이 가능하도록 바꿔놓았습니다. 고용량 파일을 VFS에 담는 과정에서 생기는 에러는.. 롬파일을 통으로 String으로 as3에 임베딩해서 저장해놓고 그걸 컴파일 하는 과정에서 JVM이 메모리 방전으로 뻗어버리는 것으로 파악됨.

사운드가 아직 안나오고 있는데... 이유는 지금 전혀 파악된바가 없고 앞으로 비벼가며 손을 봐야할 부분입니다.






WRITTEN BY
buzzler

,