SlideShare una empresa de Scribd logo
1 de 69
DevRookie
요술같은솜씨
1. 피니 엔진
2. 피니 엔진의 특징
3. 프로젝트
4. Lnx 스크립트
5. 기본문법 / 사용 예시
6. 참고자료
7. Q & A
목차
국내 동인게임 발전을 장려하기 위해 제작의 편의성을 중심으로 개발
ㅇㅇㄹㄴㅇㄹㅇㄴㅌ
국내 동인게임 발전을 장려하기 위해 제작의 편의성을 중심으로 개발
피니엔진은 비주얼 노벨 게임 제작에 특화된 게임엔진
무료게임 제작과 상용게임 제작 모두 무료로 엔진사용 가능
피니엔진의 특징
뛰어난 스크립팅 환경,
흐름 제어와 기본적인 변수 사칙연산 등이 가능
명령어가 모두 한글로 되어있어 작성이 쉽고 가독성이 높다
스크립트의 가독성을 위해 예약어 하이라이팅을 지원
코드 하이라이팅
스크립트 편집 중에 미리 스크립트 문법에 맞지 않는 부분
실시간으로 표시
에러표시
명령어 자동완성 기능 지원
스크립트 작성하는 동안에 게임화면 미리 확인 가능
명령어 자동완성 & 스크립팅 중 미리보기
https://www.youtube.com/watch?v=bcdyZaMG2xM
피니엔진에 내장된 툴을 이용하여 파티클을 디자인 할 수 있다.
눈이나 비 등의 다양한 효과를 보여줄 수 있다.
파티클 시스템
프로토 타입 제작 신속 가능, 기본 무료 리소스 상용으로 이용 가능
무료 샘플 리소스 제공(배경)
리소스 라이브러리
리소스 라이브러리
- 학교테마 완료, 가정집 제작중
- 같은 구도에서 시간대별로 4개 타입
배경음악(30여종)
- 1종당 3~4개의 버전
- 오케스트라, 팝, 메탈, 재즈 등
효과음(50여종)
- 환경음, 실제음, 가공음 등
무료 샘플 리소스 제공(사운드)
Lua 스크립트를 이용하여 게임을 확장 할 수 있다.
공식, 커뮤니티 사이트를 이용하여 지속적인 플러그인 제공 예정
Lua 스크립트 확장
유니코드 지원을 통해서 다양한 국가의 문자를 출력 가능
다국어 지원
제작환경 - Windows, Mac
배포환경 - Windows, Android (iOS, Web 지원예정)
멀티 플랫폼
DONEDONE
서버유지, iOS 개발환경, 애플 개발자 등록비용, 게임 제작업,
게임 배급업 등의 허가 등록 신고, 게임물 등급 위원회 심의 등
채널링 서비스 지원
- 간단 회원 가입을 통한 기기 인증
- 새로운 업데이트가 올라오면
해당기기가 맞는지 파악, 업데이트
- 온라인 상태일 때에만 자동 체크
- 인증되지 않은 기기에서 플레이 시
DB에 기록 및 컨텐츠 삭제
- 오프라인 상태일 경우 암호화된
데이터를 풀기 위한 비밀번호 입력 요청함
보안 – Mobile OS(퍼블리싱)
게임 앱
CDN에서 컨텐츠 다운로드
인증서버 (온라인
상태일 때 만)
개발자 추가 업데이트
암호화데이터
- PC도 모바일과 동일
- PC 특수상황에 대한 고려 필요
- 개발자 웹페이지에서 크랙의심 ip 등 수집된 데이터를 열람 가능
(관련 법에 따라 수정 될 수 있음)
- 법적 조치가 필요 할 시 Nooslab과 계약된 법무법인과
커뮤니케이션 할 수 있는 창구 제공
보안 – PC 및 기타(퍼블리싱)
현재는 지원 하지 않음, 차후 업데이트에 지원 계획
Live2D
피니엔진 프로젝트
냥바구니
https://www.youtube.com/watch?v=Xwt1n_HhuO8
우산으로 빛을 모은다면
https://www.youtube.com/watch?v=iMK7jdrMP3Y
수호령의 올바른 사용방법 SS2
https://www.youtube.com/watch?v=4TYLuM1n6kg
Lnx 스크립트
Lnx 스크립트
프로그래밍 경험없는 사람도 사용가능 하도록 하는것이 목표
현재는 한국어만 지원 (영어, 일본어, 중국어 지원 계획 중)
기본문법
프리뷰 코드뷰
리소스뷰
기본 화면
주석
# 으로 시작하며 해당 줄에서 # 뒤에 오는 코드는 실행 무시
변수
- 변수는 최대한 단순한 언어를 위해 모두 전역 변수로 작동한다.
- 숫자로 시작할 수 없다
- @, #, +, -, *, / 등 Lnx 스크립트에서 사용되는 특수문자
사용불가
저장변수
- 일반변수와 달리 프로그램이 종료되어도 값이 계속 유지되는 변수
- 변수명 앞에 $ 붙여서 사용 ($a 와 a는 다른 변수)
연산자
대입연산자 : 변수에 값을 넣는 단순한 행위(할당)
사칙연산자 : 숫자가 대입된 변수에 한하여 사칙연산 가능
- 문자열일 경우에는 새로운 문자열을 얻음(수변환으로 계산 가능)
- 예) 정수 연산, 소수연산, 수변환
비교연산자
- 변수를 서로 비교하기 위해 쓰이는 연산자
- 대부분 제어문의 조건식 부분에 쓰임
- 결과는 0 또는 1(False-0 / True-1)
논리연산
- 참과 거짓으로 하는 연산
- Lnx 스크립트에는 논리연산자가 없으므로 사칙,비교연산자로 구현
제어문 - 조건문
- Tab 으로 영역 구분한다
제어문 - 조건문
제어문 - 북마크
- 특정한 실행지점으로 이동할 수 있다. (goto문과 유사)
제어문 - 북마크
- 잘못 사용하면 무한 루프가 발생 할 수 있다.
매크로
- 여러 명령들을 묶어 놓은 것
- 기존 프로그래밍의 함수와 유사 합니다.
매크로 호출
- 매크로의 이름을 대괄호로 묶고 부가적인 매개변수를
전달해 주어야 한다
- 매크로마다 필수적으로 넣어주어야 하는 매개변수와
생략해도 되는 매개변수가 있으므로 매뉴얼을 잘 숙지해야한다.
매크로의 특징
- 인자변수
- 호출시 매개변수의 순서
- 기본값 변경
인자변수
- 매크로를 실행하기 전에 미리 매개변수 값을 지정할 수 있다.
- Lnx 스크립트에서 매개변수와 구분하기 위해 인자변수라 부름
- [ 매크로명.매개변수명 = 값 ] 형태로 미리 값을 대입
호출시 매개변수의 순서
- 호출시 순서에는 영향을 받지 않는다.
기본값 변경
- 매개변수 생략시 기본으로 지정되는 값을 원하는 값으로 변경 가능
매크로 나가기
- 매크로를 실행하던 중에 나가고 싶다면 @돌아가기 키워드를 사용
- 기존 프로그래밍의 return 과 유사 하다.
대사줄
- 대사를 화면에 표기하기 위해 사용하는 인자
텍스트 마크업
- 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를
출력 할 수 있다.
텍스트 마크업
- 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를
출력 할 수 있다.
텍스트 마크업
- 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를
출력 할 수 있다.
텍스트 마크업
- 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를
출력 할 수 있다.
텍스트 마크업
- 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를
출력 할 수 있다.
텍스트 마크업
- 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를
출력 할 수 있다.
텍스트 마크업
- 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를
출력 할 수 있다.
텍스트 마크업
- 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를
출력 할 수 있다.
사용자 정의 매크로
- 피니 엔진이 제공하는 매크로외에 직접 매크로를 만들어서
사용할 수 있다.
사용 예시
이미지 표시
이미지 표시
이미지 표시
참고자료
공식 홈페이지 – http://www.piniengine.com
공식 가이드 문서 – http://nooslab.com/piniengine/wiki
아르테미스 엔진 – http://www.ies-net.com/
네코노벨 엔진 – http://cafe.naver.com/kernyslab
엔진별 비주얼노벨 장단점
http://m.blog.naver.com/donham95/206365337
피니엔진 개념잡기(권마인드님)
http://zpdl92.tistory.com/127
Q & A
감사합니다

