오픈소스로 소스가 공개되어 있는 게임들 소개

게임도 오픈소스가 있다고?

“게임(Game)”. 현재 인류의 삶에서 빼놓을 수 없는 오락거리 입니다. PC 산업이 발달하기 시작하면서 가장 대중화된 프로그램은 단연코 “게임”을 꼽고 있습니다.

현대사회에서 “게임”은 삶에서 빼놓을 수 없는 소프트웨어이다 – pixabay

이미 1970년대~80년대에는 가정용 게임기가 보급이 되었고 1980년대 이후부터는 본격적으로 PC용 게임이 개발 및 판매가 되었습니다. 제가 어렸을적인 “1980~90년대” 에는 수많은 도스(DOS) 기반의 게임들을 즐겨 했던 기억이 납니다.

즐겨했던 대표적인 게임으로는 “페르시아 왕자” 와 “울펜슈타인 3D” 가 있겠네요. 이들 게임들은 당시만 해도 그래픽이나 내용면에서 “명작” 이라는 칭호를 받았습니다.

특히 “울펜슈타인 3D”는 컴퓨터 게임 역사에 있어서 한획을 그은 게임이라고 볼 수 있습니다. 당시에 2D 뿐인 게임들과는 다르게 3D 같이 보이게 하는 효과를 구현한 게임 프로그래머 “존 카멕” 은 울펜슈타인 3D의 성공으로 게임 업계의 신화로 불립니다.

둠 시리즈, 퀘이크 시리즈로 엄청난 성공을 거둔 프로그래머 존 카멕의 게임들은 이후에 출시된 많은 게임들에 엄청난 영향을 준걸로 잘 알려져 있습니다. 특히 울펜슈타인 3D 를 비롯하여 , 둠, 퀘이크 시리즈의 게임 소스를 “오픈소스” 로 공개한 것은 그를 더욱더 칭송하게 만들었습니다.

위 링크는 존 카멕이 개발했던 게임들인 울펜슈타인 3D, 둠 시리즈, 퀘이크 시리즈 들의 게임소스들이 공개된 깃허브 주소입니다. 여기에 방문하면 이들 게임들을 소스를 확인할 수 있습니다.

퀘이크 소스는 공개된 이후에 수많은 3D 그래픽 기반의 게임들에 많은 영향을 주게 되었습니다. 따라서 현재 출시된 수많은 게임들은 “퀘이크” 의 후손이라고 해도 과언이 아닐 정도로 “존 카멕”은 게임 업계에 위대한 업적을 남긴 프로그래머라고 볼 수 있습니다.

그런데 PC 게임을 비롯하여 게임 소프트웨어의 소스는 우리의 상식으로는 “공개” 라는게 좀 어색합니다. 그도 그럴듯이 존 카멕이 자신의 게임들을 오픈하기 전까지는 오픈 소스 게임이 전무했기 때문입니다. 존 카멕이 게임들의 오픈소스화의 방아쇠를 당긴 셈입니다.

그렇다면 퀘이크(Quake) 시리즈 외에도 오픈소스 게임들은 어떤게 있을까요? 이미 우리가 생각하는거 외에도 오픈소스 게임들은 꽤 많이 볼 수 있습니다.

이번 시간에는 프로그래머 입장에서 참고할만한 “오픈소스” 게임들을 한번 소개해 보겠습니다.

레밍즈 비슷한 게임인 Pingus

제가 어렸을 적에 해봤던 도스 게임 중에서는 “레밍즈(Lemmings)” 게임이 기억에 남습니다. 작은 레밍들을 안전하게 이동시키는 게임이었는데 이 레밍즈와 비슷한 게임인 “Pingus” 라는 오픈소스 게임이 있습니다.

GNU GPL 라이선스이고 리눅스, 윈도우즈, Mac OS 에서 동작을 하는 게임입니다. 레밍즈와 플레이 스타일이 비슷하며 소스가 공개되어 있으므로 어떻게 게임이 구현되어 있는지 확인이 가능합니다.

게임 캐릭터는 귀여운 모습의 “펭귄” 입니다. 게임이 시작되면 펭귄들이 한마리씩 나오게 되면서 이 펭귄들을 안전하게 이동시키는게 게임의 목표입니다. GNU 라이선스 답게 “턱스” 가 생각이 나는군요.

위 링크는 깃허브 주소입니다. 소스를 보니 C++ 로 되어 있군요. 저는 개인적으로 아기자기한 게임들을 좋아하는데 위 Pingus 소스를 모바일 용으로 컨버전 해서 게임을 해보고 싶네요.

OpenTTD

