에디터

1 사전적 의미

Editor. 편집자, 편집기 라는 뜻을 가지는 영어 단어.

편집기라는 뜻을 가지고 있으므로, 일반적으로 컴퓨터로 저장되는 파일을 작성하는 프로그램들은 거의 다 이런 식으로 불린다. 맵 에디터, 텍스트 에디터라는 식.

2 텍스트 에디터

ASCII 파일이나 유니코드 텍스트 파일을 편집할 수 있는 프로그램. 기본 포맷이 고유의 파일포맷(*.doc, *.docx, *.hwp 등)인 경우에는 해당되지 않는다.

단순 텍스트 편집에서 IDE(Integrated development environment)까지 넘보는 등 종류가 많다. 대표적인 것들은 다음과 같다. 개발하는 사람 입장에서는 당연히 호불호가 갈리는 물건이라, 유닉스쪽에서 vi와 emacs는 에디터 전쟁까지 벌였을 정도다.

2.1 윈도우용

  • 메모장 : 윈도에서 notepad.exe 하면 실행 되는 녀석. 64KB의 열 수 있는 파일 용량제한이 있는 등 최소한의 기능을 제공했었다. 열 수 있는 파일 용량 제한은 XP 이후로 없어졌다. Windows 98부터 Windows 8 도 있다.
  • 에디트플러스 : 유료, 한국산. 매우 강력한 프로그램으로 해외에도 알려졌다. 버전 2대에서 거의 모든 기능이 완성 되어 있어 버전업 되어도 기능 추가가 적은 편. Notepad++의 성장으로 수요를 많이 뺏긴듯. 유료이긴 해도 가격이 싸고, 마이너 업데이트는 무한으로, 메이저 업데이트는 1회까지 지원된다.
  • 울트라에디트 : 유료, 외산. 윈도우용 텍스트 에디터의 원조라고 할 수도 있는 프로그램이다. 1990년대 후반까지는 대단히 강력한 윈도우용 텍스트 에디터 프로그램으로 꽤 큰 인기를 얻었다. 그러나 2000년을 넘어가면서 다른 무료 에디터가 많이 등장하고, 기능을 너무 많이 집어넣다보니 에디터가 너무 무거워져서 순식간에 도태되고 말았다. 그래도 강력하긴 강력한지라 IT산업 현장에서는 아직 많이 쓰이는편.
  • Notepad++ : 무료에 오픈소스. 2015년 현재 영미권에서 가장 있기있는 텍스트 에디터라면 Sublime Text을 들지만, 무료로 한정한다면 Notepad++ 만한게 없다. 기본 기능은 고만고만 한데 플러그인들이 막강하다. 유니코드를 지원한다.
  • AcroEdit : 무료, 한국산. 역시 강력한 프로그램. 특이점으로 자체 diff 툴을 갖추고 있는데 이게 자체 diff 툴 치고는 꽤나 막강하다. (에디트 플러스는 외부 diff툴을 사용자 정의로 설정해서 쓴다.) 다만 유니코드를 네이티브로 지원하지 않기 때문에 제 2 외국어를 많이 쓰는 유저라면 별로 추천하지 않는다.
  • EmEditor : 유료, 외산. 처음 프로그램 개발을 시작했을 때부터 유니코드 처리를 고려해서 만들었기 때문에 다국어 입출력 기능이 대단히 뛰어나다. 이때문에 편집기능이 아니라 텍스트 파일을 읽는 기능으로만 보면 여러 에디터들 중에서도 가장 뛰어나다고 볼 수 있다. 특히 윈도우 환경에서 기가 단위를 넘나드는 초고용량 텍스트 파일을 읽고 편집 및 저장할 수 있는 거의 유일한 프로그램이다[1]. 무료로 lite 버전도 제공
  • ConTEXT : 무료, 외산. 설치파일 용량이 2MB도 채 안되고, 프로그램 자체가 매우 가볍지만, 처음 설치했을때는 폰트 설정 문제로 한글 같은 2바이트 문자를 사용할 수 없어서 당황하게 된다. 하지만 설정에서 폰트를 변경하면 한글을 비롯한 2바이트 문자를 사용 가가능. 초기버젼은 한글 입력 문제가 있었으나, 이후에 개선된듯. 한때는 몇 안되는 프리웨어 에디터 였지만, 지금은 Notepad++의 약진으로 위축된것 같다. 게다가 개발에 사용된 델파이 컴포넌트의 라이센스 문제로 인하여 차기 버젼의 개발이 힘들게 되어, 아직도 최종버젼은 2009년 8월에 공개된 0.98.6에 머물러 있다.
  • 이지패드 : 무료, 채경삼이라는 (당시) 전북대 컴퓨터공학과 학생이 개발한 프로그램이다. 메모장에 몇가지 편의 기능을 덧붙인 정도의 프로그램이다. 텍스트 에디터 주제에 한글97까지의 HWP파일을 열수 있고 모든 설정파일과 도움말 파일이 txt형식으로 되어 있다는 특징이 있었다. Windows 10에서도 돌아는 가지만, Windows XP부터는 환경설정이 먹히지 않는 버그가 있어 불편하다. 2000년대 초반 개발중단
  • Crimson Editor: 무료, 국산. 강인규라는 개발자가 개발한 에디터이다. 설치파일 용량이 3.5인치 디스켓 하나에 들어갈 정도로 작고, 상업적인 용도로 사용해도 괜찮았기 때문에 2000년대 초중반까지 많이 사용되었다. 국내보다 해외에서 더 인기가 있었던 에디터여서 한글판은 3.4버전을 끝으로 업데이트가 중지되었지만 영문판은 2008년 3.72 버전까지 꾸준히 업데이트되었다. 이후 소스 코드를 공개해서 에메랄드 에디터라는 이름으로 바꾸었지만, 2011년 이후로 아무런 업데이트가 없는 상태다. 거의 개발중단 상태라고 봐도 될 듯.

