KR20180038840A - 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템 - Google Patents

단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템 Download PDF

Info

Publication number
KR20180038840A
KR20180038840A KR1020160129974A KR20160129974A KR20180038840A KR 20180038840 A KR20180038840 A KR 20180038840A KR 1020160129974 A KR1020160129974 A KR 1020160129974A KR 20160129974 A KR20160129974 A KR 20160129974A KR 20180038840 A KR20180038840 A KR 20180038840A
Authority
KR
South Korea
Prior art keywords
information
software
engine
tool
data
Prior art date
Application number
KR1020160129974A
Other languages
English (en)
Inventor
정슬기
Original Assignee
주식회사 엔피씨팩토리
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엔피씨팩토리 filed Critical 주식회사 엔피씨팩토리
Priority to KR1020160129974A priority Critical patent/KR20180038840A/ko
Publication of KR20180038840A publication Critical patent/KR20180038840A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 실시 예에 따른 소프트웨어 제작 도구 시스템은 하나 이상의 플랫폼 디바이스에 대응되는 소프트웨어 개발 엔진; 및 상기 각 소프트웨어 개발 엔진으로부터 단일 소스 기반 공통 모듈 제작을 위해 필요한 데이터를 추출하여 공통 리소스화하는 확장 엔진을 포함하고, 상기 확장 엔진은 상기 공통 리소스화된 데이터에 기초하여, 상기 단일 소스 기반 공통 모듈 제작을 위한 하나 이상의 개발 인터페이스 툴을 제공하여 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구 시스템을 제공한다.

Description

