솔직히 말해서 노는 것을 싫어하는 사람이 어디있겠나?

kelven의 이미지

Tux의 비밀 - 리눅스에서 게임하기
[Illustration]

요약:

이 글은 리눅스에서 즐기는 게임에 관한 이야기이다. 이 글에서는 단순히 인터넷이나 자료 처리에만 리눅스가 사용되는 것이 아니라는 것을 보여주고 싶다. 오늘날 리눅스에서 돌아가는 게임은 더 많이 있다는 사실을 알려둔다.


들어가는 글

우리는 인터넷 공동체의 한 일원으로 열심히 많은 일을 하고 있는 귀여운 리눅스 펭귄인 툭스(Tux)를 알고 있다. 많은 웹싸이트, 데이터베이스, 인터넷서비스 제공업체 등등 많은 사람들이 툭스의 힘을 빌어 일을 하고 있다. 아파치,센드메일, mySQL등의 프로그램들이 리눅스에서 잘 돌아가면서 리눅스가 안정적이며 빠르고 효율적인 운영체제라는 것이 밝혀지고 있다. 최근 툭스는 자신만의 방식으로 데스크탑환경도 만들어 가고 있다. KDE,GNOME, GIMP등은 일반 사용자들이 매일하는 작업을 처리하게 해주는 매우 효율적이고 생산적인 소프트웨어들의 한 예라 할 수 있다. 이러한 프로그램들은 옛날부터 대부분의 사람들이 있었으면 했던 환상적이고 매력적인 그래픽 인터페이스를 제공해 준다. 그리고 사용자들과 출판사, 회사들에게 알려지고 있는 리눅스의 또 다른 면이 있다. 그것은 바로 게임이다.

이 글에서는 리눅스에서 할 수 있는 게임에 대해 간단히 살펴보겠다. 글에 인용된 게임과 프로그램은 글의 제일 끝에 자세한 정보를 적어 두었으므로 살펴보기 바란다. 물론 이 글을 계기로 리눅스포커스에 게임에 관하여 다루는 분류가 생겼으면 좋겠다. 그래서 게임들에 관한 리뷰를 독자들이 직접 적는 것도 좋을 것이다. 만약 여러분이 어떤 게임을 벌써 해보았거나 마쳤다면 여러분의 경험을 공유하기 위해서 글을 적는 것은 어떨까?

Abuse

Civilisation: Call to Power

간단한 발자취

리눅스에서 돌아간 최초의 게임들은 대부분 쉽게 다른 유닉스로 이식이 가능하기 때문에 대부분의 유닉스에서 한번쯤은 보았을 것이다. 처음 리눅스를 사용하는 사람들은 리눅스가 업무용이나 대학에서 주로 사용되고 있으며, 소프트웨어들이 주로 대학에서 만들어진다는 사실을 알고 있을 것이다. 그러나 이러한 프로그램들은 그래픽이 사용되지 않거나 매우 단순한 그래픽을 사용하는 프로그램으로 여러분들이 DOS나 윈도우즈를 사용하는 컴퓨터에서 볼 수 있는 게임과는 비교가 안된다. 이전의 유닉스 머신들은 매우 뛰어난 그래픽 하드웨어장비를 갖추고 있는 고가의 장비였기 때문에 주로 오락보다는 다른 분야에 사용되었다.

가정용으로 컴퓨터가 보급되면서 리눅스는 그냥 글자로 보여지거나 단순한 그래픽을 사용하는 것보다 더 강력하고 적절한 환경을 찾았다. 리눅스 운영체제의 개발은 오늘날 거의 모든 그래픽카드가 X윈도우시스템을 지원하도록 이어지고 있다. 이러한 그래픽환경은 응용프로그램과 게임을 보기좋게 해주고 있다. 물론 콘솔모드도 지원한다. 리눅스에서는 문자방식이나 그래픽방식을 모두 사용할 수 있다 그러나 최근 개발되는 프로그램들은 주로 X윈도우에서 돌아가는 것들이 대부분이다.