2.2 크로스 플랫폼

  • Sublime Text : 유료, 외산, 무료 버전도 있으며 가끔 뜨는 라이센스 등록창을 빼면 유료 버전과 기능상 차이점은 없다. 2008년 혜성같이 등장해서 영미권에서는 코드 에디터계를 평정했다고 해도 과언이 아닐 정도로 압도적인 인기를 자랑한다. 텍스트 에디터에게 중요한 것은 텍스트 뿐이라는 컨셉 하에, GUI는 최소화되어 있으며 vi모드를 기본 탑재하고 있어 구세대의 해커들도 많이들 전향하고 있다. euc-kr 한글 출력에 약간 문제가 있지만, 플러그인으로 해결 가능. Windows / OS X / Ubuntu 지원.
  • Atom : GitHub에서 제작한 Electron 기반의 텍스트 에디터. Sublime Text와 비슷하지만 컨셉이 조금 다르다. Sublime Text 유저 층을 조금씩 흡수하고 있으며, API 문서화가 잘되어있고, GitHub가 밀고있어서 그런지 플러그인이 빠른 속도로 늘어나고 있다. Windows / OS X / Linux 지원
  • Brackets: 어도비에서 제작한 텍스트 에디터. 포토샵의 그 어도비 맞다. HTML이나 CSS를 수정하면 바로 반영되는 라이브 프리뷰 기능이 있어서 프론트엔드 개발자 혹은 웹 디자이너에게 유용한 에디터. Windows / OS X / Linux 지원.
  • Microsoft Visual Studio code : Atom과 똑같이 Electron 기반으로 마이크로소프트가 제작한 텍스트 에디터.
  • nano : vi보다 쉬운 에디터. 옛날 이름은 pico였다. PC통신 시절 나우누리에서 글 쓸때 이 에디터를 쓸 수 있었다. 보통 리눅스에 기본으로 탑재되어 있고 윈도용도 있다.