단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템{A METHOD FOR PROVIDING AN EXTENTION ENGINE OF A SOFTWARE MAKING TOOL TO SUPPORT MULTI DEVICES BASED ON ONE SOURCE}
본 발명은 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템에 관한 것이다. 보다 구체적으로, 본 발명은 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템에 관한 것이다.
종래의 소프트웨어 콘텐츠 시장은 메이저 업체가 일방향적 디지털 생산품을 제작하고, 이에 기초한 IP(intellectual property) 생산을 통해 미디어(Media)에서 컨텐츠(Contents)로 생산되는 단방향식을 가지고 있으며, 이에 따라 생성되는 소프트웨어 컨텐츠는 라이선스 계약에 따른 디바이스의 제한, 기간의 제한 및 확장이 어려운 문제점을 가지고 있다.
예를 들어, 게임 IP의 경우, 특정 라이센스료를 지불하고 게임을 제작하여 출시하더라도 라이센스의 안정적 활용을 기대하기는 어려우며, 원작비 및 수익배분에 따라 순수익율은 하락할 수 있고, 마케팅 비용은 지속적으로 누수되고 있는 실정이다.
또한, 스마트폰으로부터 콘솔 기기, 및 스마트 TV와 같은 순서로 순차적인 개발을 진행함에 따라 각각의 개발 플랫폼별 고유 기능을 구현하기 때문에 리소스 효율성 저하 및 파편화가 발생되며, 업무 부하도 높은 실정이다.
또한, 이로 인해 개발이 완료된 IP 프로젝트의 수정 작업에 있어서도 물리적 장벽으로 인해 비효율적일 뿐만 아니라, 그 컨텐츠의 인기도가 떨어지거나 수명이 다하는 경우에는 폐기되는 경우가 빈번하게 발생하고 있는 실정이다.
본 발명은 상기와 같은 과제를 해결하기 위한 것으로, 각 플랫폼별 소프트웨어 개발 엔진들과의 호환성을 갖는 소프트웨어 개발 및 리소스 관리용 확장 엔진을 제공함으로써, 다양한 소프트웨어 플랫폼 및 디바이스에 대한 최적화를 용이하게 하고, 각 개발 파트의 유기적안 개발 환경을 제공함으로써 개발 속도 및 파트별 의존도를 낮추고, 기 개발된 리소스의 재활용 가능성을 높일 수 있는 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템을 제공하는데 그 목적이 있다.
상기와 같은 과제를 해결하기 위한 본 발명의 실시 예에 따른 시스템은, 소프트웨어 제작 도구 시스템에 있어서, 하나 이상의 플랫폼 디바이스에 대응되는 소프트웨어 개발 엔진; 및 상기 각 소프트웨어 개발 엔진으로부터 단일 소스 기반 공통 모듈 제작을 위해 필요한 데이터를 추출하여 공통 리소스화하는 확장 엔진을 포함하고, 상기 확장 엔진은 상기 공통 리소스화된 데이터에 기초하여, 상기 단일 소스 기반 공통 모듈 제작을 위한 하나 이상의 개발 인터페이스 툴을 제공하는 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구 시스템을 포함한다.
또한, 상기와 같은 과제를 해결하기 위한 본 발명의 실시 예에 따른 소프트웨어 제작 방법은, 하나 이상의 플랫폼 디바이스에 대응되는 소프트웨어 개발 엔진을 구동하는 단계; 상기 각 소프트웨어 개발 엔진으로부터 단일 소스 기반 공통 모듈 제작을 위해 필요한 데이터를 추출하여 공통 리소스화하는 확장 엔진을 제공하는 단계; 및 상기 확장 엔진을 통해 상기 공통 리소스화된 데이터에 기초하여, 상기 단일 소스 기반 공통 모듈 제작을 위한 하나 이상의 개발 인터페이스 툴을 제공하는 단계를 포함한다.
한편, 상기와 같은 과제를 해결하기 위한 본 발명의 실시 예에 따른 소프트웨어 제작 방법은 상기 방법을 컴퓨터에서 실행시키기 위해 비휘발성 기록매체에 저장되는 컴퓨터 프로그램 및 상기 기록매체로 구현될 수 있다.
본 발명의 실시 예에 따르면, 각 플랫폼별 소프트웨어 개발 엔진들과의 호환성을 갖는 소프트웨어 개발 및 리소스 관리용 확장 엔진을 제공함으로써, 다양한 소프트웨어 플랫폼 및 디바이스에 대한 최적화를 용이하게 하고, 각 개발 파트의 유기적안 개발 환경을 제공함으로써 개발 속도 및 파트별 의존도를 낮추고, 기 개발된 리소스의 재활용 가능성을 높일 수 있다.
또한, 이에 따른 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진을 제공할 수 있으며, 상기 확장 엔진에 기반한 양방향 컨텐츠 생산을 가능하게 하며, 라이선스 기반의 개발비용을 절감할 수 있으며, HMD나 AR 디바이스와 같은 새로운 디바이스까지도 쉽게 확장할 수 있는 확장성을 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 전체 시스템을 도시한 개념도이다.
도 2는 본 발명의 실시 예에 따른 소프트웨어 개발 시스템을 설명하기 위한 블록도이다.
도 3 내지 도 5는 본 발명의 실시 예에 따른 하나 이상의 개발 인터페이스 툴을 설명하기 위한 도면들이다.
도 6은 본 발명의 실시 예에 따라 소프트웨어에 탑재되는 클라이언트 엔진 모듈 및 이와 통신하는 서버 엔진 모듈 구성의 예시도이다.
도 7은 본 발명의 실시 예에 따라 생성된 멀티 플랫폼 소프트웨어의 동작을 개념적으로 설명하기 위한 예시도이다.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당 업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시 예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시 예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
또한, 본 발명의 원리, 관점 및 실시 예들뿐만 아니라 특정 실시 예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 예를 들어, 본 명세서의 블럭도는 본 발명의 원리를 구체화하는 예시적인 회로의 개념적인 관점을 나타내는 것으로 이해되어야 한다. 이와 유사하게, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.
프로세서 또는 이와 유사한 개념으로 표시된 기능 블럭을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 상기 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다.
또한 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 명확한 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비 휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지관용의 따른 하드웨어도 포함될 수 있다.
본 명세서의 청구범위에서, 상세한 설명에 기재된 기능을 수행하기 위한 수단으로 표현된 구성요소는 예를 들어 상기 기능을 수행하는 회로 소자의 조합 또는 펌웨어/마이크로 코드 등을 포함하는 모든 형식의 소프트웨어를 포함하는 기능을 수행하는 모든 방법을 포함하는 것으로 의도되었으며, 상기 기능을 수행하도록 상기 소프트웨어를 실행하기 위한 적절한 회로와 결합된다. 이러한 청구범위에 의해 정의되는 본 발명은 다양하게 열거된 수단에 의해 제공되는 기능들이 결합되고 청구항이 요구하는 방식과 결합되기 때문에 상기 기능을 제공할 수 있는 어떠한 수단도 본 명세서로부터 파악되는 것과 균등한 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 전체 시스템을 도시한 개념도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 전체 시스템은, 확장 엔진 모듈(11)을 포함하여 그래픽, 사운드 및 리소스 등의 기능 동작을 제공하는 소프트웨어(10), 상기 소프트웨어(10)에 의해 기능 동작을 수행함으로써 사용자에게 정보를 제공하는 각 플랫폼별 디바이스들(30, 40) 및 상기 확장 엔진 모듈(11)과의 통신에 따라 상기 각 디바이스들(30, 40)로 데이터를 제공할 수 있는 서버 엔진 모듈(20)을 포함하여 구성될 수 있다.
먼저 본 명세서에서 설명되는 디바이스들(30, 40)에는 휴대폰, 스마트 폰(smart phone), 태블릿 컴퓨터, 노트북 컴퓨터(laptop computer), PDA(Personal Digital Assistants)와 같은 스마트 디바이스(30)들이 예시될 수 있으며, 다양한 체감형 영상 및 애니메이션 제공이 가능한 디지털 TV, Cardbard, HMD(Head up mount display), PMP(Portable media player) 등의 체감형 디바이스(40)들이 예시될 수 있다. 이와 같은 각각의 디바이스들은 그 소프트웨어 플랫폼이 상이할 뿐만 아니라, 통신 규격이나 리소스 관리 방식이 모두 상이할 수 있다.
또한, 이와 같은 플랫폼별 개발을 위하여, iOS, Android, HMD 또는 기타 디지털 TV용 OS와 같은 다양한 디바이스별 개발 소프트웨어를 이용해야할 뿐만 아니라, 각 개발 소프트웨어별 데이터 처리 알고리즘이나 서버 클라이언트간 처리 방식이 상이할 수 있다.
따라서, 본 발명의 실시 예에 따르면, 이와 같은 각 플랫폼 및 디바이스에 제한되지 않고, 공통 소스 기반 소프트웨어 개발을 가능하게 하는 확장 엔진 모듈(11)이 소프트웨어(10)에 포함되도록 제공할 수 있다.
여기서 상기 확장 엔진 모듈(11)은 하나 이상의 상용 소프트웨어 개발 엔진으로부터 단일 소스 기반 공통 모듈 제작을 위해 필요한 데이터를 추출하여 공통 리소스화하고, 상기 공통 리소스화된 데이터에 기초하여, 상기 단일 소스 기반 공통 모듈 제작을 위한 하나 이상의 개발 인터페이스 툴에 의해 생성된 확장 엔진 클라이언트 모듈로 구성될 수 있으며, 이에 대하여는 뒤에서 보다 구체적으로 서술하도록 한다.
또한, 상기 확장 엔진 클라이언트 모듈과 서버와의 통신에 따라 단일 소스 기반의 멀티 디바이스 지원을 위한 데이터가 각 디바이스(30, 40)로 제공될 수 있다.
이와 같이 구성된 확장 엔진 모듈(11)이 탑재된 소프트웨어(10)는 각각의 스마트 디바이스(30) 또는 체감형 디바이스(40)에 설치되어 확장 엔진 동작에 따라 공통 리소스화된 데이터에 기반한 게임 등 다양한 기능 동작을 수행할 수 있으며, 디바이스에 국한되지 않는 호환성을 제공할 수 있다. 또한, 리소스 호환성 및 멀티 플랫폼 관리를 위한 데이터가 서버 엔진(20)과 송수신됨에 따라, 기기 호환성 및 소프트웨어 성능이 실시간으로 업데이트 및 유지될 수 있다.
이에 따라, 확장 엔진 모듈(11) 탑재를 통한 상호연계형 컨텐츠 및 엔진 개발이 가능하게 되며, 1인칭 사용자 융합 컨텐츠(First person interactive content) 또는 단일 소스 기반 멀티 플랫폼(OSMU, One source multi use)을 제공할 수 있다. 이와 같은 구성은, 스마트폰과 CTC (Culture Contents)를 동시 지원하는 상호반응 콘텐츠 제작 엔진의 개발을 보다 용이하게 한다.
한편, 이와 같은 확장 엔진 모듈(11)이 설치된 각 디바이스(30, 40)들에는 서버(20)간 네트워크 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 도시되지는 않았으나, 확장 엔진 모듈(11)은 각 디바이스(30, 40)의 이동통신 모듈, 무선 인터넷 모듈 또는 근거리 통신 모듈 등을 이용하여 서버(20)와 통신할 수 있다.
도 2는 본 발명의 실시 예에 따른 소프트웨어 개발 시스템을 설명하기 위한 블록도이며, 도 3 내지 도 5는 본 발명의 실시 예에 따른 하나 이상의 개발 인터페이스 툴을 설명하기 위한 도면들이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 소프트웨어 개발 시스템을 통해 전술한 확장 엔진 모듈(11)이 포함된 소프트웨어(10)가 생성되어 제공 및 배포될 수 있다.
이를 위해, 소프트웨어 개발 시스템(100)은 하나 이상의 상용 소프트웨어를 포함하는 각 디바이스용 소프트웨어 개발 엔진(150), 상기 소프트웨어 개발 엔진(150)으로부터 공통 리소스를 처리하는 공통 리소스 처리부(110) 및 상기 공통 리소스 처리부(110) 기반의 개발 인터페이스 툴을 포함할 수 있으며, 상기 개발 인터페이스 툴은 애니메이션 툴(120), 이진화 처리 툴(130) 및 파티클 디자이너(140)를 포함할 수 있다.
먼저, 상기 하나 이상의 상용 소프트웨어를 포함하는 각 디바이스용 소프트웨어 개발 엔진(150)은 각 디바이스 및 플랫폼별 소프트웨어 개발을 위한 다양한 상용 소프트웨어 엔진이 예시될 수 있다. 상기 상용 소프트웨어 엔진은 예를 들어, Cocos2d, Unity, Native Android, Native iOS 등의 각 플랫폼 기반 기존 소프트웨어 엔진들이 예시적으로 포함될 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
그리고, 하나 이상의 플랫폼 디바이스에 대응되는 소프트웨어 개발 엔진이 구동되면, 개발 시스템(100)에서는 상기 각 소프트웨어 개발 엔진(150)으로부터 단일 소스 기반 공통 모듈 제작을 위해 필요한 데이터를 추출하여 공통 리소스화하는 확장 엔진을 제공할 수 있다. 또한, 상기 확장 엔진은 전술한 공통 리소스 처리부(110), 애니메이션 툴(120), 이진화 처리 툴(130) 및 파티클 디자이너(140)를 포함할 수 있다.
이에 따라, 확장 엔진은, 상기 공통 리소스화된 데이터에 기초하여, 상기 단일 소스 기반 공통 모듈 제작을 위한 하나 이상의 개발 인터페이스 툴을 제공할 수 있으며, 사용자는 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어를 상기 공통 리소스 기반으로 보다 유용하게 제작할 수 있다.
그리고, 공통 리소스 기반으로 제작된 확장 엔진은 상기 소프트웨어에 포함되어 생성 및 제공됨으로써, 도 1에서 설명한 바와 같은 소프트웨어 시스템을 구성할 수 있다.
보다 구체적으로, 먼저 공통 리소스 처리부(110)에서는 소프트웨어 개발 엔진(150)들에 따라 디바이스와 플랫폼별로 파편화된 데이터를 공통 리소스 양식의 데이터로 추출하고, 추출된 데이터를 각 인터페이스 툴(120, 130, 140)에서 이용가능한 형태로 변환할 수 있다.
그리고, 애니메이션 툴(120)은, 공통 리소스 처리부(110)로부터 추출된 게임 및 영상 소프트웨어 동작의 주요 기능인 캐릭터 애니메이션 리소스를 이용하여, 각 소프트웨어 개발 엔진(150)들로부터 추출되는 공통 리소스 기반으로 효율적 활용을 제공하고, 이에 따라 개발 최적화를 제공하기 위한 툴을 포함할 수 있다.
특히, 애니메이션 툴(120)은 상기 공통 리소스화된 데이터로부터 획득되는 애니메이션별 키프레임 정보를 처리하여 디스플레이하고, 상기 키프레임에 대응되는 이미지를 트리구조로 편집가능한 키프레임 편집 인터페이스를 제공할 수 있다.
애니메이션 툴(120)은 타임라인 키프레임과 트리구조의 이미지 편집을 통해 저 용량의 데이터로 부드러운 에니메이션 기능을 구현할 수 있으며, 이는 도 3에 개시된 바와 같은 그래픽 유저 인터페이스(GUI)형태로 제공될 수 있다.
도 3에 도시된 바와 같이, 애니메이션 툴(120)은 키프레임 편집 기능을 제공할 수 있다.
여기서, 애니메이션 툴(120)은 게임과 연관된 소프트웨어에 대해 히트 체크 , 사운드 , 데미지 및 공격 방식 입력에 대응하여, 다양한 애니메이션 키프레임 편집 기능을 제공할 수 있으며, 좌측 및 우측에 도시된 바와 같은 키 리스트와 오브젝트 리스트 및 애니 리스트로 구성되는 트리 구조의 공통 리소스 데이터를 기반으로 다양한 기획적, 디자인적 편집 기능을 제공할 수 있다.
본 발명의 실시 예에 따라, 애니메이션 툴(120)은 기본적으로 본 발명의 실시 예에 따라 구성되는 공통 리소스 데이터의 3단계 깊이(Depth)의 트리 데이터 구조에 대응하는 기능별 애니메이션 편집을 제공할 수 있으며, 편집된 애니메이션의 재활용을 가능하게 한다. 이를 통해 작업속도 및 리소스의 용량을 획기적으로 줄일수 있다. 하기 표 1은 본 발명의 실시 예에 따른 공통 리소스 데이터의 3단계 트리 구조 및 구조를 구성하는 각 모듈별 기능을 나타내고 있다.
1Depth 2Depth 3Depth 내용
Event Tirgger   TriggerBox에Character가접촉하면Event가
시작됨
Spawn   설정 Character가 지정된 좌표에 생성됨
Move Speed Character의 이동 속도를 변화 시킴
Direction Character의 이동 방향을 변경함
Touch
Screen
DoubleTap
Tap
터치스크린의Tap입력처리
DoubleTap터치스크린의DoubleTap입력
Control Touch
Screen
Drag Drag 입력 처리
Pad   Screen커서이동처리
통해커서지정하고있는좌
표의액션입력처리
Gyro sensor   자이로센서 입력 정보 처리
Remote
controller
  Gamepad Gamepad 키 입력 정보 처리
