행위

열린 게임 코드

이 페이지의 링크가 힘든 경우 http://www.gpgstudy.com/gpgiki/OpenGameCode 로 대신하세요.

열린 게임 코드 운동을 제안합니다.[편집]

제안자: 류광

소개와 취지[편집]

다른 분야도 비슷하겠지만, 게임 개발자가 오픈소스 프로젝트를 운영하거나 참여하는 것은 그리 쉽지 않은 일인 것 같습니다(이유는 여러가지겠죠). 그래서 '열린 게임 코드(OpenGameCode)'라는 운동을 한 번 펼쳐보려고 합니다.

이름이 좀 거창하지만, 간단히 말하면 여러 게임 개발 사이트들에 올라온 게시물 속의 소스 코드 조각들 중 독립적으로 사용될 수 있을 만한 또는 How-To의 가치가 있는 것들을 저자의 허락 하에 사이트 운영자 또는 저자 자신이 KldpDotNet의 코드 라이브러리( https://kldp.net/snippet/ )에 추가하는 것입니다.

이런 운동을 통해서 개발자들이 Kldp.net과 오픈소스에 좀 더 친숙해 질 수 있을 것이고, 또 축적된 소스 자체도 누군가에게 유용하게 쓰이겠죠.

참여 방법[편집]

참여자는 크게 사이트 운영자, 개인 작성자, 지원활동자로 나뉩니다. 이 분류는 단지 역할 상의 분류일 뿐이며 한 사람이 셋 모두에 해당할 수도 있습니다.

사이트 운영자와 개인 작성자는 KldpDotNet에 ID를 만들 필요가 있습니다.

사이트 운영자로 참여[편집]

사이트 운영자로 참여한다는 것은 열린 게임 코드 운동을 홍보하고 권장하는 것을 의미합니다. 이를 위해

  1. 자신이 운영하는 사이트(이하 사이트)에 이 운동을 소개합니다. 자세한 소개일 수도 있고 이 페이지(한글 또는 영문)로의 링크일 수도 있습니다. 가능한 한 일회성 소개가 아니라 게시판의 공지 등 언제나 볼 수 있는 형태가 좋습니다.
  2. 더 나아가서, 게시물 작성 페이지 등 글을 쓰는 과정에서 이 운동에 대해 알 수 있게 하는 것도 좋을 것입니다.
  3. 사이트에 올라온 게시물에 좋은 소스 코드가 있으면 작성자에게 이 운동을 소개하고 개인 작성자로서의 참여를 권하거나 또는 허락을 얻고 운영자 자신이 KldpDotNet 의 코드 라이브러리에 올립니다.
  4. 추가적으로, 올려진 코드에 대한 링크를 열린 게임 코드 색인에 추가합니다.

개인 작성자로 참여[편집]

개인 작성자로 참여하는 것은 실제로 코드를 KldpDotNet의 코드 라이브러리에 올리는 것을 말합니다. 특히 운동 초기에는 이전에 자신이 작성했던 게시물들을 다시 한 번 찾아보는 것이 바람직할 것입니다.

추가적으로, 올려진 코드에 대한 링크를 열린 게임 코드 색인에 추가합니다.

지원활동자로 참여[편집]

지원 활동이란 올려진 코드를 열린 게임 코드 색인에 추가하거나, 좋은 코드를 사이트 운영자에게 알려주거나, 또는 저자에게 이 운동을 소개하고 코드 제출을 권장하는 것을 말합니다.

저자에게 허락을 받아서 코드 라이브러리에 올리는 것도 지원 활동에 포함됩니다. 이 경우에는 KldpDotNet의 ID가 필요합니다.

홍보용 문구[편집]

다른 사이트에 이 운동을 소개하고자 할 때 또는 사용할만한 문구입니다. 더 매력적인 글로 수정이 되었으면 하구요...

'열린 게임 코드' 운동을 소개합니다.

오픈소스 운동의 활성화와, 여러 사이트들의 게시물 속에 묻혀 있는
좋은 소스 코드에 생명을 불어넣기 위한 '열린 게임 코드' 운동을
소개합니다.

이름은 좀 거창하지만, 게임 개발 사이트의 게시판에 올라온 소스 코드를
http://kldp.net/ 의 코드 라이브러리에 올려서 누구나 사용할 수 있게 하자는
간단한 운동입니다.
(구체적으로는 KLDP.net 코드 라이브러리의 'Games' 카테고리입니다.
http://kldp.net/snippet/browse.php?by=cat&cat=9 )


좀 더 자세한 사항은:

http://www.gpgstudy.com/gpgiki/%BF%AD%B8%B0%20%B0%D4%C0%D3%20%C4%DA%B5%E5

또는 http://www.gpgstudy.com/gpgiki/OpenGameCode 를 참고하세요...


코드 올리기[편집]

kldp.net에 로그인한 상태에서 http://kldp.net/snippet/Submit A New Snippet 에 올리면 됩니다.

입력할 것들 중 Title은

[열린 게임 코드] 코드 제목

형태로 입력하는 것을 권장합니다. (예: http://kldp.net/snippet/detail.php?type=snippet&id=14 )

Description, Type, Language는 적절히 입력, 선택하면 될 것이구요. Description에 이 페이지의 주소 또는 OpenGameCode 의 주소를 첨부하면 홍보에 도움이 될 것 같습니다.

License는 특별한 문제가 없다면 GNU Library Public License 또는 Artistic License가 좋을 것 같습니다. (TheArtisticLicense 참고).

Category는 'Games'로 통일하기로 합시다.(아래 토론, 현황 참고).

KldpDotNet 사용시 주의점[편집]

사용시 추천사항입니다. 읽어 보시고 아니라고 생각하시면 수정을.. 혹은 추가하실 내용이 있으면 추가해 주세요~

  • KldpDotNet 에 한번 코드를 올리시면 추가 수정이 안됩니다. 새로운 버전으로 설명과 코드를 올리실 수 있지만, 한번 올리신 글은 수정이 불가능합니다. 지우고 다시 올리는 수밖에 없습니다. 저도 실수를 많이 했는데요. (오늘도 실수를... ㅡㅡ;;) 그렇기때문에 올리시기 전에 제목과 적으실 내용을 충분히 생각하시고 난뒤에 올리시는 것이 좋습니다.
    • 해당 코드 화면에서 Versions Of This Snippet: 아래 줄의 제일 오른쪽에 있는 휴지통을 클릭하면 삭제가 됩니다. 자신이 올린 것만 지울 수 있고, 클릭하면 아무 확인 없이 바로 지워진다는 점도 주의하시길....
  • 이건 꼭 그래야 하는 건 아니지만... Description 부분은 Games 카테고리를 선택하시면 그 부분이 바로 보여집니다. 그래서 Description 부분이 너무 길면 브라우저의 스크롤이 길어지기때문에 미관상 별로죠. -_-;; 최대한 올리실 코드의 내용을 가장 잘 표현할만한 내용으로 150자 정도가 적당하다고 생각하는데요. 너무 길지만 않으면 된다고 생각합니다. 직접 가시면 이러한 예를 보실 수 있습니다. -_-;; 줄어든 설명은 코드에서 주석으로 상세히 설명하시면 될듯합니다.
  • 보통 코드작성시 탭 간격이 4입니다. 그런데 기본적인 탭 간격은 8이지요. KldpDotNet에 소스를 올리시면 탭 간격이 8이 되어버립니다. 그래서 소스 보기에 조금 불편합니다. 그런데 보통 에디터에 보면 탭 키를 눌렀을 시 탭 간격에 tab을 넣을지 space를 넣을지를 정하는 부분이 있습니다. 그곳에 space를 넣게 하면 KldpDotNet에서도 깔끔한 코드를 보실 수 있습니다. Visual Studio 설정은 Tools -> Options -> tabs 탭 선택 -> Insert space 를 선택하시면 됩니다. (그런데 예전에 탭 으로해서 작성된 소스를 탭 대신에 스페이스를 넣는 걸 어떻게 하죠? 아시는 분은 가르쳐 주세요.. ㅡ.ㅜ)
EditPlus에서 스페이스<->탭 변환이 가능합니다. --지나가던

부록[편집]

KldpDotNet인가?[편집]

당연합니다. KldpDotNet은 한국 오픈소스 활동의 중심이며, 또한 이 운동을 펼치는 데 충분한 기능을 제공합니다.

왜 코드 라이브러리인가?[편집]

사람에 따라 다르겠지만, 완전한 오픈소스 프로젝트를 시작하고 운영하는 것은 그리 쉽지 않은 일입니다. 반면 코드 라이브러리(snippet library)는 관리의 부담이 거의 없고 아주 쉽게 접근할 수 있습니다. 물론 여건이 된다면 작은 코드 조각이 완전한 오픈 소스 프로젝트로 발전할 수도 있을 것입니다.

GpGiki인가?[편집]

이 운동의 중심을 GpGiki의 한 페이지인 이 곳으로 삼은 것은 그냥 가장 편하기 때문입니다. :) KldpDotNet에 이 운동을 위한 프로젝트를 만들 생각도 했으나 게시판 이외에는 별로 쓸 게 없을 것이고, 그런 용도라면 차라리 GpGiki가 낫다고 생각합니다.

혹시 이 운동을 위한 독립적인 웹 공간을 제공하실 분이 있으시면 알려주세요!


참여자들[편집]

  • 류광 : http://www.gpgstudy.com/ 운영자 .
  • Astromaker : http://monowind.net/ngps/ 운영하고 있습니다. 저도 개인 작성자나 지원활동자로 참여하고 싶습니다. (주로 지원활동자가 되겠지만요. KldpDotNet ID는 가지고 있습니다.)
  • redpixel : KldpDotNet ID는 이전에 만들어놓았는데, 짬나는데로 참여했으면 하는 마음만 가지고 있습니다. ^^
    • DeleteMe 반갑습니다.. 그냥 사이트 관리하다가 눈에 띄는 거 있으면 잠깐 시간내서 올리는 정도로 시작해도 충분할 것 같아요. Lua 쪽 코드도 기대하겠습니다... --류광

토론, 현황[편집]

KldpDotNet 관리자에게 코드 라이브러리에 '열린 게임 코드'라는 카테고리를 추가해 달라고 요청을 하긴 했는데 어떻게 될지는 모르겠습니다. 그게 안 되면 그냥 '게임 개발' 같은 카테고리라도 추가해 달라고 할 생각이고.. 카테고리 문제가 확정되면 그 때부터 GpgStudy에 홍보를 시작하고, 주요 사이트 운영자분들께도 홍보를 할 생각입니다. --류광

KldpDotNet 관리자 권순선님께 카테고리 관련 답변을 받았습니다(참고 : http://kldp.net/support/?func=detailsupport&support_id=35&group_id=1 ). '열린 게임 코드'라는 이름은 그리 일반적이지 못해서 안 된다고 하셨구요. 그래서 그냥 '게임 개발'은 어떠냐고 제기했는데 시스템(devian-sf)의 소스를 고쳐야 하는 문제라서 힘들다고 하시네요. 일단은 지금 있는 것들 중 'Games' 카테고리에 올리는 것으로 해야 될 것 같습니다. 어쨌든 이제부터 적극적으로 홍보를! --류광

흠.. 두개 정도의 소스를 KldpDotNet 에 올려 보았는데요. 간략한 소스코드의 경우에는 꽤 괜찬은 모습을 보여주는데요. 긴 소스 코드의 경우에는 그리 적합하지 않은 거 같습니다. 제가 사용법을 몰라서 그런건지도 모르겠는데요.. 올려 놓고 보면.. 엄청긴 스크롤과 텝간격이 일반 프로그래머들이 사용하는 4칸이 아니고 8칸이되어 버려.. 보기가 불편한것 같습니다. 부록으로 키워드에 색이 들어가면 더 좋을 텐데요.. -_-;;; 또 기존에 올린 것에 수정이 안되는 것같습니다. 즉, 기존 게시물에 익숙한 저로써는 조금 까다로운 형식을 가지고 있는 것 같습니다. 저도 이번에 올리면서 실수를 몇가지 했는데.. 아직 수정을 하지 못하고 있는데요.. 소스를 KldpDotNet에 게시할때, 간략한 방법과 주의사항을 여기에 적어 둔다면 좀더 많은 사람들이 편리하게 소스코드를 게시할 수 있지 않을까 합니다. 다른 분들은 어떻게 생각하시는지... -- Astromaker

좋습니다. 코드 올리기 절의 하위에 1) KldpDotNet 사용시 주의점, 2) 어떤 코드를 올릴 것인가(길이, 성격 등)에 대한 항목을 추가하기로 하죠.... (누가? 먼저 생각이 나는 사람이요 ^^ )

한편 KldpDotNet이 아주 편한 시스템은 아닌데요... 특히 실수를 하고나서 고치는 게 불가능한 부분이 많더라구요. KGDA의 연대 모임 게시판을 얻어 쓰거나 아예 따로 웹 시스템을 만들 수도 있습니다만 애초의 취지 중에 오픈소스의 확산이 포함되어 있는 만큼 KldpDotNet을 쉽게 떠날 수는 없을 것 같아요...

--류광