2.3 기타 운영체제용

  • edlin : MS-DOS 1.0 부터 제공된 에디터. Windows XP에도 있고 Windows 7부터는 사라졌다.
  • edit : MS-DOS 5.0 부터 제공된 기본 에디터. Windows 7 버전에서는 edlin과 함께 사라졌고, Windows 8.1 에서는 NTVDM을 설치해야 사용할 수 있다.[2]
  • vi : 자타칭 유닉스 호환 운영체제들은 거의 대부분 vi나 vim을 싣고 있어서, 터미널 열고 vi 두 글자만 치면 바로 개발(..)을 시작할 수 있다. 요즘 OS에선 vi보단 vim을 많이 쓴다. 때문에 vi를 실행해도 vim -C (Compatible, vi 처럼 사용하기) 옵션으로 실행 되는 경우도... 현존하는 대부분의 운영체제(Linux, Unix, Mac OS X, Android, 심지어 iOS[3]까지)를 지원한다.
  • Emacs : 에디터라고 부르기 애매한 물건. 메일 송수신, 웹 브라우징, irc 채팅 등은 물론이고 모듈을 붙이기에 따라 상상할 수 있는 모든 것을 할 수 있는 대표적 변태 프로그램. 진입 장벽이 높은 편. gdb 연결해서 코딩, 컴파일, 디버그까지 하다보면 매우 쾌적한 개발 환경을 만들 수 있다. 윈도우 용과 모바일용(Android, iOS)도 있다.
  • Gedit : gnome에 포함되어 있는 텍스트에디터. 기본기능은 메모판과 유사하지만 각종 플러그인을 통해 기능을 확장하여 IDE처럼 사용할 수도 있다. 원래 리눅스용 프로그램인데, 버전은 낮지만 윈도우용으로도 나와 있다. GNU 프로그램이므로 당연히 무료.
  • 산 에디터 : 무료. 1990년대 초반 (당시) 건국대 전산학과 학생인 박규현씨가 제작한 DOS용 그래픽 기반 한글 에디터. 고등학교 1학년때부터 개발했다고 한다. 쉐어웨어였다가 프리웨어로 전환했다. 다운로드는 여기. 박규현씨는 여전히 개발자로 일하는 듯.블로그

3 게임 에디터

3.1 고전적인 의미

에디터 중에서 게임의 저장 정보를 조작하는 것들이 있는데 세이브 파일을 조작하는 방식과, 메모리에 올라온 값을 조작하는 방식이 있다.

게임의 세이브 데이터를 불러와서 내부의 값을 고쳐서 다시 그 데이터를 로드했을 때 원하는 값이 원하는 대로 수정되어 있도록 하는 프로그램이다. 고전게임의 경우 값을 암호화해두는 경우가 극히 드물었으므로, HEX 에디터로 적당히 들쑤시다 보면 쉬운 값 몇 개는 얻어걸리는 정도였기 때문에, 유명하다싶은 게임은 출시 후 2~3달 내로 PC통신 자료실에 에디터가 올라오곤 했다.

고전게임 중에서 암호화로 유명한 게임은 영웅전설시리즈로 당시 게임피아에서 부록으로 줄 당시 에디터 하는 방법을 알려주면서 체크섬을 언급하였던 적이 있다. 이런 경우는 PC통신에 올라온 자료들의 대부분이 암호를 고려 안하고 올라온 자료들이라 악플이 달렸다.

돈을 에디트 한다고 가정하면 다음과 같은 방법을 쓴다.

  1. 현재 200골드의 돈을 가지고 있다면, 세이브 파일을 읽어서 현재의 200(HEX 에디터이므로 16진수로 하여 'C8'씨발)으로 검색하여 나온 위치를 모두 기억해둔다.
  2. 게임 상의 가게에서 물건을 사거나 팔아서, 200의 값을 변경시키고 다시 세이브 한다. 예를 들어 물건을 사서 189골드가 남았다고 가정하자.
  3. 189의 16진수 값인 'BD'로 다시 세이브 파일을 검색하고 위치를 알아본다. 돈 값을 저장해두는 위치가 아닌 다른 값들은 변화가 없을 것이며, 'C8'에서 'BD'로 바뀐 위치를 기억해둔다.
  4. 이상적인 경우라면 한 번에 찾을 수 있다. 대체로 몇 번 더 하다보면 결국 찾을 수 있다.
  5. 해당 위치의 값을 'FF'(=255)로 바꾼다.
  6. 세이브 파일을 읽어들이면 어머나, 소지금이 '255골드'가 되어 있다.
  7. 돈을 펑펑 쓰면서 즐겁게 게임을 한다.
  8.  ???
  9. PROFIT!