Character Paramter   Character 능력 관련 수치를 설정
  Item   Item의 장착에 따른 Character 능력 관련 수치 설정
A.I MOVE   지면,벽면등의충돌체크를통해Character의
좌표이동을처리
  Action   정지,공격등Character의액션수행종류및
조건을설정
Server     Parameter,Item등Character정보를Server에
기록,Client로전송등을설정및처리
특히, 표 1에 도시된 바와 같이, 트리 구조에 따르면, 애니메이션 툴(120)은 사용자 입력에 대응되는 다양한 캐릭터 애니메이션 및 상호작용을 제공할 수 있다. 이를 위해, 애니메이션 툴(120)에서는 장면(Scene) 편집과 버튼 편집 기능을 제공함으로써, 각종 UI 및 이벤트 들을 기획 디자인 파트에서 쉽게 제작 가능하게 한다.
또한, 애니메이션 툴(120)은 멀티 스크린 및 디바이스 대응을 위한 애니메이션 스케일링(Animation Scaling 및 Image&Atlas Scaling) 기능을 제공함으로써, 다양한 스크린과 저사향 폰에도 쉽게 대응될 수 있다.
예를 들어, 상기 애니메이션 툴(120)은 이미지 리소스 패킹을 통해 그래픽 리소스의 용량 절감 효과가 검증된 상태로서, 개발시 189MB 의 용량이 상용시 102MB로 절감될 수 있었다. 이는 atlas 최적화와, 이미지 리소스 리사이징에 기반한 것으로, 애니메이션 툴(120)은 이를 포함하는 다양한 이미지 최적화 기능을 제공할 수 있다.
한편, 상기 이진화 처리 툴(130)은 공통 리소스 데이터로부터 헤더 익스포트(header export)를 제공할 수 있으며, 상기 기능을 통해 개발 중 데이터의 동작을 예측할 수 있게 하며, 그 변화에 대응할 수 있도록 한다. 이를 위해, 이진화 처리 툴(130)은 상기 공통 리소스화된 데이터로부터 편집가능한 문자열로 또는 상기 문자열로부터 이진화 데이터로의 변환 처리를 수행하기 위한 Excel to binary 형태의 모듈로 구성될 수 있다.
그리고, 상기 이진화 처리 툴(130)은 상기 문자열로부터 로컬라이징 처리를 수행하여 상기 애니메이션 툴(120)로 제공할 수 있다. 이진화 처리 툴(130)은 문자열을 각각의 언어별로 export 해서 쉽게 로컬라이징 가능하게 할 수 있으며, 전술한 애니메이션 툴(120)에서의 장면(Scene) 및 버튼 편집에 사용된 각종 문자열을 로컬라이징 문자열 데이터로 치환하여 언어변환 쉽게 할 수 있도록 할 수 있다.
또한, 상기 이진화 처리 툴(130)은 상기 이진화 데이터로의 변환시 상기 문자열 중 미리 결정된 속성의 문자열 부분에 대한 암호화 처리를 수행할 수도 있다.
예를 들어, 이진화 처리 툴(130)은 게임에 사용되는 각종 데이터 들을 암호화 하여 해킹에 대응할 수 있다.
또한, 도 4에 도시된 바와 같이, 이진화 처리 툴(130)에서는 공통 리소스 처리부(110)를 기반으로 각각의 파라미터를 저장 및 관리하기 위한 그래픽 유저 인터페이스를 제공할 수 있다. 이에 따라 사용자는 이진화 처리 툴(130)을 이용하여 각 캐릭터의 레벨, 경험치, 스테미너, 카테고리, 인덱스, 등급 등의 다양한 정보를 문자열 기반으로 저장 및 관리할 수 있다. 이와 같이 관리된 문자열 정보는 다시 이진화 저장되어, 전술한 표 1에서의 서버 파라미터(Server Parameter)로 이용될 수 있으며, 캐릭터 정보의 서버 기록, 클라이언트로 전송 등을 설정 및 처리하기 위한 정보로 이용될 수 있다.
한편, 상기 파티클 디자이너(140)는 사용자 입력에 따라 생성되는 하나 이상의 파티클(Particle) 정보를 상기 공통 리소스 데이터에 저장하며, 상기 파티클 정보는 상기 애니케이션 툴에서 이용가능할 수 있다.
개발자는 파티클 디자이너(140)를 통해 다양한 파티클 이펙트를 구현할 수 있으며, 각각의 파티클 이펙트 들은 애니메이션 툴(120)을 통해 제공될 수 있고, 다중 파티클 편집도 가능하게 된다.
파티클 디자이너(140)는 도 5에 도시된 바와 같은 형태의 그래픽 유저 인터페이스와 같은 형태로 제공될 수 있다. 도 5에 도시된 바와 같이, 상기 파티클 정보는 파티클 애니메이션에 대응되는 파티클 종류 정보, 시작 색상 정보, 종료 색상 정보, 사이즈 변화 정보, 위치 변화 정보, 각도 변화 정보, 회전 변화 정보, 가속도 정보 중 적어도 하나를 포함할 수 있으며, 사용자는 이와 같은 파티클 정보에 따른 파티클을 제작하여 애니메이션 툴(120)에 용이하게 삽입할 수 있고, 이는 소프트웨어 개발 엔진(150)을 통해 변환 구동될 수 있다.
이와 같이 구성되는 소프트웨어 개발 시스템(100)을 통해, 각각의 개발 파트는 각 인터페이스 툴(120, 130, 140)을 통해 이루어진 작업 결과물들을 소프트웨어 엔진 형태로 익스포트(export)할 수 있다. 익스포트된 결과물 엔진은 Windows 또는 Mac 에뮬레이터와 같은 디바이스 에뮬레이터를 통해 구동될 수 있으며, 작업 결과물들은 바로 확인할 수 있도록 구성될 수 있다. 이를 통해 개발 파트별 의존도를 최대한 낮출 수 있으므로 개발 속도를 극대화 시킬 수 있다.
한편, 본 발명의 실시 예에 따라 개발된 확장 엔진은 단일 소프트웨어로 한정되는 것이 아니며, 소프트웨어 개발 엔진(150)에 의해 제작되는 다른 기능들과의 연동 기능에 따라 부가 기능을 제공하는데에도 이용될 수 있다. 따라서, 본 발명의 실시 예에 따른 확장 엔진은 기존 소프트웨어 개발 엔진(150)과의 연동 기능을 제공하는 것으로, 기존 플랫폼별 개발 엔진에 의해 제작된 소프트웨어 자체를 전적으로 대체하지는 않을 수 있으며 오히려 상기 기존 플랫폼 기능을 이용하여 호환성 강화 및 연동된 추가적인 기능을 제공하는데 이용될 수 있다.
도 6은 본 발명의 실시 예에 따라 소프트웨어에 탑재되는 클라이언트 엔진 모듈 및 이와 통신하는 서버 엔진 모듈 구성의 예시도이며, 도 7은 본 발명의 실시 예에 따라 생성된 멀티 플랫폼 소프트웨어의 동작을 개념적으로 설명하기 위한 예시도이다.
전술한 바와 같이, 소프트웨어(10)에는 상기 확장 엔진 모듈(11)이 탑재될 수 있다. 그리고, 상기 확장 엔진 모듈은 상기 하나 이상의 개발 인터페이스 툴에 기초하여 생성되는 확장 리소스 접근 엔진이 포함된 소프트웨어를 제공할 수 있다.
또한, 상기 확장 리소스 접근 엔진은 원격지의 서버으로부터 필요한 공통 리소스 파라미터 정보를 수신하여 처리하는 클라이언트 엔진을 포함할 수 있다.
특히, 상기의 표 1에 도시된 바와 같은 공통 리소스 데이터의 구조에 따라, 클라이언트 엔진은 이벤트, 컨트롤, 카메라, 캐릭터 및 AI와 같은 1단계 구조로부터 3단계 또는 그 이상으로 구성되는 기능 및 이에 따른 영상 또는 애니메이션을 제공할 수 있다.
그리고, 상기 클라이언트 엔진의 동작에 따라 서버(20)에 탑재되는 서버 엔진에서는 플레이어 정보 및 로비 정보를 포함하는 서버 정보와, 유저, 캐릭터 및 아이템 데이터베이스를 저장 및 관리할 수 있으며, 클라이언트 엔진의 캐릭터 파라미터 및 아이템 정보와의 상호작용을 제공할 수 있다.
한편, 도 6은 이와 같이 개발 및 탑재된 확장 엔진에 의해 진행되는 게임의 형태를 예시한 것으로, 특히 공통 소스 기반으로 개발된 소프트웨어는 플랫폼별로 상이한 기능 동작을 제공할 수 있음을 나타내고 있다.
예를 들어, 확장 엔진은 기존 게임 소프트웨어상에서의 부가 기능 제공을 위해 동작할 수 있다. 예를 들어, 게임 소프트웨어상의 확장 엔진이 동작하는 환경에서는 플랫폼 정보를 수집할 수 있으며, 개발자는 플랫폼 정보에 따라 캐릭터의 플랫폼 별 AP 소모를 서로 상이하게 지정할 수 있다. 스마트폰의 경우 적색 AP가 소모되거나 HMD 장치의 경우 노란색 AP가 소모될 수 있다.
그리고, 확장 엔진을 통해 사용자가 획득된 각 모드별 재화 정보는 서버로 전송될 수 있다. 예를 들어 싱글 모드에서는 코인 파라미터, PVP 모드에서는 메달 파라미터 또는 레이드 모드에서는 명예 파라미터가 서버로 전송되어 관리될 수 있다. 또한, 상기 재화를 이용하여 사용자가 무기와 캐릭터의 구입 또는 강화를 제공하기 위한 로비 시스템을 서버를 통해 제공할 수 있다. 클라이언트 엔진은 상기와 같은 로비를 이용하여 재화 서비스를 제공하기 위한 샵 모듈, 컴바인(Combine) 모듈 또는 인챈트(Enchant) 모듈을 제공할 수 있다. 이후, 확장 엔진은 다시 게임 진행에 복귀될 수 있으며, 소프트웨어 개발 엔진(150)에 의해 저작된 기타 기존 게임 소프트웨어의 기능이 다시 연속하여 수행될 수 있다.
한편, 상술한 본 발명에 따른 방법들은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.