프로그래머의 입장에서보면 X는 복잡한 프로그램으로 간단한 창을 하나 띄우는데도 많은 작업이 필요하다. 그래서 대부분의 작업들이 속도가 느리다는 느낌을 가지게 된다. 또한 X 자체가 시스템자원을 많이 잡아먹는 편이므로 특히 게임이 느려지고 단순하게 되는 원인이 된다. 그러나 하드웨어의 기능이 점점더 강력해지고 구입할 만한 가격으로 떨어지게 되면서 좋은 그래픽환경을 가진 프로그램들이 속속 개발되고 있다. 그리고 최근에는 대부분 라이브러리와 개발도구들을 이용하여 프로그램을 개발하고 있다.

점점더 많은 하드웨어 업체들이 컴퓨터시장, 특히 클라이언트로 사용되는 컴퓨터들에서 리눅스의 중요성을 인식하기 시작했다. 그래서 드라이버나 관련 정보를 제공해주기 시작하며, 일부는 바이너리로 일부는 오픈소스로 지원을 하고 있다. : 리눅스를 지원하는 장비들이 그래픽카드에서부터 3차원 가속기, 사운드카드등으로 확대되고 있다. 리눅스도 오늘날 매우 많은 멀티미디어 컴포넌트들을 기본적으로 지원하고 있다.

그렇다고 하드웨어 업체만 리눅스의 중요성을 인식한 것은 아니다. 게임산업계도 이 새로운 운영체제를 주목하기 시작했다. 대부분의 리눅스용 게임들은 자유롭게 이용할 수 있지만(예를 들어 GNU의 GPL정책을 따르는 게임들) 상용 게임들도 소수이긴 하지만 나와있다. 어떤 이들은 이러한 상업용 배포가 리눅스의 자유정신에 부합되지 않는다고 생각할지 모르지만 필자는 좋은 소프트웨어라면 언제라도 충분히 합리적인 가격을 지불하고 살만한 가치가 있다고 생각한다. And people shouldn't forget that money is made with Linux, maybe less with selling software explicitly but by bundling it with hardware (net servers) or providing support. This can't be done with games. 여러분이 할 수 있는 일은 그것을 사는 것 뿐이다 그리고 자유소프트웨어진영은 게임 회사에게 코드를 개발하는 것 뿐만 아니라 사람들이 그것을 돈을 지불하고 살만큼 재미있게 개발하라고 요구하는 것이다.

Heretic

Hopkins FBI

라이브러리와 개발킷들

앞에서 언급한 바와 같이 요즘 프로그래머들은 매우 다양한 툴킷과 라이브러리, 소프트웨어 개발 킷(SDK), 또는 충분한 게임 엔진들을 사용하기도 한다. 물론 qt, qtk, 아데나, xforms등등의 X위젯모음들을 사용할 수도 있다. 이러한 위젯모음들은 매우 훌륭한 사용자 인터페이스를 만드는데 호환성을 가진 방법을 제공해 준다. 기본적으로 그래픽을 다루는 특징을 가지고 있다. 많은 게임들은 이것으로 충분하기 때문에 복잡한 그래픽처리를 위하여 프로그램을 작성할 필요가 없이 쉽게 다른 X용 프로그램과 같은 룩앤필을 사용자에게 제공할 수 있다.

지뢰찾기,마작,테트리스등의 게임들은 이러한 라이브러리를 사용해서 개발되었지만 워크래프트나 커맨드 앤 컨쿼와 같은 실시간 전략게임(이하 RTS)의 경우에는 좋은 성능을 발휘하지 못하고 있다. 3차원 슈팅게임은 뛰어난 텍스쳐기능과 사용자의 반응을 즉각적으로 반영하여 많은 프레임을 짧은 시간에 보여주는 기술이 필요하다. (Unreal나 Descent가 1초에 한개 내지 두개의 프레임으로 보여진다고 생각해 보라.) 이러한 요구를 범용 X 위젯라이브러리가 만족시켜주지는 못한다. 그렇다고 해서 낙담할 필요는 없다. 이러한 빠르고 복잡한 그래픽기능을 담당할 라이브러리들이 이미 개발되어 있다.