단순히 RPG의 돈 같은 간단한 것을 고치는 것에서부터 김용군협전의 에디터와 같이 무공을 송두리째 고치는 것 까지 에디터 개발자가 들인 시간과 노력에 따라 유저는 게임을 멋대로 주무를 수 있었다. 치트키도 드물고 별다른 음지의 방법이 없었던 도스시절엔 거의 유일한 치트방법이었다.

하지만 이 에디터도 세이브 데이터에 들어있지 않은 값은 고칠 수 없다는 한계가 있어 램 상주 프로그램으로 메모리 값을 직접 고치는 게임위저드 같은 프로그램이 나타났다. 컨셉은 좋지만 현실적인 OS 문제 때문에 사용에 제약이 많고 불편했지만 차후 멀티태스킹이 되는 OS인 윈도우가 정착되면서 치트오매틱이나 게임핵 같은 물건들이 점차 대세를 꿰어차게 되었다. 근래에는 에디터 대신 그러한 메모리 훅을 자동으로 해주는 트레이너라는 것들이 주로 쓰이지만 세이브 에디터 역시 쓰이는 곳에서는 쓰인다.

3.2 오늘날의 의미

대부분 시뮬레이션 게임이나 RTS 게임의 설정이나 맵 편집기를 뜻한다.

리에로의 극히 단순한 에디터부터, 본편과는 별개의 게임 체제, 혹은 맵을 불러옴과 동시에 별개의 게임 방식으로 진행됨이 가능한 스타크래프트 2갤럭시 에디터까지 다양한 종류가 존재하며, 게임 대신 이것만 만지작 거리는 사람들도 상당히 많은데, 결과적으로 이들이 해당 게임의 컨텐츠를 늘려주고 수명까지 연장시키기 때문에 이를 잘 알고 있는 해외 개발사들은 발매와 동시에 이러한 에디터들을 동봉 혹은 별도 배포한다.

그리고 개발사가 배포한 에디터보다 유저들이 개조 혹은 새로 만든 에디터가 기능 면에서 더 뛰어난 경우도 꽤 있는데,[4] 스타의 Scmdraft 2도 있고, 코에이 삼국지 시리즈 역시 4편부터 기본 설정 등을 편집 가능한 에디터가 추가되는데, 10편에서 중국의 Van이라는 유저가 만들어 배포한 Van에디터(반에디터)는, 처음 사용법은 다소 까다롭지만 파워업 키트에 탑재된 자체 에디터보다 기능면에서 훨씬 뛰어남이 알려지자 이쪽이 더 애용되는 상황도 있다.

게리 모드 같은 실시간 편집과 플레이가 가능한 샌드박스 류 역시 어찌보면 이러한 것의 연장선상이라 볼 수 있겠다.

3.3 위키에 등제된 에디터 항목들

  1. 서버 로그 파일이라던가 DB를 백업(Dump)받은 파일은 용량이 몇백메가에서 심지어는 기가단위로 오가는 경우가 많다. 리눅스는 서버 돌리는 일이 많기에 이런 초고용량 텍스트 파일을 다룰 일이 빈번해서 그런지 기본제공되는 vi 에디터도 이런 초고용량 텍스트 파일을 지원하지만, 윈도우는 못 읽어들이는 프로그램이 대부분이다.
  2. edit를 실행하면 이걸 설치해야 한다는 창이 나온다.
  3. iOS 앱스토어에 정식 등록된 앱이므로 탈옥은 필요 없으나 다른 앱의 파일을 불러올수 없는 iOS의 특성상 활용성은 떨어진다. 탈옥 없이도 vi를 쓸수 있다는 정도에 만족하도록 하자.
  4. 대부분 본편의 이런저런 기능들이 다 완성되기도 전에 만들어졌거나, 오버플로를 유발해 게임이 정지되는 걸 막고자 특정 요소를 없애버린 걸 사용 가능하게 해둔 게 대부분.