Claims (20)

  1. 소프트웨어 제작 도구 시스템에 있어서,
    하나 이상의 플랫폼 디바이스에 대응되는 소프트웨어 개발 엔진; 및
    상기 각 소프트웨어 개발 엔진으로부터 단일 소스 기반 공통 모듈 제작을 위해 필요한 데이터를 추출하여 공통 리소스화하는 확장 엔진을 포함하고,
    상기 확장 엔진은 상기 공통 리소스화된 데이터에 기초하여, 상기 단일 소스 기반 공통 모듈 제작을 위한 하나 이상의 개발 인터페이스 툴을 제공하는
    단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구 시스템.
  2. 제1항에 있어서,
    상기 하나 이상의 개발 인터페이스 툴은 상기 공통 리소스화된 데이터에 기초하여 제공되는 애니메이션(ANIMATION) 툴, 이진화 처리 툴 및 파티클(PARTICLE) 디자이너 중 적어도 하나를 포함하는 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구 시스템.
  3. 제2항에 있어서,
    상기 애니메이션 툴은 상기 리소스화된 데이터로부터 획득되는 애니메이션별 키프레임 정보를 처리하여 디스플레이하고, 상기 키프레임에 대응되는 이미지를 트리구조로 편집가능한 키프레임 편집 인터페이스를 제공하는 소프트웨어 제작 도구 시스템.
  4. 제3항에 있어서,
    상기 키프레임 편집 인터페이스는 상기 키프레임 정보에 대응되는 히트 체크, 사운드 정보, 데미지 정보 또는 공격 방식 정보 중 적어도 하나를 포함하는 소프트웨어 제작 도구 시스템.
  5. 제1항에 있어서,
    상기 이진화 처리 툴은 상기 공통 리소스화된 데이터로부터 편집가능한 문자열로 또는 상기 문자열로부터 이진화 데이터로의 변환 처리를 수행하는 소프트웨어 제작 도구 시스템.
  6. 제5항에 있어서,
    상기 이진화 처리 툴은 상기 문자열로부터 로컬라이징 처리를 수행하여 상기 애니메이션 툴로 제공하는 소프트웨어 제작 도구 시스템.
  7. 제5항에 있어서,
    상기 이진화 처리 툴은 상기 이진화 데이터로의 변환시 상기 문자열 중 미리 결정된 속성의 문자열 부분에 대한 암호화 처리를 수행하는 소프트웨어 제작 도구 시스템.
  8. 제2항에 있어서,
    상기 파티클 디자이너는 사용자 입력에 따라 생성되는 하나 이상의 파티클 정보를 상기 공통 리소스 데이터에 저장하며, 상기 파티클 정보는 상기 애니케이션 툴에서 이용가능한 소프트웨어 제작 도구 시스템.
  9. 제8항에 있어서,
    상기 파티클 정보는 파티클 애니메이션에 대응되는 파티클 종류 정보, 시작 색상 정보, 종료 색상 정보, 사이즈 변화 정보, 위치 변화 정보, 각도 변화 정보, 회전 변화 정보, 가속도 정보 중 적어도 하나를 포함하는 소프트웨어 제작 도구 시스템.
  10. 제1항에 있어서,
    상기 확장 엔진은 상기 하나 이상의 개발 인터페이스 툴에 기초하여 생성되는 확장 리소스 접근 엔진이 포함된 소프트웨어를 제공하며,
    상기 확장 리소스 접근 엔진은 원격지의 서버으로부터 필요한 공통 리소스 파라미터 정보를 수신하여 처리하는 클라이언트 엔진을 포함하는 소프트웨어 제작 도구 시스템.
  11. 소프트웨어 제작 방법에 있어서,
    하나 이상의 플랫폼 디바이스에 대응되는 소프트웨어 개발 엔진을 구동하는 단계;
    상기 각 소프트웨어 개발 엔진으로부터 단일 소스 기반 공통 모듈 제작을 위해 필요한 데이터를 추출하여 공통 리소스화하는 확장 엔진을 제공하는 단계; 및
    상기 확장 엔진을 통해 상기 공통 리소스화된 데이터에 기초하여, 상기 단일 소스 기반 공통 모듈 제작을 위한 하나 이상의 개발 인터페이스 툴을 제공하는 단계를 포함하는
    단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 방법.
  12. 제11항에 있어서,
    상기 하나 이상의 개발 인터페이스 툴은 상기 공통 리소스화된 데이터에 기초하여 제공되는 애니메이션(ANIMATION) 툴, 이진화 처리 툴 및 파티클(PARTICLE) 디자이너 중 적어도 하나를 포함하는 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 방법.
  13. 제12항에 있어서,
    상기 애니메이션 툴이 상기 리소스화된 데이터로부터 획득되는 애니메이션별 키프레임 정보를 처리하여 디스플레이하는 단계; 및
    상기 애니메이션 툴이 상기 키프레임에 대응되는 이미지를 트리구조로 편집가능한 키프레임 편집 인터페이스를 제공하는 단계를 포함하고,
    상기 키프레임 편집 인터페이스는 상기 키프레임 정보에 대응되는 히트 체크, 사운드 정보, 데미지 정보 또는 공격 방식 정보 중 적어도 하나를 포함하는 소프트웨어 제작 방법.
  14. 제11항에 있어서,
    상기 이진화 처리 툴이 상기 공통 리소스화된 데이터로부터 편집가능한 문자열로 또는 상기 문자열로부터 이진화 데이터로의 변환 처리를 수행하는 단계를 더 포함하는
    소프트웨어 제작 방법.
  15. 제14항에 있어서,
    상기 이진화 처리 툴이 상기 문자열로부터 로컬라이징 처리를 수행하여 상기 애니메이션 툴로 제공하는 단계를 더 포함하는 소프트웨어 제작 방법.
  16. 제14항에 있어서,
    상기 이진화 처리 툴이 상기 이진화 데이터로의 변환시 상기 문자열 중 미리 결정된 속성의 문자열 부분에 대한 암호화 처리를 수행하는 단계를 더 포함하는 소프트웨어 제작 방법.
  17. 제12항에 있어서,
    상기 파티클 디자이너가 사용자 입력에 따라 생성되는 하나 이상의 파티클 정보를 상기 공통 리소스 데이터에 저장하는 단계를 더 포함하고,
    상기 파티클 정보는 상기 애니케이션 툴에서 이용가능한 소프트웨어 제작 방법.
  18. 제17항에 있어서,
    상기 파티클 정보는 파티클 애니메이션에 대응되는 파티클 종류 정보, 시작 색상 정보, 종료 색상 정보, 사이즈 변화 정보, 위치 변화 정보, 각도 변화 정보, 회전 변화 정보, 가속도 정보 중 적어도 하나를 포함하는 소프트웨어 제작 방법.
  19. 소프트웨어 모듈에 있어서,
    하나 이상의 상용 소프트웨어 개발 엔진으로부터 단일 소스 기반 공통 모듈 제작을 위해 필요한 데이터를 추출하여 공통 리소스화하고, 상기 공통 리소스화된 데이터에 기초하여, 상기 단일 소스 기반 공통 모듈 제작을 위한 하나 이상의 개발 인터페이스 툴에 의해 생성된 확장 엔진 클라이언트 모듈을 포함하고,
    상기 확장 엔진 클라이언트 모듈과 서버와의 통신에 따라 단일 소스 기반의 멀티 디바이스 지원을 위한 데이터가 각 디바이스로 제공되는 것을 특징으로 하는
    소프트웨어 모듈.
  20. 제11항 내지 제18항 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위해 비휘발성 기록매체에 저장되는 컴퓨터 프로그램.