만약 3차원 그래픽을 사용한다면 그 라이브러리들중의 대부분은 Mesa를 사용할 것이다. Mesa는 정점과 다각형같은 기본 기하형상을 이용하여 3차원 영상을 생성해주기 위하여 제안된 OpenGL을 리눅스에서 자유롭게 실행되게 해주는 라이브러리이다. OpenGL이 중요한 까닭중의 하나는 대부분의 게임들이 그것을 사용하여 개발되고 있다는 것이다. 그래서 3차원처리를 위하여 OpenGL부분을 다시 작성할 필요없이 리눅스용으로 프로그램을 이식할 수 있다. Mesa의 큰 단점이라면 고수준의 게임을 위해 필수적인 텍스쳐, 안개, 알파블렌딩등등의 기능을 위한 3차원 가속기에 대한 하드웨어 지원이 부족하다는 것이다. 3dfx만이 Mesa를 이용할 때 하드웨어 접근이 가능한 바이너리를 제공해주는 하드웨어 업체이다. 이 카드를 가지고 있지 않는 많은 사람들은 수치계산을 위하여 CPU의 성능에 의존할 수 밖에 없고 결국 이것은 성능을 저하시키게 되는 것이다. 그러나 NVidia가 Riva128/ZX/TNT/TNT2칩셋에 접근할 수 있는 소스를 공개했기 때문에 사용자가 3차원 하드웨어를 직접 접근할 수 있다. 그리고 Matrox G200도 Mesa를 지원하기 시작했다. Mesa/OpenGL을 사용하는 많은 응용프로그램/게임들은 인터넷상에서 쉽게 찾아 볼 수 있으며 대부분 그 이름이 GL로 시작된다.

그래픽에 관한 문제를 처리하고, 입력기능과 이벤트를 처리해주기 위하여 많은 라이브러리와 SDK가 나와있다. 그중 하나가 Loki Entertainment가 만든 SDL이다. Loki사는 PC용으로 유명한 게임들을 리눅스용으로 이식하고 있는 회사이다. 이 회사는 자신들이 사용했던 라이브러리를 공개해서 모든 사람이 자유롭게 사용할 수 있도록 하고 있다. 물론 Loki프로그래머들과 사용자들이 SDL에 대한 이야기를 하기 위한 메일링리스트들도 제공되고 있다. SDL을 사용하는 게임들이 몇개 나와 있으며 오픈소스로 제공되고 있다.
SDL고 유사한 라이브러리들로는 PLib, ClanLib, PowerPakGame SDK등이 있다.

하지만 게임이 단순히 그래픽기능만 있다고 되는 것은 아니다. 음악을 연주하는데 이용할 수 있는 사운드관련 도구들도 개발되어 있다. 그리고 리눅스에서 사운드시스템을 직접 이용하는 것보다 쉽게 음향효과를 생성하고 연주할 수 있다.(OSS, ALSA등등이 지원된다.) 위의 라이브러리들중 몇몇은 특별히 게임 개발을 위해 설계되어서 그래픽과 사운드의 처리나 전체적인 애니메이션까지 제공해주기도 한다!

게임개발자들을 도와주는 또하나의 그룹이 바로 엔진(engine)이다. 이런 SDK들은 특정 게임쟝르를 개발하는데 편리하게 해주는 기능을 제공하며 조금만 코딩을 해서 게임제작과정을 쉽게해주는 기능을 제공해주려 한다. Chrystal Space와 같은 엔진은 3차원 액션게임 또는 3차원 어드벤쳐게임과 롤 플레잉게임(RPG)을 개발하는데 편리한 기능을 제공해 준다.

지금까지 살펴본 바와 같이 윈도우환경에서 다이렉트X처럼 표준 라이브러리나 API, 툴킷은 아직 없다. 이런 점때문에 사용자들이 게임에 필요한 사항들을 모두 선택해서 설치해야 하는 번거로움이 있다. 그렇게 되면서 여러분의 컴퓨터는 점점 재미있는 게임을 하기 위해 하나씩 하니씩 쌓여버린 많은 라이브러리들이 들어찰 것이다. 하지만 개발자의 입장에서 보면 개발자들은 자신에게 필요한 기능을 제공해주는 SDK를 임의로 선택할 수 있다. 요즘 리눅스박스들은 이러한 제각각의 소프트웨어와 라이브러리들을 다 설치해도 될 정도로 용량이 크다.