Más contenido relacionado

La actualidad más candente

쉽게 쓰여진 Django
쉽게 쓰여진 Django쉽게 쓰여진 Django
쉽게 쓰여진 DjangoTaehoon Kim
 
Service Worker 101 (한국어)
Service Worker 101 (한국어)Service Worker 101 (한국어)
Service Worker 101 (한국어)Chang W. Doh
 
Go revel 구성_루팅_정리
Go revel 구성_루팅_정리Go revel 구성_루팅_정리
Go revel 구성_루팅_정리라한사 아
 
Golang 개발 환경(profile) 다르게 잡아주기
Golang 개발 환경(profile) 다르게 잡아주기Golang 개발 환경(profile) 다르게 잡아주기
Golang 개발 환경(profile) 다르게 잡아주기라한사 아
 
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)Seungmo Koo
 
NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!
NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!
NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!영호 김
 
PHP 와 MySQL을 이용한 게임 랭킹 구축하기
PHP 와 MySQL을 이용한 게임 랭킹 구축하기PHP 와 MySQL을 이용한 게임 랭킹 구축하기
PHP 와 MySQL을 이용한 게임 랭킹 구축하기Yo-Chang Song
 
PHPStorm - tool for php
PHPStorm - tool for phpPHPStorm - tool for php
PHPStorm - tool for phpSungbum Hong
 
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발흥배 최
 
Python Recipes for django girls seoul
Python Recipes for django girls seoulPython Recipes for django girls seoul
Python Recipes for django girls seoulJoeun Park
 
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017devCAT Studio, NEXON
 
[0618구경원]초보 게임프로그래머를 위한 c++
[0618구경원]초보 게임프로그래머를 위한 c++[0618구경원]초보 게임프로그래머를 위한 c++
[0618구경원]초보 게임프로그래머를 위한 c++KyeongWon Koo
 
[발표] 멜팅팟 서버 사이드 레벨에서 자바 스크립트 엔진 Node.js의 가능...
[발표] 멜팅팟 서버 사이드 레벨에서 자바 스크립트 엔진 Node.js의 가능...[발표] 멜팅팟 서버 사이드 레벨에서 자바 스크립트 엔진 Node.js의 가능...
[발표] 멜팅팟 서버 사이드 레벨에서 자바 스크립트 엔진 Node.js의 가능...Dennis Kim
 
Valet 으로 windows php 개발 환경 구성하기
Valet 으로 windows php 개발 환경 구성하기Valet 으로 windows php 개발 환경 구성하기
Valet 으로 windows php 개발 환경 구성하기KwangSeob Jeong
 
Phpstorm remote xdebug setting
Phpstorm remote xdebug settingPhpstorm remote xdebug setting
Phpstorm remote xdebug settingJung soo Ahn
 