KR1020160129974A 2016-10-07 2016-10-07 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템 KR20180038840A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160129974A KR20180038840A (ko) 2016-10-07 2016-10-07 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160129974A KR20180038840A (ko) 2016-10-07 2016-10-07 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템

Publications (1)

Publication Number Publication Date
KR20180038840A true KR20180038840A (ko) 2018-04-17

Family

ID=62083351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160129974A KR20180038840A (ko) 2016-10-07 2016-10-07 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR20180038840A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113450463A (zh) * 2021-07-01 2021-09-28 网易(杭州)网络有限公司 预制体的转换方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113450463A (zh) * 2021-07-01 2021-09-28 网易(杭州)网络有限公司 预制体的转换方法和装置
CN113450463B (zh) * 2021-07-01 2023-07-21 网易(杭州)网络有限公司 预制体的转换方法和装置

Similar Documents

Publication Publication Date Title
JP7189152B2 (ja) 3次元環境オーサリングおよび生成
US11902377B2 (en) Methods, systems, and computer program products for implementing cross-platform mixed-reality applications with a scripting framework
JP5845522B2 (ja) クロスプラットフォームアプリケーションフレームワーク
US10063996B2 (en) Methods and systems for providing geospatially-aware user-customizable virtual environments
CN102221993B (zh) 复杂用户界面状态变更的声明性定义
TWI413933B (zh) 圖形使用者介面之應用程式介面
KR20200027004A (ko) 게임 렌더링 방법, 및 게임 자원 파일 생성 방법, 장치, 및 기기
US20200201514A1 (en) Placement of objects in an augmented reality environment
CN101727274A (zh) 用于允许用户在便携式电子设备上访问企业数据的方法、系统和图形用户接口
CN102968755A (zh) 基元组成
JP2022019748A (ja) 複合現実において動的仮想コンテンツを生成するデバイスおよび方法
US10719303B2 (en) Graphics engine and environment for encapsulating graphics libraries and hardware
KR20180121732A (ko) 블록 기반 데이터 분석 방법 및 시스템
US8522201B2 (en) Methods and apparatus for sub-asset modification
CN113268212A (zh) 投屏方法、装置、存储介质及电子设备
WO2019076307A1 (zh) 存储装置、应用程序控件以及用户界面的创建方法
JP7092893B2 (ja) ソフトウェア開発におけるアドレス可能なアセット
CN109976744B (zh) 一种可视化编程方法、系统及终端设备
CN105518618A (zh) 配置成将针对视觉元素的输入路由到图形框架的输入对象
KR20180038840A (ko) 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템
US11048376B2 (en) Text editing system for 3D environment
CN114547604A (zh) 一种应用检测方法、装置、存储介质及电子设备
CN105183491A (zh) 跨平台的桌面gis系统及其启动方法
US9372669B2 (en) Multiple architecture viewpoints in single unified modeling language (UML) model
US20230390640A1 (en) Method and apparatus for providing item merging function for game user interface