예전에 “트랜스포트 타이쿤” 이 생각나시나요? 저는 심시티를 포함해서 건설 시뮬레이션도 꽤나 즐겨했습니다. 재미도 있지만 교육적으로도 굉장히 효과가 있는 게임이기도 합니다.

트랜스포트 타이쿤 디럭스를 컨버전하여 오픈소스화 됐으며 현재까지도 활발히 업데이트가 되는 게임입니다. 최신 안정화 버전은 2022-4-2 일짜네요.

게임 방식은 “트랜스포트 타이쿤 디럭스” 와 거의 동일합니다. 내가 건설하려는 건물, 시설 들을 건설하고 시뮬레이션을 해보면 됩니다. 그래픽은 다소 옛스럽지만 건설 시뮬레이션 게임 구현에 대해 알고 싶다면 아주 좋은 예제가 될거 같습니다.

위 링크는 OpenTTD의 깃허브 저장소의 주소입니다. 소스가 C/C++ 로 되어 있네요. 저도 기회가 된다면 이런류의 게임들을 한번 개발해 보고 싶은데 과연 기회가 될지는 미지수입니다^^

Freeciv

전략 시물레이션 게임인 “시드 마이어의 문명”을 본따서 개발된 전략 시뮬이션 게임입니다. GNU 기반으로 오픈소스 기반의 게임이라고 볼 수 있습니다.

Freeciv 또한 현재까지 매우 활발하게 업데이트 되고 있는 오픈소스 게임입니다. 실행환경은 Windows, 리눅스, MacOS 등을 지원을 하고 있네요.

저는 “문명” 이라는 게임을 해보진 않았지만 “삼국지 시리즈” 같은 전략 시뮬레이션 게임을 꽤 즐겨 했었습니다. 1990년대 초반에 삼국지2를 해보면서 어떻게 이런 게임을 만들지? 라는 생각을 했었는데 이렇게 전략 시뮬레이션 게임 소스를 볼 수 있으니 참 고마울 따름입니다.

Freeciv 같은 경우는 공식 홈페이지에서 위키와 포럼 공간을 운영하고 있습니다. 따라서 Freeciv 를 참고하여 전략 시뮬레이션 게임을 개발해보고 싶다면 많은 도움이 될꺼 같습니다.

Lincity

오픈소스 게임을 찾다보니 심시티와 매우 유사한 오픈소스 게임을 발견했습니다. “Lincity” 입니다.

Lincity는 심시티의 초기 버전의 모습과 매우 유사합니다. 화면의 구성이나 건설 방식도 거의 비슷한거 같네요. 심시티류의 게임을 개발한다면 많은 참고가 될 것으로 보입니다.

저도 예전에 심시티1을 하다가 지진과 괴물의 등장으로 게임을 금방 망쳐버렸던 경험이 있었는데 Lincity는 어떨지 궁금해집니다. 심시티의 경우에도 어떻게 이런 게임을 개발했을까? 라는 궁금증이 많았었는데 Lincity가 그 해답을 찾아줄지도 모르겠군요.

Lincity는 오픈소스 게임 답게 소스가 공개되어 있으며 윈도우, 리눅스 등지에서 실행이 가능합니다.

위 링크는 Lincity의 깃허브 저장소입니다. 소스는 C/C++로 짜여져 있습니다.

Frets on Fire

예전 2000년대 초반에 한창 오락실에서는 DDR(댄스 댄스 레볼루션) 과 펌프라는 게임이 유명했습니다. 이 게임들은 음악이 연주되면서 화면의 동작을 발판을 누르면서 따라하면서 점수를 올리던 게임이었습니다.

PC 게임에서도 비슷한 류의 게임들이 있었는데 나름 시간 때우기에는 괜찮은 게임들이었던거 같습니다. 그런데 이런류의 게임이 “오픈소스”로 공개가 되어 있습니다. “Frets on Fire” 입니다.

하는 방식은 DDR, 펌프 등의 게임과 유사합니다. 음악이 연주되는 리듬에 맞춰 키보드를 누르면서 연주를 하면 되는 것이지요. 단순한 방식의 게임입니다.

실행 환경은 윈도우즈, 리눅스, Mac OS 등에서 가능합니다.

소스는 공식 사이트에서 다운로드 받거나 SVN 저장소를 통해서 다운로드 하는게 가능합니다.

Super Tux Kart

예전에 한창 인기있던 게임인 “카트라이더”를 기억하시나요? 그런데 이런 류의 게임이 오픈소스로 공개가 되어 있습니다. “Super Tux Kart” 입니다.

Super Tux Kart 는 다양한 캐릭터들 중에 하나를 선택하여 경주 게임을 하는 3D 아케이드 게임입니다. 오픈소스 게임 답게 “턱스”가 게임 캐릭터로 등장한다는게 눈에 띄는군요.