PHP로 Slack Bot 만들기
PHP로 Slack Bot 만들기PHP로 Slack Bot 만들기
PHP로 Slack Bot 만들기Changwan Jun
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기) YoungSu Son
 
동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO 동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO 라한사 아
 
게임서버프로그래밍 #7 - 패킷핸들링 및 암호화
게임서버프로그래밍 #7 - 패킷핸들링 및 암호화게임서버프로그래밍 #7 - 패킷핸들링 및 암호화
게임서버프로그래밍 #7 - 패킷핸들링 및 암호화Seungmo Koo
 
이승재, 실시간 HTTP 양방향 통신, NDC2012
이승재, 실시간 HTTP 양방향 통신, NDC2012이승재, 실시간 HTTP 양방향 통신, NDC2012
이승재, 실시간 HTTP 양방향 통신, NDC2012devCAT Studio, NEXON
 

La actualidad más candente (20)

쉽게 쓰여진 Django
쉽게 쓰여진 Django쉽게 쓰여진 Django
쉽게 쓰여진 Django
 
Service Worker 101 (한국어)
Service Worker 101 (한국어)Service Worker 101 (한국어)
Service Worker 101 (한국어)
 
Go revel 구성_루팅_정리
Go revel 구성_루팅_정리Go revel 구성_루팅_정리
Go revel 구성_루팅_정리
 
Golang 개발 환경(profile) 다르게 잡아주기
Golang 개발 환경(profile) 다르게 잡아주기Golang 개발 환경(profile) 다르게 잡아주기
Golang 개발 환경(profile) 다르게 잡아주기
 
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
 
NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!
NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!
NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!
 
PHP 와 MySQL을 이용한 게임 랭킹 구축하기
PHP 와 MySQL을 이용한 게임 랭킹 구축하기PHP 와 MySQL을 이용한 게임 랭킹 구축하기
PHP 와 MySQL을 이용한 게임 랭킹 구축하기
 
PHPStorm - tool for php
PHPStorm - tool for phpPHPStorm - tool for php
PHPStorm - tool for php
 
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
 
Python Recipes for django girls seoul
Python Recipes for django girls seoulPython Recipes for django girls seoul
Python Recipes for django girls seoul
 
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
 
[0618구경원]초보 게임프로그래머를 위한 c++
[0618구경원]초보 게임프로그래머를 위한 c++[0618구경원]초보 게임프로그래머를 위한 c++
[0618구경원]초보 게임프로그래머를 위한 c++
 
[발표] 멜팅팟 서버 사이드 레벨에서 자바 스크립트 엔진 Node.js의 가능...
[발표] 멜팅팟 서버 사이드 레벨에서 자바 스크립트 엔진 Node.js의 가능...[발표] 멜팅팟 서버 사이드 레벨에서 자바 스크립트 엔진 Node.js의 가능...
[발표] 멜팅팟 서버 사이드 레벨에서 자바 스크립트 엔진 Node.js의 가능...
 
Valet 으로 windows php 개발 환경 구성하기
Valet 으로 windows php 개발 환경 구성하기Valet 으로 windows php 개발 환경 구성하기
Valet 으로 windows php 개발 환경 구성하기
 
Phpstorm remote xdebug setting
Phpstorm remote xdebug settingPhpstorm remote xdebug setting
Phpstorm remote xdebug setting
 
PHP로 Slack Bot 만들기
PHP로 Slack Bot 만들기PHP로 Slack Bot 만들기
PHP로 Slack Bot 만들기
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
 
동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO 동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO
 
게임서버프로그래밍 #7 - 패킷핸들링 및 암호화
게임서버프로그래밍 #7 - 패킷핸들링 및 암호화게임서버프로그래밍 #7 - 패킷핸들링 및 암호화
게임서버프로그래밍 #7 - 패킷핸들링 및 암호화
 
이승재, 실시간 HTTP 양방향 통신, NDC2012
이승재, 실시간 HTTP 양방향 통신, NDC2012이승재, 실시간 HTTP 양방향 통신, NDC2012
이승재, 실시간 HTTP 양방향 통신, NDC2012
 

Similar a 피니엔진

XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXpressEngine
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨KwangSeob Jeong
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자Sewon Ann
 
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트iFunFactory Inc.
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER Engineering
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기KwangSeob Jeong
 
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018devCAT Studio, NEXON
 
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기Jaeseung Ha
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdfSeung kyoo Park
 
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기Jaeseung Ha
 
셸 스크립트를 이용한 클라우드 시스템 운영
셸 스크립트를 이용한 클라우드 시스템 운영셸 스크립트를 이용한 클라우드 시스템 운영
셸 스크립트를 이용한 클라우드 시스템 운영Nalee Jang
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012devCAT Studio, NEXON
 
프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 jeong seok yang
 
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드Jeongsang Baek
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기Chanwoong Kim
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine LearningJEEHYUN PAIK
 
Internship backend
Internship backendInternship backend
Internship backendYein Sim
 
Hoodpub 기술 발표
Hoodpub 기술 발표Hoodpub 기술 발표
Hoodpub 기술 발표Hyun-min Choi
 

Similar a 피니엔진 (20)

XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자
 
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
 
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
 
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf
 
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
 
셸 스크립트를 이용한 클라우드 시스템 운영
셸 스크립트를 이용한 클라우드 시스템 운영셸 스크립트를 이용한 클라우드 시스템 운영
셸 스크립트를 이용한 클라우드 시스템 운영
 
Node.js in Flitto
Node.js in FlittoNode.js in Flitto
Node.js in Flitto
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
 