mHockey

Golgotha

Civilisations에서, Racers, Star Fleets까지...

여러분은 여러분이 원하는 형태의 리눅스용 게임을 찾을 수 있다. 불론 그것은 업무시간마다 짬짬히 하는 휴식용 게임(지뢰찾기나 테트리스, 바둑등)일 수도 있고 (둠, heretic,descent와 같은 게임에서 처럼) 징그럽게 생긴 외계인이나 로봇을 무찌르면서 지구를 지키는 역할을 맡을 수도 있다. 종족을 이끌고 문명시대를 열어가는 등의 좀 진지한 게임을 원한다고? 그렇다고 해도 문제없다. i>FreeCiv나 Civilisation: Call To Power를 해보기 바란다. 운전면허증을 아직 따지 못했나? 좋다. 그럼 XRacer나 GlRacer를 실행시켜 도로를 질주해 보자. 여러분이 원하는 게임들이 모두 있다. 리눅스에서 즐길 수 있는 이러한 게임들의 대부분은 여러명이 함께 하는 기능을 가지고 있기 때문에 더욱 흥미진진할 것이다.

아마 여러분들은 이미 들어본 게임들도 있을 것이고 몇몇 게임들은 처음 보는 것도 있을 것이다. 몇몇 게임들은 널리 알려진 PC용 게임들이 이식된 것이거나 클론 프로그램이다. 클론이란 자체적인 그래픽과 사운드, 그리고 데이터를 가지고 완전히 처음부터 개발된 프로그램이다. (물론 원작 게임과 매우 비슷하지만 말이다.) FreeCiv이 그 좋은 예이다. 이식된 게임들은 원작게임과 완전히 일치한다. (Civilistion: Call To Power과 같은) 대부분의 이식된 프로그램은 대부분 모든 프로그램과 데이터파일이 제공되지만 일부파일만 이식되는 경우도 있다. Descent, 둠 , Heretic, ALE Clone (워크래프트)등이 이러한 방식으로 이식된 프로그램이다. 이런 게임을 실행시키기 위해서는 DOS버전에서 제공된 게임데이터가 별도로 필요하다. 이러한 게임에는 아케이드형 게임, 보드게임, 어드벤쳐, 시뮬레이터, 3차원 슈팅게임, 실시간 전략게임등 무궁무진하게 많다. 현재 나와 있는 PC게임들과 직접적인 연관성 없이 게임의 원칙(일부는 새로운 기능이 추가된)을 사용하는 경우도 있다.

음. 이제 우리들의 기대를 조금 접을 시간이다. 현재 매우 많은 게임 프로젝트들이 있다. 그 게임들이 구현하는 그래픽과 게임의 질은 제각각이다. 몇몇은 복잡하고 몇몇은 간단하고, 몇몇은 영원히 개발단계에 머물러 있는 것도 있고, 몇몇은 게임을 이미 할 수도 있고 몇몇은 할 수 없는 것도 있다. 그래서 모든 게임을 이용할 수 있을 것이라 생각하지 않기 바란다. 그러나 이성을 되찾고 게임 개발자들이 자신의 여가시간을 활용해서 아무 보수없이 그러한 게임을 만들고 있다는 것을 잊지 말기 바란다. 이러한 프로그래머들중 일부는 아무도움도 받지않고 혼자서만 작업하는 경우도 있다. 아직 완성되지 않은 버그투성이에다가 설치까지 제대로 되지 않는 게임이더라도 참고 기다려 주기 바란다. 여러분은 버그를 알려주고 이렇게 했으면 좋겠다는 점들을 게발자에게 보내주거나, 또는 그래픽작업을 하고 사운드파일을 만들어주면서 개발을 도와줄 수도 있다. 게임분야는 여전히 여러분의 피드백과 도움이 필요한 리눅스소프트웨어 프로젝트이다.

Pingus

World Forge

또다른 세상 - Wine에서 할 수 있는 게임들