3D 그래픽을 지원다보니 게임 화면 퀼리티도 꽤 괜찮은 편입니다. 현재까지도 활발하게 업데이트가 되고 있으며 리눅스, 윈도우즈, Mac OS, 안드로이드 등도 지원이 되고 있습니다.

Super Tux Kart의 깃허브 저장소를 확인해 보니 C/C++ 로 되어 있네요. 경주 아케이드 게임에 관심이 있다면 Super Tux Kart 가 좋은 예제가 될거 같습니다.

Flightgear

예전에 팰콘 3.0 이라는 게임이 생각이 납니다. 비행 시뮬레이션 게임이었는데 컴퓨터로 하늘을 나는 연습을 해볼 수 있다는 것이 꽤나 흥미로웠던거 같습니다. 그런데 이런 류의 게임(정확히는 비행 시뮬레이터)이 오픈소스로도 공개가 되어 있습니다.

Flightgear 는 게임이라고 보다는 “비행 시뮬레이터” 에 가까울거 같습니다. 물론 비행 시뮬레이터는 게임과 간발의 차이기 때문에 “게임”으로 소개를 해봤습니다.

Flightgear 는 최초의 오픈소스 비행 시뮬레이터이고 전세계 수많은 항공기를 무료로 지원하고 있다고 합니다. 항공기중에는 대한항공과 아시아나도 있다고 하네요.

오픈소스 답게 리눅스, 윈도우즈, Mac OS 등을 지원하며 개발 관련한 위키도 지원을 하고 있습니다. 하지만 업데이트가 활발하게 이루어지지는 않아 보입니다. 마지막으로 업데이트 된게 2021년 1월 이군요.

소스 관련해서는 위 링크를 참고해 주시기 바랍니다. 별도로 github 저장소는 운영하고 있지는 않은 듯 합니다.

Xonotic

맨 첫 문단에서 “퀘이크” 를 소개를 해드렸습니다. 1인칭 3D 슈팅 게임으로는 전설적인 게임으로 잘 알려져 있던 퀘이크를 기반으로 개발된 1인칭 3D 슈팅 게임이 있습니다. “Xonotic” 입니다.

게임 화면을 보면 “퀘이크3” 와 굉장히 유사합니다. 그런데 최근에 게임들을 봐도 3D 게임의 화면은 비슷비슷해서 차이를 느끼지 못하는 거 같습니다^^

오픈소스 게임답게 윈도우즈, 리눅스, Mac OS를 지원합니다. 라이선스는 GPL v3+ 라이선스를 기반으로 하고 있습니다.

공식 사이트에서 제공된 정보를 보면 실행 파일이 1 GB를 넘네요. 꽤나 덩치가 큰 게임인가 봅니다. 그리고 윈도우의 경우에는 Windows 7 이상을 요구하고 있습니다. 메모리는 4 GB 이상이어야 가능하네요.

위 링크는 Xonotic 의 깃허브 저장소입니다. 관심 있으신 분들은 한번 살펴보시기 바랍니다.

lichess

게임의 꽃이라고 하면 “보드게임” 이 떠오르게 됩니다. 그 중에서 전세계인들의 가장 많은 사랑을 받는 게임은 단연컨데 “체스” 입니다.

체스도 오픈소스로 소스가 이미 공개가 되어 있습니다. 그중에서 “lichess” 는 완전 무료를 선언한 체스 오픈소스 입니다.

프랑스의 티보 뒤플레시가 개발한 오픈소스 체스로 현재 웹사이트를 운영하며 실시간으로 체스 게임을 즐길 수가 있습니다. 체스 닷컴에 뒤를 이어서 세계 2위의 체스 게임 플랫폼이라고 하네요.

lichess 에 접속하면 이렇게 실시간으로 유저끼리 게임을 즐길 수가 있습니다. 제가 접속해 보니 동시에 4만명이 접속되어 있고 2만회의 게임이 동시에 진행이 되고 있더군요.

그런데 lichess의 서버와 플레이 소스도 모두 오픈소스로 공개가 된 상태입니다.

위 링크는 lichess 의 github 저장소입니다. lichess는 사이트에 광고가 없는데 기부로 수익을 충당한다고 하는데 얼마나 수익이 나는지 궁금해지기도 합니다. 그래도 어느정도 수익이 있으니까 지속적으로 운영을 하겠지요?

이상으로 오픈소스로 개발된 게임들에 대해서 알아봤습니다. 이 외에도 오픈소스로 공개된 게임은 꽤 많으며 오픈소스로 인해 게임 산업도 지속적으로 발전하고 있다는 사실을 알 수 있습니다.