프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트
 
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine Learning
 
Internship backend
Internship backendInternship backend
Internship backend
 
Hoodpub 기술 발표
Hoodpub 기술 발표Hoodpub 기술 발표
Hoodpub 기술 발표
 

피니엔진

Notas del editor

  1. ■NOOSLAB ◆모바일게임 개발사 롱캣, 쉽팜 인 슈가랜드 ■ 엔진 제작 배경 ◆국내 동인팀이 사용 가능한 엔진 아르테미스 / 렌파이 / 네코노벨
  2. 아르테미스 엔진(일본) 장점 1. 멀티플랫폼 지원 2. 부드러운 텍스트 출력 효과 3. 풍부한 스크립트 가능 4. 최적화 5. 유니코드 단점 1. 완벽한 무료엔진이 아니다. 기업, 개인, 법인사업자면 게임 총 수익의 몇%를 개발자에 지급해야한다 동인이나 개인이면 상업적으로 이용해도 무료 2. 엔진을 구하기 힘들다 사이트에서 직접 엔진을 다운로드 할 수 없으며, 개발자와 메일로 직접 주고받아야 받을수있다. 3. 암호화가 잘 되어 있다. 네트워크 리소스로만 게임 배포 가능 대용량 게임을 만들기에는 좋지만, 개인서버가 없는 사람에겐 치명적인 단점 4. 초반 개발환경 설정의 어려움 5. 언어의 장벽
  3. 간단하게 스크립트를 써내려가는 것 만으로 쉽게 비주얼 노벨(사운드 노벨)류의 게임제작이 가능 이후 추가될 플러그인을 통해서 다양한 장르의 게임으로 확장도 가능하게 할 예정
  4. 뛰어난 스크립팅 환경, 흐름 제어와 기본적인 변수 사칙연산 등 이 가능
  5. 파티클을 이용하여 눈이나 비 등의 다양한 효과를 보여줄 수 있습니다.
  6. 학교테마 완료, 가정집 제작 중. 같은 구도 에서 시간대별로 4개 타입
  7. ■그래픽 ◆배경→자주 쓰이는 것 위주로 제공 ◆캐릭터 툴(미정) ◆리소스마켓 연동(미정)
  8. Lnx 스크립트는 피니엔진에서 사용되는 스크립트 언어입니다. Lnx 스크립트는 국가별 모국어를 사용함으로써 프로그래밍 경험이 없는 사람도 사용가능 하도록 하는 것을 목표로 하고 있습니다. 위 와 같은 형식으로 프로그래밍이 가능 현재는 '한국어'를 지원하고 있으며, '일본어','중국어','영어' 지원 계획 중에 있습니다.
  9. Lnx 스크립트의 제어문에는 조건문과 북마크가 있다. (현재 반복문은 지원 하지 않습니다.) 조건문 @조건 조건식 : 실행할 코드들...A @다른조건 조건식 : 실행할 코드들...B @그외: 실행할 코드들...C 실행할 코드들 부분이 위에 작성된 조건문 보다 TAB으로 한번 더 들여쓰기 되어야 한다. @다른조건과 @그외는 생략이 가능하며 @다른조건이 여러번 나오는것 또한 가능합니다. 조건문 사용 예시 공식홈 첨부
  10. Lnx 스크립트의 제어문에는 조건문과 북마크가 있다. (현재 반복문은 지원 하지 않습니다.)
  11. 북마크 북마크를 실행하면 특정한 실행지점으로 이동할 수 있습니다. 이 기능을 작동하려면 1. 북마크 위치를 지정하는 코드와 2. 이곳으로 보내는 코드가 필요합니다. 기존프로그래밍 언어의 goto 문에 가까운 기능입니다. 위치 지정 하려면 :북마크이름 라고 작성합니다. 지정한 북마크로 현재 실행시점을 이동시키고 싶으면 >북마크이름 라고 작성합니다. 북마크 사용 예시 공식문서 참조 프로젝트로도 사용.
  12. 북마크 북마크를 실행하면 특정한 실행지점으로 이동할 수 있습니다. 이 기능을 작동하려면 1. 북마크 위치를 지정하는 코드와 2. 이곳으로 보내는 코드가 필요합니다. 기존프로그래밍 언어의 goto 문에 가까운 기능입니다. 위치 지정 하려면 :북마크이름 라고 작성합니다. 지정한 북마크로 현재 실행시점을 이동시키고 싶으면 >북마크이름 라고 작성합니다. 북마크 사용 예시 공식문서 참조 프로젝트로도 사용.
  13. 매크로 여러 명령들을 묶어 놓은 것 반복적으로 쓰이는 여러줄의 스크립트가 있을경우 이를 매크로를 사용하여 묶은 후 호출한다면 스크립트를 편리하고 깔끔하게 유지가 가능 기존 프로그래밍의 함수와 유사합니다.
  14. 매크로 여러 명령들을 묶어 놓은 것 반복적으로 쓰이는 여러줄의 스크립트가 있을경우 이를 매크로를 사용하여 묶은 후 호출한다면 스크립트를 편리하고 깔끔하게 유지가 가능 기존 프로그래밍의 함수와 유사합니다.
  15. 인자변수 매크로를 실행하기 전에, 미리 매개변수 값을 지정 할 수 있습니다. LNX 스크립트에서는 이것 매개변수와 구분하기 위해 인자변수 라고 부르고 있습니다. 매크로명.매개변수명 = 값 위와 같은 형태로 미리 값을 대입해 둘 수 있습니다.
  16. 호출시 매개변수의 순서 순서는 상관이 없다. 공식문서 예시 이미지 첨부
  17. 기본 값 변경 모든 매크로는 매개변수 생략시 기본으로 지정되는 값을 개발자가 원하는 값으로 바꿀 수 있습니다. 기본값 매크로를 이용해서 바꿀 수 있습니다. 공식 문서 이미지 첨부 추가) 기본값 매크로란? 정의 [기본값 매크로명=함수목록 인자명=문자열 값=문자열] 매크로의 매개변수의 기본값을 정합니다. 매개변수 표 첨부(공식문서) 예제 공식문서 첨부
  18. 매크로 나가기(return) 매크로를 실행하던 중에 나가고 싶다면 @돌아가기 키워드를 이용 할 수 있습니다. 또한 이 @돌아가기 기능을 이용해서 매크로의 실행결과로서 값을 전달 하는 것도 가능합니다 공식문서 이미지 첨부
  19. 대사줄 대사줄은 대화나 독백으로 대사를 화면에 표기하기 위해 사용하는 인자입니다. 대사줄은 매크로의 어디에서나 세미콜론으로 시작하는 줄로 표기합니다. 아래 '집나간 멍구' 에서 사용딘 독백 매크로 및 대사줄을 보시면, 대사줄을 통해 대사를 화면에 출력하는 것을 볼 수 있습니다. 대사줄을 사용하기 전에, 대화 매크로나 독백 매크로를 사용하여, 대사줄의 형식을 변경할 수 있습니다 공식문서 이미지 첨부
  20. 텍스트 마크업 대사줄에서는 텍스트 마크업 기능을 사용할 수 있습니다. 텍스트 마크업 기능을 사용하면 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를 출력할 수 있게 됩니다. 색상 색상 마크업을 사용하여 대사의 색상을 지정해 줄 수 있습니다. 아래와 같이 <색상 Red Green Blue> 와 </색상> 사이에 특정 색으로 지정하고 싶은 대사 를 입력주시면 됩니다. 클릭 대사 중간에 <클릭> 마크업를 만나게 되면 클릭대기 매크로 와 같이 클릭을 할 때까지 대기하게 됩니다. 아래 코드와 같이 <클릭> 을 단독으로 써주시면 됩니다. 크기 <크기> 마크업을 사용하여 대사 글씨의 크기를 지정할 수 있습니다. 크기 마크업를 사용한 시점부터 지정된 크기로 글씨의 크기가 유지되게 됩니다. 아래 코드와 같이 <크기 숫자> 를 써주시면 됩니다. 공백 <공백> 마크업을 사용하면 대사 중간에 공백을 줄 수 있습니다. 아래 코드와 같이 <공백 숫자> 를 단독으로 써주시면 됩니다. 자간 <자간> 마크업을 사용하면 대사들의 자간을 지정할 수 있습니다. 자간이란 글자와 글자 사이의 간격을 뜻합니다. 아래 코드와 같이 <자간 숫자> 를 단독으로 써주시면 됩니다. 행간 행간 마크업을 사용하면 대사들의 행간을 지정할 수 있습니다. 행간이란 줄과 줄 사이의 간격을 뜻합니다. 아래 코드와 같이 <행간 숫자> 를 써주시면 됩니다. 연결 연결 마크업을 사용하면 북마크를 이용하여 선택지를 만들수 있습니다. 아래와 같이 <연결 북마크이름> 을 단독으로 사용하면 됩니다. 물론 독백 매크로 와 대화 매크로 에서 둘 다 사용 가능합니다. 변수 변수 마크업을 사용하면 대사 중간에 변수를 출력해 줄 수 있습니다. 아래 코드와 같이 <=변수이름> 같은 형식을 써주시면 됩니다.
  21. 텍스트 마크업 대사줄에서는 텍스트 마크업 기능을 사용할 수 있습니다. 텍스트 마크업 기능을 사용하면 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를 출력할 수 있게 됩니다. 색상 색상 마크업을 사용하여 대사의 색상을 지정해 줄 수 있습니다. 아래와 같이 <색상 Red Green Blue> 와 </색상> 사이에 특정 색으로 지정하고 싶은 대사 를 입력주시면 됩니다. 클릭 대사 중간에 <클릭> 마크업를 만나게 되면 클릭대기 매크로 와 같이 클릭을 할 때까지 대기하게 됩니다. 아래 코드와 같이 <클릭> 을 단독으로 써주시면 됩니다. 크기 <크기> 마크업을 사용하여 대사 글씨의 크기를 지정할 수 있습니다. 크기 마크업를 사용한 시점부터 지정된 크기로 글씨의 크기가 유지되게 됩니다. 아래 코드와 같이 <크기 숫자> 를 써주시면 됩니다. 공백 <공백> 마크업을 사용하면 대사 중간에 공백을 줄 수 있습니다. 아래 코드와 같이 <공백 숫자> 를 단독으로 써주시면 됩니다. 자간 <자간> 마크업을 사용하면 대사들의 자간을 지정할 수 있습니다. 자간이란 글자와 글자 사이의 간격을 뜻합니다. 아래 코드와 같이 <자간 숫자> 를 단독으로 써주시면 됩니다. 행간 행간 마크업을 사용하면 대사들의 행간을 지정할 수 있습니다. 행간이란 줄과 줄 사이의 간격을 뜻합니다. 아래 코드와 같이 <행간 숫자> 를 써주시면 됩니다. 연결 연결 마크업을 사용하면 북마크를 이용하여 선택지를 만들수 있습니다. 아래와 같이 <연결 북마크이름> 을 단독으로 사용하면 됩니다. 물론 독백 매크로 와 대화 매크로 에서 둘 다 사용 가능합니다. 변수 변수 마크업을 사용하면 대사 중간에 변수를 출력해 줄 수 있습니다. 아래 코드와 같이 <=변수이름> 같은 형식을 써주시면 됩니다.
  22. 텍스트 마크업 대사줄에서는 텍스트 마크업 기능을 사용할 수 있습니다. 텍스트 마크업 기능을 사용하면 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를 출력할 수 있게 됩니다. 색상 색상 마크업을 사용하여 대사의 색상을 지정해 줄 수 있습니다. 아래와 같이 <색상 Red Green Blue> 와 </색상> 사이에 특정 색으로 지정하고 싶은 대사 를 입력주시면 됩니다. 클릭 대사 중간에 <클릭> 마크업를 만나게 되면 클릭대기 매크로 와 같이 클릭을 할 때까지 대기하게 됩니다. 아래 코드와 같이 <클릭> 을 단독으로 써주시면 됩니다. 크기 <크기> 마크업을 사용하여 대사 글씨의 크기를 지정할 수 있습니다. 크기 마크업를 사용한 시점부터 지정된 크기로 글씨의 크기가 유지되게 됩니다. 아래 코드와 같이 <크기 숫자> 를 써주시면 됩니다. 공백 <공백> 마크업을 사용하면 대사 중간에 공백을 줄 수 있습니다. 아래 코드와 같이 <공백 숫자> 를 단독으로 써주시면 됩니다. 자간 <자간> 마크업을 사용하면 대사들의 자간을 지정할 수 있습니다. 자간이란 글자와 글자 사이의 간격을 뜻합니다. 아래 코드와 같이 <자간 숫자> 를 단독으로 써주시면 됩니다. 행간 행간 마크업을 사용하면 대사들의 행간을 지정할 수 있습니다. 행간이란 줄과 줄 사이의 간격을 뜻합니다. 아래 코드와 같이 <행간 숫자> 를 써주시면 됩니다. 연결 연결 마크업을 사용하면 북마크를 이용하여 선택지를 만들수 있습니다. 아래와 같이 <연결 북마크이름> 을 단독으로 사용하면 됩니다. 물론 독백 매크로 와 대화 매크로 에서 둘 다 사용 가능합니다. 변수 변수 마크업을 사용하면 대사 중간에 변수를 출력해 줄 수 있습니다. 아래 코드와 같이 <=변수이름> 같은 형식을 써주시면 됩니다.
  23. 텍스트 마크업 대사줄에서는 텍스트 마크업 기능을 사용할 수 있습니다. 텍스트 마크업 기능을 사용하면 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를 출력할 수 있게 됩니다. 색상 색상 마크업을 사용하여 대사의 색상을 지정해 줄 수 있습니다. 아래와 같이 <색상 Red Green Blue> 와 </색상> 사이에 특정 색으로 지정하고 싶은 대사 를 입력주시면 됩니다. 클릭 대사 중간에 <클릭> 마크업를 만나게 되면 클릭대기 매크로 와 같이 클릭을 할 때까지 대기하게 됩니다. 아래 코드와 같이 <클릭> 을 단독으로 써주시면 됩니다. 크기 <크기> 마크업을 사용하여 대사 글씨의 크기를 지정할 수 있습니다. 크기 마크업를 사용한 시점부터 지정된 크기로 글씨의 크기가 유지되게 됩니다. 아래 코드와 같이 <크기 숫자> 를 써주시면 됩니다. 공백 <공백> 마크업을 사용하면 대사 중간에 공백을 줄 수 있습니다. 아래 코드와 같이 <공백 숫자> 를 단독으로 써주시면 됩니다. 자간 <자간> 마크업을 사용하면 대사들의 자간을 지정할 수 있습니다. 자간이란 글자와 글자 사이의 간격을 뜻합니다. 아래 코드와 같이 <자간 숫자> 를 단독으로 써주시면 됩니다. 행간 행간 마크업을 사용하면 대사들의 행간을 지정할 수 있습니다. 행간이란 줄과 줄 사이의 간격을 뜻합니다. 아래 코드와 같이 <행간 숫자> 를 써주시면 됩니다. 연결 연결 마크업을 사용하면 북마크를 이용하여 선택지를 만들수 있습니다. 아래와 같이 <연결 북마크이름> 을 단독으로 사용하면 됩니다. 물론 독백 매크로 와 대화 매크로 에서 둘 다 사용 가능합니다. 변수 변수 마크업을 사용하면 대사 중간에 변수를 출력해 줄 수 있습니다. 아래 코드와 같이 <=변수이름> 같은 형식을 써주시면 됩니다.
  24. 텍스트 마크업 대사줄에서는 텍스트 마크업 기능을 사용할 수 있습니다. 텍스트 마크업 기능을 사용하면 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를 출력할 수 있게 됩니다. 색상 색상 마크업을 사용하여 대사의 색상을 지정해 줄 수 있습니다. 아래와 같이 <색상 Red Green Blue> 와 </색상> 사이에 특정 색으로 지정하고 싶은 대사 를 입력주시면 됩니다. 클릭 대사 중간에 <클릭> 마크업를 만나게 되면 클릭대기 매크로 와 같이 클릭을 할 때까지 대기하게 됩니다. 아래 코드와 같이 <클릭> 을 단독으로 써주시면 됩니다. 크기 <크기> 마크업을 사용하여 대사 글씨의 크기를 지정할 수 있습니다. 크기 마크업를 사용한 시점부터 지정된 크기로 글씨의 크기가 유지되게 됩니다. 아래 코드와 같이 <크기 숫자> 를 써주시면 됩니다. 공백 <공백> 마크업을 사용하면 대사 중간에 공백을 줄 수 있습니다. 아래 코드와 같이 <공백 숫자> 를 단독으로 써주시면 됩니다. 자간 <자간> 마크업을 사용하면 대사들의 자간을 지정할 수 있습니다. 자간이란 글자와 글자 사이의 간격을 뜻합니다. 아래 코드와 같이 <자간 숫자> 를 단독으로 써주시면 됩니다. 행간 행간 마크업을 사용하면 대사들의 행간을 지정할 수 있습니다. 행간이란 줄과 줄 사이의 간격을 뜻합니다. 아래 코드와 같이 <행간 숫자> 를 써주시면 됩니다. 연결 연결 마크업을 사용하면 북마크를 이용하여 선택지를 만들수 있습니다. 아래와 같이 <연결 북마크이름> 을 단독으로 사용하면 됩니다. 물론 독백 매크로 와 대화 매크로 에서 둘 다 사용 가능합니다. 변수 변수 마크업을 사용하면 대사 중간에 변수를 출력해 줄 수 있습니다. 아래 코드와 같이 <=변수이름> 같은 형식을 써주시면 됩니다.
  25. 텍스트 마크업 대사줄에서는 텍스트 마크업 기능을 사용할 수 있습니다. 텍스트 마크업 기능을 사용하면 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를 출력할 수 있게 됩니다. 색상 색상 마크업을 사용하여 대사의 색상을 지정해 줄 수 있습니다. 아래와 같이 <색상 Red Green Blue> 와 </색상> 사이에 특정 색으로 지정하고 싶은 대사 를 입력주시면 됩니다. 클릭 대사 중간에 <클릭> 마크업를 만나게 되면 클릭대기 매크로 와 같이 클릭을 할 때까지 대기하게 됩니다. 아래 코드와 같이 <클릭> 을 단독으로 써주시면 됩니다. 크기 <크기> 마크업을 사용하여 대사 글씨의 크기를 지정할 수 있습니다. 크기 마크업를 사용한 시점부터 지정된 크기로 글씨의 크기가 유지되게 됩니다. 아래 코드와 같이 <크기 숫자> 를 써주시면 됩니다. 공백 <공백> 마크업을 사용하면 대사 중간에 공백을 줄 수 있습니다. 아래 코드와 같이 <공백 숫자> 를 단독으로 써주시면 됩니다. 자간 <자간> 마크업을 사용하면 대사들의 자간을 지정할 수 있습니다. 자간이란 글자와 글자 사이의 간격을 뜻합니다. 아래 코드와 같이 <자간 숫자> 를 단독으로 써주시면 됩니다. 행간 행간 마크업을 사용하면 대사들의 행간을 지정할 수 있습니다. 행간이란 줄과 줄 사이의 간격을 뜻합니다. 아래 코드와 같이 <행간 숫자> 를 써주시면 됩니다. 연결 연결 마크업을 사용하면 북마크를 이용하여 선택지를 만들수 있습니다. 아래와 같이 <연결 북마크이름> 을 단독으로 사용하면 됩니다. 물론 독백 매크로 와 대화 매크로 에서 둘 다 사용 가능합니다. 변수 변수 마크업을 사용하면 대사 중간에 변수를 출력해 줄 수 있습니다. 아래 코드와 같이 <=변수이름> 같은 형식을 써주시면 됩니다.
  26. 텍스트 마크업 대사줄에서는 텍스트 마크업 기능을 사용할 수 있습니다. 텍스트 마크업 기능을 사용하면 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를 출력할 수 있게 됩니다. 색상 색상 마크업을 사용하여 대사의 색상을 지정해 줄 수 있습니다. 아래와 같이 <색상 Red Green Blue> 와 </색상> 사이에 특정 색으로 지정하고 싶은 대사 를 입력주시면 됩니다. 클릭 대사 중간에 <클릭> 마크업를 만나게 되면 클릭대기 매크로 와 같이 클릭을 할 때까지 대기하게 됩니다. 아래 코드와 같이 <클릭> 을 단독으로 써주시면 됩니다. 크기 <크기> 마크업을 사용하여 대사 글씨의 크기를 지정할 수 있습니다. 크기 마크업를 사용한 시점부터 지정된 크기로 글씨의 크기가 유지되게 됩니다. 아래 코드와 같이 <크기 숫자> 를 써주시면 됩니다. 공백 <공백> 마크업을 사용하면 대사 중간에 공백을 줄 수 있습니다. 아래 코드와 같이 <공백 숫자> 를 단독으로 써주시면 됩니다. 자간 <자간> 마크업을 사용하면 대사들의 자간을 지정할 수 있습니다. 자간이란 글자와 글자 사이의 간격을 뜻합니다. 아래 코드와 같이 <자간 숫자> 를 단독으로 써주시면 됩니다. 행간 행간 마크업을 사용하면 대사들의 행간을 지정할 수 있습니다. 행간이란 줄과 줄 사이의 간격을 뜻합니다. 아래 코드와 같이 <행간 숫자> 를 써주시면 됩니다. 연결 연결 마크업을 사용하면 북마크를 이용하여 선택지를 만들수 있습니다. 아래와 같이 <연결 북마크이름> 을 단독으로 사용하면 됩니다. 물론 독백 매크로 와 대화 매크로 에서 둘 다 사용 가능합니다. 변수 변수 마크업을 사용하면 대사 중간에 변수를 출력해 줄 수 있습니다. 아래 코드와 같이 <=변수이름> 같은 형식을 써주시면 됩니다.
  27. 텍스트 마크업 대사줄에서는 텍스트 마크업 기능을 사용할 수 있습니다. 텍스트 마크업 기능을 사용하면 텍스트의 모양을 바꾸거나 텍스트의 내용에 변수를 출력할 수 있게 됩니다. 색상 색상 마크업을 사용하여 대사의 색상을 지정해 줄 수 있습니다. 아래와 같이 <색상 Red Green Blue> 와 </색상> 사이에 특정 색으로 지정하고 싶은 대사 를 입력주시면 됩니다. 클릭 대사 중간에 <클릭> 마크업를 만나게 되면 클릭대기 매크로 와 같이 클릭을 할 때까지 대기하게 됩니다. 아래 코드와 같이 <클릭> 을 단독으로 써주시면 됩니다. 크기 <크기> 마크업을 사용하여 대사 글씨의 크기를 지정할 수 있습니다. 크기 마크업를 사용한 시점부터 지정된 크기로 글씨의 크기가 유지되게 됩니다. 아래 코드와 같이 <크기 숫자> 를 써주시면 됩니다. 공백 <공백> 마크업을 사용하면 대사 중간에 공백을 줄 수 있습니다. 아래 코드와 같이 <공백 숫자> 를 단독으로 써주시면 됩니다. 자간 <자간> 마크업을 사용하면 대사들의 자간을 지정할 수 있습니다. 자간이란 글자와 글자 사이의 간격을 뜻합니다. 아래 코드와 같이 <자간 숫자> 를 단독으로 써주시면 됩니다. 행간 행간 마크업을 사용하면 대사들의 행간을 지정할 수 있습니다. 행간이란 줄과 줄 사이의 간격을 뜻합니다. 아래 코드와 같이 <행간 숫자> 를 써주시면 됩니다. 연결 연결 마크업을 사용하면 북마크를 이용하여 선택지를 만들수 있습니다. 아래와 같이 <연결 북마크이름> 을 단독으로 사용하면 됩니다. 물론 독백 매크로 와 대화 매크로 에서 둘 다 사용 가능합니다. 변수 변수 마크업을 사용하면 대사 중간에 변수를 출력해 줄 수 있습니다. 아래 코드와 같이 <=변수이름> 같은 형식을 써주시면 됩니다.
  28. 매크로 선언 및 정의 피니엔진이 기본으로 제공하는 매크로 외에도 직접 매크로를 만들어서 사용할 수 있습니다. 아래코드와 같이 "@매크로 매크로명:"을 시작으로 다음 줄부터 탭 한칸으로 시작하여 작성하고 싶은 스크립트를 작성하면 됩니다. 아래 그림에서는 "피니대화창_색상변경"이라는 매크로를 새로 만들고 있습니다. 공식 문서 이미지 Lnx스크립트는 Tab 키로 코드의 영역을 구분합니다. "@"로 시작하는 단어는 문법에 미리 정의된 키워드를 의미합니다. "@매크로" " @조건" 등이 있는데 이런 것들은 모두 특정 코드의 영역을 대상으로 작동합니다. 매개변수 공식문서 이미지 첨부 사용자 정의 매크로도 매개변수를 전달받을 수 있습니다. 어떠한 이름의 매개변수도 전달 받을수 있습니다. 위 그림에서는 "대화창색상"이라는 매개변수를 만들어 사용하고 있습니다.(111줄이 정의하는 코드이고 114라인이 사용하는 코드 입니다.) 자동완성 목록에 추가하기(개발중)
  29. 피니엔진에서는 모든 이미지의 X=0,Y=0은 일반 포토샵과 다르게 이미지의 중앙이 0,0이 됩니다.
  30. 이런 방식을 채택하게 된 이유는 바로 회전, 크기에 있습니다. 보통 회전이라고 하면 이미지의 중심을 기준으로 회전하는 것이 기본이고 크기변경도 변경값에 맞춰 좌우로 비율에 맞춰 커지거나 작아지는게 자연스럽다고 판단되어 이미지의 중앙이 좌표계의 중심이 되는 것으로 작업을 하였습니다. ( 물론 포토샵에서는 위치좌표계와 회전 좌표계가 따로 있어 해당 문제를 자연스럽게 처리할 수 있지만 GUI환경에서의 작업이다보니 이미지 중심이 2개가 있어도 불편함 없이 작업이 가능하지만 스크립팅하는 환경에서는 중심이 2개가 되다보면 작업하는데 더 복잡성만 높아질 것을 염려하여 하나로 작업하게 되었습니다. ) 하지만 회전되는 중심이 변경되거나 회전을 사용할 일 없는데 이미지 중앙이 중심이 되어 좌표를 제대로 설정하기 힘든 분들을 위해 이미지의 중심을 변경할 수 있는 방법이 있습니다! 0 1 2 3 4설정.이미지중심="0,0" 설정.이미지중심="1,0" 설정.이미지중심="0,1" 설정.이미지중심="0.5,0.5"
  31. 위처럼 "설정.이미지중심"이라는 변수에 0~1까지의 숫자로 이미지의 중심을 선택할 수 있고 "0,0"을 넣게 되면 기존에 포토샵과 같은 좌표계를 사용할 수 있습니다. 위와 같이 이미지의 중심을 수정이 가능하며 한번 변경하면 다시 새로운 값을 넣지 않는 이상 이 값은 변경되지 않습니다. 게임 내에서 모든 이미지의 중심을 "0,0"으로 하고 싶으시다면 메인.LNX파일에서 1라인에 '설정.이미지중심="0,0"'을 추가하시면 됩니다.