역링크 삭제 이동 era/개발 관련 정보 (r9 편집) 편집기 RAW 편집 미리보기 굵게 기울임 취소선 링크 파일 각주 틀 [[분류:개발 정보]][[분류:era]] [include(틀:주요 문서)] [목차] = 개요 = 본 문서는 [[era]] 기반 게임의 창작이나 수정 등 소위 '개발'에 필요한 정보를 정리하는 것을 목적으로 합니다. 본 문서는 다음과 같은 목적을 달성하는 것을 주요 목표로 합니다. == 문서의 목적 == 1. 개발에 입문하려는 사람들이 필요한 정보를 보다 용이하게 취득할 수 있도록 한다. 1. 개발 과정에서 필요한 정보를 보다 용이하게 정리 및 취득할 수 있도록 한다. 1. 개발 과정에서 생기는 일반적인 궁금증을 해결할 수 있도록 한다. = 문법 및 코딩 기초 = 본 항목에서는 era 개발에 있어 기초적인 정보인 변수, 내장함수 등의 명칭과 정보에 대해 기술한다. * era의 기본 문법, 변수, 함수의 사용과 관련해서는 [[era/문법]] 문서를 참고하면 좋다. * era에서 사용되는 파일의 종류와 관련해서는 [[era#사용 파일 확장자|era 문서의 관련 부분]]을 참고하면 좋다. [[구상]]의 개발에 뜻이 있는 경우, 본 항목의 기초적인 내용을 숙지한 후 [[era/개발 관련 정보#구상 개발 관련|구상 개발 관련 항목]] 를 참고하는 것이 좋다. == 기초 관련 정보글 링크 == * [[https://arca.live/b/textgame/1455876|알기 어려운 에라 베이직]] * [[https://arca.live/b/textgame/18813246|Era 변수 설명]] * [[https://arca.live/b/textgame/18814647|에라 조교 설명 ( 소스, PALAM, 구슬, ABL, TALENT )]] * [[https://arca.live/b/textgame/9916279|갤에 없어서 올리는 Emuera의 CSV 사용법]] * [[https://arca.live/b/textgame/21042395|[MAKE] era 개발하면서 막혔던 오류 + 잡다한 팁 ]] * 요코야마 나오, eraBasic에 도전하다 * [[https://arca.live/b/textgame/29866296|#1 세팅, 헬로월드, 사칙연산]] * [[https://arca.live/b/textgame/29870661|#2 PRINTFORM 명령을 이해하자]] * [[https://arca.live/b/textgame/29899941|#3 제어문 (上)]] * [[https://arca.live/b/textgame/29994040|#4 제어문 (下)]] * [[https://arca.live/b/textgame/30236089|#5 함수]] * Erakanon(Eramaker)[* Emuera의 기원. 현재의 Emuera와 다른 기능이 꽤 있으니 유의.] 레퍼런스 (일어) * [[http://cbaku2.sakura.ne.jp/b/erakanon/eramavar.html|변수]] * [[http://cbaku2.sakura.ne.jp/b/erakanon/eramacsv.html|CSV]] * [[http://cbaku2.sakura.ne.jp/b/erakanon/eramaerc.html|EraBasic 구조]] * [[http://cbaku2.sakura.ne.jp/b/erakanon/eramaerb.html|ERB의 작성]] = 문법 및 코딩 심화 = 본 항목에서는 독자가 기초적인 부분은 어느 정도 숙지했다고 가정하고, 보다 실전적인 내용이거나 세세한 내용을 주로 기술한다. == era의 구동 프로세스 == eramaker 및 [[Emuera]]의 경우, '''BEGIN''' 명령어를 통해 호출할 수 있는 기본적인 페이즈(단계)가 존재한다. 이를 ''ERB 플로우''라 하고, 이것을 도표를 통해 나타낸 것이 ''ERB 플로우차트'' 이다. 이와 관련된 정보는 [[https://github.com/mosochu/EmueraKWiki/wiki/flow|번역된 위키 페이지 (외부 링크)]]에서 볼 수 있다. == 텍스트 정렬 == Emuera 에서 여백을 활용해 특정 출력문을 정렬하고자 할 때에는 해당 문자가 전각/반각인지를 먼저 체크해야 한다. * 한 문장 안에서 특정 변수가 들어갈 여백이 필요한 경우, '''PRINTFORM''' 계열의 문자열 변수 출력에 사용되는 %% 형식에서 여백이 차지할 최소글자수를 지정해 활용할 수 있다. [*예시 %CALLNAME:MASTER, 10%] * 목록화된 텍스트를 정렬하고자 할 경우, '''PRINT''' 계열의 '''C/LC''' (좌정렬/우정렬) 인자를 사용해 정렬할 수 있으며, 이때 최소글자수 값은 config(''_replace.csv'')의 값을 따른다. (초기값 25) * 관련 사례 * [[https://arca.live/b/textgame/18812306|메가텐에서도 본 문제인데 .. ]] - '''STRLENSU''' 를 활용한 여백 처리 * [[https://arca.live/b/textgame/21042395|[MAKE] era 개발하면서 막혔던 오류 + 잡다한 팁 ]] - 팁 7번 항목 참고 == 이미지 출력 == Emuera는 특정 버전부터 html 코드를 활용해 png나 gif, 혹은 Webp 기반 이미지 출력을 지원한다. * [[https://arca.live/b/textgame/7317199|에라 개발팁 이미지 출력]] * [[https://arca.live/b/textgame/22510363|에라 이미지 출력 관련 내용정리 ]] == 최적화 == era는 실제 구현 결과물에 비해 메모리 소모와 로딩 시간이 큰 편으로, 이를 해결하기 위한 다양한 시도가 있어왔다. * [[https://arca.live/b/textgame/9440479|PRINT 구문에서의 메모리 누수 관련]] * [[https://arca.live/b/textgame/9442611|PRINT 심화 과정: 메모리 친화적 구문 작성하기]] * [[https://arca.live/b/textgame/9468253|PRINTL PRINTW에 동시에 대응되는 메모리 절약형 PRINT함수]] * [[https://arca.live/b/textgame/9437660|새로운 대규모 에라 프로젝트를 만드려는 사람들이 반드시 명심해야 할 것]] * [[https://arca.live/b/textgame/46754743|SELECTCASE, IF 구문을 이용한 난수 분기 스트레스 테스트]] == bit 연산 == 이진수 기반의 연산이다. 정수 변수 하나로 여러 플래그를 한 번에 처리 및 체크하거나 하는 등 다양하게 활용할 수 있으나 코드 가독성이 떨어지고, 프로그래밍에 대한 높은 이해도가 요구된다는 단점이 있다. * [[https://arca.live/b/textgame/25705321|erb 비트연산 관련 팁]] == 배열 == 일반적으로 era에서 '''배열'''은 여러 데이터를 저장해놓은 집합을 의미한다. 이 때 저장 방식은 일차원적일수도, 혹은 다차원적일 수도 있다. 간단히 생각해볼 수 있는 예시로, CSV에서 담당하는 FLAG는 일차원 배열[* FLAG:0, FLAG:1... 과 같은 식으로 데이터가 저장됨]이고, CFLAG는 이차원 배열[* CFLAG:캐릭터A:0, CFLAG:캐릭터A:1, CFLAG:캐릭터B:1 과 같이 캐릭터A에 대한 데이터 저장과 캐릭터B에 대한 저장이 같이 이루어짐]이다. * [[https://arca.live/b/textgame/62911207|era의 배열 참조 전달]] * [[era/개발 관련 정보#심화 관련 정보글 링크]]의 ''ARRAYMSORT'' 항목 == [[구상]] 개발 관련 == 구상 개발시 도움이 될 수 있는 정보글을 이곳에 작성한다. 구상에 대한 기본적인 정보 (용어 등)은 [[구상]] 문서 참고. * 구상 개발 관련 가이드 * [[https://arca.live/b/textgame/18812493|구상 쓰는 방법 (mk-2용)]] * 무수한 구상의, 구상에 의한, 구상을 위한 글 : [[https://arca.live/b/textgame/18814664|#1]] [[https://arca.live/b/textgame/18814674|#2]] * 제로부터 시작하는 TW 구상 번역 * [[https://arca.live/b/textgame/9097574|#재료 밑준비]] * [[https://arca.live/b/textgame/9099624|#구상 번역의 기초 + 조사처리]] * 구상의 번역 * [[https://arca.live/b/textgame/18851331|원숭이도 따라할 수 있는 구상 번역하기]] * [[https://arca.live/b/textgame/18850423|툴을 이용한 한국판 구상 일본 최신판에 붙여넣기 실전편]] * [[https://arca.live/b/textgame/18816454|구상 번역, 추가하는 갤럼들을 위한 소소한 팁]] * [[https://arca.live/b/textgame/18844571|번역러를 위한 구상 용량 가늠하는 방법]] * 구상의 추가(가필) * 맨땅에서 배운 구상추가법 * [[https://arca.live/b/textgame/9287721|#PRINT문 + {} 추가]] * [[https://arca.live/b/textgame/9330619|#IF문]] * [[https://arca.live/b/textgame/9472189|#RAND문]] * 구상을 만들기 위해 알아야 할 것 * [[https://arca.live/b/textgame/9317388|#문자열]] * [[https://arca.live/b/textgame/9478782|#흐름 제어문(1)-분기]] * [[https://arca.live/b/textgame/9499766|#정규 표현식]] * 구상의 제작(창작) * [[https://arca.live/b/textgame/18816797|구상을 처음 써보는 코알못들을 위한 뒤틀린 구상쓰기 가이드]] * [[https://arca.live/b/textgame/18815228|구상 쓰는 방법]] * [[https://arca.live/b/textgame/45543911|치르노도 할 수 있는 TW구상 작성법(쉽다)]] * 공통 * [[https://arca.live/b/textgame/18838065|구상 제작자들을 위한 팁: PRINTDATA]] * [[https://arca.live/b/textgame/25325185|SELECTCASE 지문 어쩌고 저쩌고]] - 구상 분기 작성시 일반론 * [[https://arca.live/b/textgame/26648562|era 문자열 끊어서 말줄임표 섞기 만들었다 (수정-최종-final) ]] * [[https://arca.live/b/textgame/28586847|대충 짜본 EraBasic - 중복 대사 방지]] * [[https://arca.live/b/textgame/47599771|era 문자열 문자 사이마다 문자 끼워넣기 ]] * [[https://arca.live/b/textgame/60258933|Emuera에서 PRINTFORM이랑 PRINT 자세하게 설명]] === [[조사처리]] 함수 '''ZNAME''' === [[eratohoYM]]KR, [[eratohoTW]]KR 등에 포함된 '''ZNAME.ERB''' 및 '''ZNAME.ERH'''을 기반으로 작동하는 [[조사처리]] 함수이다. * [[https://arca.live/b/textgame/8142874|구상에서 조사처리는 왜 해야 하는거지?]] - 댓글란 참고 * [[https://arca.live/b/textgame/21533225|[메가텐]구상번역용 조사처리 설명서(스압주의) ]] * [[https://arca.live/b/textgame/21936842|숫자의 조사처리와 에러]] == 심화 관련 정보글 링크 == * [[https://arca.live/b/textgame/23868812|emuera 내장함수 뽑아왔다]] * 단발정보 * [[https://arca.live/b/textgame/9312404|#TINPUT]] * [[https://arca.live/b/textgame/9312478|#색상설정]] - SETCOLOR * [[https://arca.live/b/textgame/9705630|#ARRAYMSORT]] * [[https://arca.live/b/textgame/23867440?p=1|#DEBUGPRINTFORML]] * [[https://arca.live/b/textgame/8914391|/// 문제 원인 찾았다. (eramaker 내부사양) ]] * 문과도 하는 에라 개발 시리즈 * [[https://arca.live/b/textgame/51768232|#에라 개발 시작하기]] * [[https://arca.live/b/textgame/51770921|#Csv, 프린트 명령어로 스테이터스 만들기]] * [[https://arca.live/b/textgame/51832755|#커맨드 표시 및 커맨드 실행 (외전_캐릭터 추가)]] * [[https://arca.live/b/textgame/52163059|#캐릭터 번호에 관한 부차설명 및 식중함수 입문]] * 번외 : [[https://arca.live/b/textgame/52488475|#맵만들기 1편]] * 알고리즘/자작 함수 관련 * [[https://arca.live/b/textgame/27921368|era) 길 탐색 대충 만든 것 같음]] - 너비 기반 탐색 알고리즘 * [[https://arca.live/b/textgame/29972877|era 컬러코드 혼합 함수]] * [[https://arca.live/b/textgame/63039603|길찾기(다익스트라) 알고리즘 ]] * [[https://arca.live/b/textgame/86253105|에라로 직선 그리기 원 그리기]] = 개발 관련 프로그램 = 본 항목에서는 era를 개발하는 데 활용되는 프로그램들에 대해 다룬다. == Eragen == 일본에서 만들어진 구상 에디터로, 만들어진지 좀 된 에라[* [[eratohoYM]] 같은 에라]/구상의 경우 해당 에디터를 통해 작성된 경우가 있다. 인코딩 문제 + 번역 문제로 실제로 구상을 작성하는 데 사용하기에는 애매하다. * [[https://arca.live/b/textgame/22471478|원본]] * [[https://arca.live/b/textgame/22557649|Eragen 인코딩 개조판 - 정상작동 미확인]] == btec_era == 한국에서 만들어진 텍스트 인코딩 일괄 변환기로, 특정 폴더 내에서 지정한 확장자(csv, erb, erh 등)의 텍스트 파일의 인코딩을 일괄변환한다. * [[https://arca.live/b/textgame/11192242|btec era]] * [[https://arca.live/b/textgame/18827627|Btec + ezTrans 개조판]] == UpdateEra == 한국에서 만들어진 번역 도움 툴로, 원문 텍스트 - 번역 텍스트 간 사전에 해당하는 ''.srs'' 파일과 구동 설정 파일인 config 파일을 이용해 작동한다. * [[https://github.com/SecretU4/UpdateEra|UpdateEra Github]]: src 파일 대리 업로드 * UpdateEra 완전정복 * [[https://arca.live/b/textgame/23544466|#1[UpdateEra 소개와 기능설명] ]] * [[https://arca.live/b/textgame/23553390|#2[텍스트 검색-치환 기능] ]] * [[https://arca.live/b/textgame/23594019|#3[버전 업데이트 기능] ]] == EZworkEra == 한국에서 만들어진 번역/개발 도움 툴로, UpdateEra에서 사용되는 `srs` 파일의 작성이나 인코딩/이미지 포맷 일괄 변환 (convert_helper), 일판 구상 한판 이식 지원 (krjp_simple_converter) 등의 기능이 있다. 자세한 사항은 리드미나 [[https://github.com/SecretU4/EZworkEra/wiki|EZworkEra 위키]]을 참고하면 좋다. * [[https://github.com/SecretU4/EZworkEra|EZworkEra Github]] * [[https://arca.live/b/textgame/9378456|UpdateEra/EZworkEra 간단 사용법]] * 스탠드얼론 툴 - convert_helper, krjp_simple_converter * [[https://arca.live/b/textgame/18850195|EZworkEra v3.6.1 + convert_helper 릴리즈 안내]] - 구버전 convert_helper * [[https://arca.live/b/textgame/18850423|툴을 이용한 한국판 구상 일본 최신판에 붙여넣기 실전편]] - krjp_simple_converter == Visual Studio Code == VS code 등의 이름으로 불리며, Visual Studio의 경량화 텍스트 에디터 버전이다. 확장기능을 통해 다양한 편의기능을 활용할 수 있어 개발시 텍스트 편집용으로 주로 사용된다. * [[https://arca.live/b/textgame/18836474|비주얼 스튜디오 코드 확장기능 중 에라 관련]] == git == 버전 관리 소프트웨어로, 자세한 사항은 나무위키의 [[https://namu.wiki/w/git|해당 문서]]를 참고하라. 관련 정보글에 대해선 [[텍스트게임 채널 정보글모음#git|정보글모음의 해당 부분]]을 참고. = 관련 정보 링크 모음 = == 관련 사이트 == * [[https://arca.live/b/textgame/10412567|[MAKE] era 초보 개발자,제작자 참고용 링크(중복링크 존재)]] * [[https://ko.osdn.net/projects/emuera/wiki/FrontPage|Emuera 공식 위키 (일어)]] * [[https://github.com/mosochu/EmueraKWiki/wiki|Emuera 위키 (github 번역버전)]] * [[https://arca.live/b/textgame/18827055|개발자용 에라 전용명령어/메서드/함수 등등 위키 (위키 참조법)]] * [[https://wiki.eragames.rip/index.php/Emuera|Emuera 영문 위키 - era-games]] * [[https://gitgud.io/era-games|eragames 계열 git 레포지토리 모음]] * 텍스트게임 채널의 [[https://arca.live/b/textgame?category=코딩|코딩 탭]] 변경 사항 요약 약관 동의 문서 편집을 저장하면 당신은 기여한 내용을 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제으로 배포하고 기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다. 이 동의는 철회할 수 없습니다. 문서를 하면 문서의 편집 역사에 (3.145.156.204)가 기록되며 이에 . 저장