Wine을 이용하면 X윈도우에서 윈도우즈용 응용프로그램을 실행할 수 있다. 물론 여러분이 좋아하는 게임도 가능하다. 인터넷상에 wine을 이용해서 현재 널리 하고 있는 게임을 실행했다는 이야기들을 종종 볼 수 있다. 물론 그것이 유용하다할지라도 wine은 아직 개발중이며 안정적인 상황에 이르끼까지는 아직 먼길을 가야한다는 것을 잊지 말기 바란다. 특히 Win32소프트웨어를 실행할때는 말이다. 하지만 wine은 시도할만한 가치가 있으며 리눅스의 성능을 증명해 주고 있다.

X Racer

Myth II

상업용 게임

리눅스가 직면하고 있는 상업소프트웨어 업계의 움직임은 절대적인 무시부터 게임이식에 까지 다양하다. 심지어 최근에는 리눅스용 게임만을 개발하기 위한 회사가 세워지기도 한다. 몇몇 회사들은 자신들의 옛날 프로그램의 소스를 제공하면서 자우롭게 이식할 수 있게도 해준다. 일부회사는 다른 업무를 위한 계획속에서 게임이식을 추진하고 있기도 하다. 일부회사는 리눅스용 게임발표는 꺼리면서 부분적으로 이식하는 경우도 있다. (대표적인 경우가 다중사용자 게임을 위한 게임서버 부분만을 이식하는 경우) 일부사용자들은 게임회사에게 리눅스용 버전을 만들어달라고 웹상으로 요청하는 경우도 있다. 이러한 방식은 리눅스 소프트웨어의 시장이 충분히 있다는 것을 보여주는 좋은 방법이 될 것이다.

그럼에도 불구하고 아직 상용 프로그램은 매우 작다. 대부분의 프로그래머들은 리눅스를 사용해 보지 않았거나 리눅스시작의 잠재력이 별로 가치가 있다고 판단하지 않는 것같다. 그럼에도 불구하고 몇몇 회사들은 자금과 시간을 써가면서 이러한 프로젝트를 추진하고 있다. 물론 단순하게 해피엔딩만을 기대하지 말자. 리눅스용 게임이 나오더라고 아직 설치가 쉽지않다는 문제점과 리눅스용 소프트웨어를 돈을 주고 구입해야 한다는 어색함이 남아있다.

Parsec

Free Civ

전망

음. 일반적으로 게임 개발은 잘 진행되어가고 있으며 리눅스용 게임들도 잘 진행되어 가고 있다. 필자의 생각으로는 PC게임과 리눅스용 게임들의 차이가 점점 줄어들게 될 것이라고 생각한다. 상업용 개발회사때문에 우리는 몇몇 개임을 리눅스에서 같은 품질로 즐길 수 있을 것이다.(물론 전부는 아니겠지만 말이다.) 마지막으로 한마디하자면 리눅스가 가정용 컴퓨터로 옮겨올 수 있을지 없을지는 (다른분야보다 무엇보다) 게임분야의 발전에 달려 있다고 본다.그렇게 되면 장난감 운영체제나 또는 제 2의 운영체제뿐만 아니라 현실적인 대안으로 자리잡게 될 것이라 본다.

다음 계획을 밝힌다면 리눅스포커스에다 게임리뷰를 싣는 것이다. 물론 아무나 참여할 수 있다. 게임이라는 이 주제는 충분히 시간을 투자할 만한 가치가 있다고 생각한다. 솔직히 말해서 노는 것을 싫어하는 사람이 어디있겠나? (-:

출처 : http://www.linuxfocus.org/Korean/November1999/article118.html

yuni의 이미지

이 사실을 자신의 보스에게 절대로 절대로 알리지 말라.

==========================
부양가족은 많은데, 시절은 왜 이리 꿀꿀할까요?
=====================
"지금하는 일을 꼭 완수하자."

jachin의 이미지

yuni wrote:
이 사실을 자신의 보스에게 절대로 절대로 알리지 말라.
맞아요. 리눅스에 게임이 별로 없어서 사용을 고려해보시는 사장님들에겐 정말 위험한 정보! +_+g