KR20210091426A - 모듈을 이용한 독자 참여형 전자책 시스템 및 동작 방법 - Google Patents

모듈을 이용한 독자 참여형 전자책 시스템 및 동작 방법 Download PDF

Info

Publication number
KR20210091426A
KR20210091426A KR1020200004579A KR20200004579A KR20210091426A KR 20210091426 A KR20210091426 A KR 20210091426A KR 1020200004579 A KR1020200004579 A KR 1020200004579A KR 20200004579 A KR20200004579 A KR 20200004579A KR 20210091426 A KR20210091426 A KR 20210091426A
Authority
KR
South Korea
Prior art keywords
module
story
information
quest
assembly
Prior art date
Application number
KR1020200004579A
Other languages
English (en)
Other versions
KR102301027B1 (ko
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 KR1020200004579A priority Critical patent/KR102301027B1/ko
Priority to CN202080001724.1A priority patent/CN113396406A/zh
Priority to EP20717069.7A priority patent/EP3905056A4/en
Priority to JP2020541547A priority patent/JP7181642B2/ja
Priority to PCT/KR2020/003096 priority patent/WO2021145506A1/ko
Priority to US16/928,189 priority patent/US11229841B2/en
Priority to TW109128852A priority patent/TWI768442B/zh
Publication of KR20210091426A publication Critical patent/KR20210091426A/ko
Application granted granted Critical
Publication of KR102301027B1 publication Critical patent/KR102301027B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
    • G06F15/025Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators adapted to a specific application
    • G06F15/0291Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators adapted to a specific application for reading, e.g. e-books
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • A63F13/235Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/327Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections using wireless networks, e.g. Wi-Fi or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/46Computing the game score
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/95Storage media specially adapted for storing game information, e.g. video game cartridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7896Modular architectures, e.g. assembled from a number of identical packages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • G09B5/062Combinations of audio and printed presentations, e.g. magnetically striped cards, talking books, magnetic tapes with printed texts thereon
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Manufacturing & Machinery (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Toys (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Warehouses Or Storage Devices (AREA)
  • Instructional Devices (AREA)

Abstract

본 발명은 복수의 모듈이 조립되어 구성되는 모듈 어셈블리; 및 모듈 어셈블리와 사용자 단말과 네트워크를 통해 연결되는 사용자 단말을 포함하는 모듈을 이용한 독자 참여형 전자책 시스템에 있어서, 적어도 하나의 스토리를 포함하는 전자책 데이터베이스를 사용자 단말로 전송하는 스토리 제공부; 스토리를 구성하는 씬에 대하여 생성되며 스토리 진행을 위해 생성되는 적어도 하나의 퀘스트 수행 정보에 기초한 모듈 조립 정보를 수신하는 조립 정보 수신부; 및 모듈 조립 정보에 대하여 점수화 조건별로 사용자의 모듈 조립에 대한 점수를 생성하는 점수 생성부를 포함하도록 구성된 모듈을 이용한 독자 참여형 전자책 시스템이다.

Description

모듈을 이용한 독자 참여형 전자책 시스템 및 동작 방법{A SYSTEM AND METHOD FOR CONSTRUCTING A READER PARTICIPATION TYPE ELECTRONIC BOOK USING MODULE}
본 발명은 모듈을 이용한 독자 참여형 전자책 시스템 및 그의 제작 방법에 관한 것으로서, 보다 상세하게는 독자가 모듈을 이용하여 책의 스토리를 구현해 나감에 따라 독자의 참여 및 흥미를 효과적으로 증대시킬 수 있는 모듈을 이용한 독자 참여형 전자책 시스템 및 그의 제작 방법에 관한 것이다.
최근 교육, 취미, 연구, 생산 등을 목적으로 하는 다양한 모듈 기반 제작 도구들이 제안되고 있다. 이러한 제작 도구들에 포함된 모듈들은 각각 특정한 기능을 수행할 수 있으며, 서로 연결되어 모듈 어셈블리를 형성할 수 있도록 제공된다. 이때, 각각의 모듈은 서로 전기적으로도 연결되어 에너지, 신호, 데이터 등을 송수신할 수 있도록 제공될 수도 있다. 독자는 제공된 매뉴얼 또는 스스로 창작한 방식에 따라 모듈들을 조립하여 특정한 목적을 수행하는 모듈 어셈블리를 제작할 수 있다.
일 예로, 특허문헌 1(대한민국 등록특허 제1761596호)은 네트워크 모듈, 구동 모듈, 센서 모듈 등 다양한 종류의 모듈을 조립하여 제작한 모듈 어셈블리를 개시하고 있다. 이때, 모듈 어셈블리는 학생이나 독자가 모듈(10, 20, 30, 40)들을 조립하면서 전자 장치의 작동 원리를 이해할 수 있는 교육용 키트 또는, 연구원이 특정 목적을 수행하기 위한 장치를 제작하기 위해 사용되는 연구용 키트 및 독자가 취미용으로 조립 가능한 장난감 키트 등의 다양한 용도로 활용될 수 있다.
이러한 모듈 어셈블리들은 위에 언급한 바와 같이 소프트웨어 또는 하드웨어의 전문가인 연구원부터 학생, 일반인 등 다양한 사람들이 이용하고 있다. 단, 전문가를 제외한 일반인이나 학생들은 각 모듈들이 제대로 동작할 수 있도록 조립하고, 조립된 모듈 어셈블리를 구동시키기에 적합한 소프트웨어를 작성하여 사용하는 것이 어려울 수 있어서, 상술한 모듈의 보급에 제약이 될 수 있다.
특히, 센서나 버튼 등의 다양한 하드웨어에서 생성된 신호들을 논리 연산하는 등의 코딩들은 다양한 API(Application Program Interface)를 활용해야 하므로, 일반인이나 학생들에게는 난이도가 높은 코딩 기법이 될 수 있다. 따라서, 전자책과 연결된 모듈을 이용함으로써 코딩에 대한 접근이 용이하도록 하는 시스템이 필요하다.
본 발명은 상술한 기술적 문제에 대응하기 위하여 안출된 것으로, 본 발명의 목적은 종래 기술에서의 한계와 단점에 의해 발생하는 다양한 문제점을 실질적으로 보완할 수 있는 것으로, 독자가 모듈을 이용하여 책의 스토리를 구현해 나감에 따라 독자의 참여 및 흥미를 효과적으로 증대시킬 수 있는 모듈을 이용한 독자 참여형 전자책 시스템을 제공하는데 있다.
본 발명의 일 실시예에 따르면 모듈을 이용한 독자 참여형 전자책 시스템은 복수의 모듈이 조립되어 구성되는 모듈 어셈블리; 모듈 어셈블리와 사용자 단말과 네트워크를 통해 연결되는 사용자 단말을 포함하는 모듈을 이용한 독자 참여형 전자책 시스템에 있어서, 적어도 하나의 스토리를 포함하는 전자책 데이터베이스를 사용자 단말로 전송하는 스토리 제공부; 스토리를 구성하는 씬에 대하여 생성되며 스토리 진행을 위해 생성되는 적어도 하나의 퀘스트 수행 정보에 기초한 모듈 조립 정보를 수신하는 조립 정보 수신부; 및 모듈 조립 정보에 대하여 점수화 조건별로 사용자의 모듈 조립에 대한 점수를 생성하는 점수 생성부를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 퀘스트 수행 정보는 스토리를 형성하는 설명문 및 모듈 결합으로 해결해야 하는 지시문을 포함하며, 상기 지시문에 따라 퀘스트를 수행하기 위해 결합되는 필수 모듈은 미리 결정될 수 있다.
본 발명의 일 실시예에 따르면, 퀘스트 수행 정보는 스토리의 진행과는 무관하며 사용자에 의해 임의로 선택되어 조립된 모듈에 의해 생성되는 이벤트 요소를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 이벤트 요소에 의해 스토리와 무관한 히든 스토리를 생성하는 히든 스토리 생성부를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면, 점수화 조건은 사용자가 모듈 어셈블리를 조립하는데 소요된 시간, 연결된 모듈의 종류에 대한 모듈 정보, 모듈의 동작 여부, 활성화된 스토리 정보, 코드 구현 여부, 순발력, 협동 여부 및 코드 구현 시간 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 활성화된 스토리 정보는 모듈 조립에 기초하여 생성된 스토리 라인의 길이일 수 있다.
본 발명의 일 실시예에 따르면, 점수 생성부는 점수화 조건에 대하여 항목별로 가중치를 두어 점수를 부가할 수 있다.
본 발명의 일 실시예에 따르면 점수 생성부는, 점수화 조건에 대하여 기 설정된 가중치에 따라 점수를 생성할 수 있다.
본 발명의 일 실시예에 따르면, 스토리 제공 서버는, 스토리의 난이도에 기초하여 모듈 조립에 대한 기준 시간을 난이도와 비례하도록 상이하게 설정할 수 있다.
본 발명의 일 실시예에 따르면, 이벤트 요소에 대한 사용자의 미션 수행 여부를 판단하는 미션 수행 정보를 수신하는 이벤트 요소 생성부; 및 이벤트 요소에 대한 사용자의 이벤트 수행 정보를 수신하는 이벤트 정보 수신부;를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 스토리 제공 서버는, 모듈 조립 정보에 기초하여 소스 코드를 생성하는 소스 코드 생성부를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면, 모듈 어셈블리는 입력 모듈 및 출력 모듈 중 적어도 하나를 포함하고, 입력 모듈은 환경 모듈, 버튼 모듈, 자이로스코프 모듈, 마이크 모듈, 적외선 모듈, 다이얼 모듈 및 초음파 모듈 중 적어도 하나이고, 출력 모듈은 LED 모듈, 스피커 모듈, 디스플레이 모듈, 모터 컨트롤러 모듈 및 모터 모듈 중 적어도 하나일 수 있다.
본 발명의 일 실시예에 따르면, 상기 퀘스트와 무관하게 사용자에 의해 결합되는 잉여 모듈, 토폴로지 및 프로그래밍에서 나오는 모듈 순서 중 적어도 하나를 고려하여 상기 퀘스트 이후로 나오는 넥스트 퀘스트가 결정될 수 있다.
본 발명의 일 실시예에 따르면, 넥스트 퀘스트에 대하여 모듈을 조립하는 경우, 상기 넥스트 퀘스트 직전에 수행한 이전 퀘스트에 대한 모듈 조립을 초기화한 후 조립할 수 있다.
본 발명의 일 실시예에 따르면, 네트워크는 유선 및/또는 무선 연결될 수 있다.
본 발명의 일 실시예에 따르면, 복수의 모듈 각각은 모듈 고유의 식별자인 모듈 고유 정보를 포함하고, 모듈 어셈블리 내에는 사용자를 구분하기 위한 적어도 하나의 세트 고유 정보를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따르면 복수의 모듈을 포함하는 모듈을 이용한 전자책 시스템의 동작 방법에 있어서, 스토리 제공부에 의해 적어도 하나의 스토리를 포함하는 전자책 데이터베이스를 사용자 단말로 전송하는 단계; 조립 정보 수신부에 의해 스토리를 구성하는 씬에 대하여 생성되며 스토리 진행을 위해 생성되는 적어도 하나의 퀘스트 수행 정보에 기초한 모듈 조립 정보를 수신하는 단계; 및 점수 생성부에 의해 모듈 조립 정보에 대하여 점수화 조건별로 사용자의 모듈 조립에 대한 점수를 생성하는 단계를 포함할 수 있다.
본 발명에 따른 과제의 해결수단은 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
본 발명의 실시예들에 의하면 적어도 다음과 같은 효과가 있다.
본 발명에 따르면, 독자가 모듈을 조립하여 다양한 스토리를 연출할 때 이벤트 요소를 부가하여 이벤트에 대한 달성 속도 및 달성률 등을 평가함으로써 독자의 흥미를 높여 집중력을 향상시킴과 동시에 순발력을 향상시키는데 도움을 줄 수 있다.
본 발명에 따르면, 스토리를 진행함에 있어서 모듈을 통해 시각, 청각 등을 출력함으로써 스토리에 대한 독자의 이해도를 높힐 수 있고, 독자가 스스로 스토리를 다양하게 연출함으로써 독자의 참여도를 높여 지속적인 흥미를 유발시킬 수 있다.
본 발명에 따르면 독자가 스토리에 대한 이벤트 요소를 수행해 나가면서 조립한 모듈에 대한 소스 코드 정보를 피드백 받음으로써 코딩에 대한 관심도를 증가시키고 일정 수준 이상의 학습 결과를 보장할 수 있다.
본 발명에 따르면 다양한 스토리를 갖는 전자 동화책을 모듈과 연결시켜 활용하도록 함으로써 제품의 효용성을 높일 수 있다.
본 발명에 따르면, 모듈이 조립되는 코딩의 전 과정을 점수화하여 유저들간의 경쟁력을 강화시키며 다양한 창의적인 스토리를 창출할 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 실시예에 따른 모듈 어셈블리가 조립된 모습을 보여주는 사시도이다.
도 2는 본 발명의 실시예에 따른 모듈의 내부 구조를 보여주는 평면도이다.
도 3은 본 발명의 실시예에 따른 모듈을 이용한 독자 참여형 전자책 시스템을 나타낸 개략도이다.
도 4는 본 발명의 실시예에 따른 스토리 제공 서버의 구성을 나타낸 블럭도이다.
도 5는 본 발명의 실시예에 따른 메인 모듈의 구성 요소를 설명하기 위한 블럭도이다.
도 6은 본 발명의 실시예에 따른 독자 참여형 전자책 시스템의 동작을 개략적으로 도시한 순서도이다.
도 7은 본 발명의 실시예에 따른 독자 참여형 전자책 시스템의 전체적인 스토리를 설명하기 위한 예시도이다.
도 8은 본 발명의 실시예에 따른 전자책에 대한 예시도이다.
도 9 내지 도 10은 본 발명의 실시예에 따른 독자 참여형 전자책과 모듈의 연결을 설명하기 위한 예시도이다.
도 11은 본 발명의 실시예에 따른 모듈 어셈블리의 조립에 따라 생성된 소스 코드의 예시도다.
도 12는 본 발명의 실시예에 따른 토폴로지 정보를 설명하기 위한 표이다.
발명의 이점, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우, '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.
구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 도 1 및 도 2를 참조하여 본 발명에 실시예에 따른 모듈 어셈블리를 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 모듈 어셈블리가 조립된 모습을 보여주는 사시도이다. 도 2는 본 발명의 실시예에 따른 모듈의 내부 구조를 보여주는 평면도이다.
도 1을 참조하면, 모듈 어셈블리(1)는 서로 조립 가능한 복수개의 모듈(10, 20, 30, 40)들로 구성된다.
본 실시예에서 모듈 어셈블리(1)는 서로 조립 가능한 하나 이상의 모듈들(10, 20, 30, 40)의 집합 또는 이들이 조립된 구조체로 정의될 수 있으며, 그 목적, 종류, 형태, 모듈의 개수 등에 의해 제한되지 않는다. 예를 들어, 모듈 어셈블리(1)는 학생이나 독자가 모듈들을 조립하면서 전자 장치의 작동 원리를 이해할 수 있는 교육용 키트의 일부일 수 있다. 또는, 모듈 어셈블리(1)는 연구원이 특정 목적을 수행하기 위한 장치를 제작하기 위해 사용되는 연구용 키트의 일부일 수 있다. 또는, 모듈 어셈블리(1)는 독자가 취미용으로 조립 가능한 장난감 키트의 일부일 수 있다.
설명의 용이함을 위하여 본 실시예에서는 모듈 어셈블리(1)가 도 1에 도시된 바와 같이 네 개의 모듈들(10, 20, 30, 40)로 구성된 것으로 예를 설명하며, 각각 제1 모듈(10), 제2 모듈(20), 제3 모듈(30) 및 제4 모듈(40)로 지칭한다.
복수개의 모듈(10, 20, 30, 40)은 전압 또는 전류의 변화로서 나타내는 신호, 데이터, 또는 전기 에너지(이하, “전기적 신호”라고도 함)를 다른 모듈 또는 외부 장치와 송수신할 수 있도록 구성된 객체로 정의될 수 있다. 이러한 모듈들(10, 20, 30, 40)은 중앙처리장치(CPU), 메모리, 전원 등을 구비하거나 또는 다른 모듈의 제어를 받아 작동 가능한 감지(Sensing) 수단, 처리(Processing) 수단 및 구동(Driving) 수단 등을 구비하여 각각 독립적으로 구동 가능할 수 있다.
또한, 각각의 모듈들(10, 20, 30, 40)은 독립적으로 특정한 기능을 수행하거나, 다른 모듈과의 상호 작용에 의해 특정한 기능을 수행하도록 구성될 수도 있다. 모듈들이 중앙처리장치(CPU)를 구비하는 경우에는 각각의 모듈별로 펌웨어(Firmware)가 설치될 수도 있다. 본 명세서에서는 복수개의 모듈(10, 20, 30, 40) 중 제1 모듈(10)은 메인 모듈로 기능하는 것으로 기재하였으며, 이와 관련된 구체적인 내용은 도 5를 참조하여 후술하기로 한다.
또한, 각각의 모듈들(10, 20, 30, 40)은 크게 입력(Input) 모듈, 출력(Output) 모듈, 셋업(Setup) 모듈로 구분할 수 있다.
여기서, 입력 모듈은 리모컨 등으로부터 적외선 신호를 수신할 수 있는 적외선 모듈(IR(Infrared) module), X,Y,Z축 변화 각도와 가속도를 감지할 수 있는 자이로스코프 센서 모듈(Gyroscope module), 모듈 손잡이의 회전을 이용하여 회전 각도 혹은 회전 속도를 측정할 수 있는 다이얼 모듈(Dial module), 버튼의 눌림을 감지하여, 클릭, 더블 클릭, 눌린 상태를 감지하고, 토글(Toggle)을 사용해 온/오프(On/Off) 상태가 유지될 수 있도록 하는 버튼 모듈(Button module), 온도, 습도, 조도 등을 측정할 수 있는 환경 모듈(Environment module), 주변의 소리 세기(dB)와 주파수를 감지할 수 있는 마이크 모듈(Mic module) 및 거리를 감지할 수 있는 초음파 모듈(Ultrasonic module) 등으로 구성될 수 있다.
출력 모듈은 색 변경에 따른 시각적 표시가 가능한 LED 모듈(LED module), 스피커 모듈(Speaker module), 독자가 그린 그림이나, 글자 또는 모듈 정보 등을 화면에 표시하는 디스플레이 모듈(Display module), 속도, 각도, 토크(Torque)를 설정하여 전기 신호를 모터 모듈로 보내서 회전 운동을 시켜주는 모터 컨트롤러 모듈(Motor Controller module), 또는 모터 컨트롤러에서 받은 전기적 신호를 회전운동으로 변환할 수 있는 모터 모듈(Motor; MDP-14) 등으로 구성될 수 있다.
셋업 모듈은 다른 모듈에 전원을 공급할 때 사용되는 배터리 모듈(Battery module) 및 블루투스(Bluetooth), 와이파이(WiFi) 혹은 USB 연결을 통해 모듈을 PC, 스마트폰 또는 모듈과 연결시킬 수 있는 네트워크 모듈(Network module) 등으로 구성될 수 있다.
또한, 각각의 모듈들(10, 20, 30, 40)은 외부의 구동 장치(41)와 케이블(42)에 의해 연결될 수도 있다. 이 경우, 모듈 어셈블리(1)는 리모컨 또는 스마트폰의 신호를 수신하여 모터를 선택적으로 작동시키는 장치일 수 있다. 상기와 같은 모듈 어셈블리(1)의 구성은 하나의 예에 불과하며, 각각의 모듈(10, 20, 30, 40)은 독립적으로, 또는 다른 모듈과의 연동을 통해 임의의 기능을 수행할 수 있도록 제공될 수 있다.
모듈들(10, 20, 30, 40)은 이웃하는 다른 모듈과 면 접촉 가능하도록 복수 개의 측면을 갖는 다각형 기둥 형상인 입체일 수 있다. 여기서, 면 접촉은 측면의 모든 면적이 모두 접촉되는 것만을 의미하는 것은 아니며, 측면의 일부만 접촉되어 어느 하나의 모듈의 측면과 다른 모듈의 측면이 서로 마주보며 일부분이 접촉되는 것을 포함하는 의미로 이해되어야 한다
본 실시예에서는 모듈들(10, 20, 30, 40)이 정사각형 형상의 평면을 갖는 것을 예로 들어 도시하였다. 즉, 본 실시예에서의 모듈들은 4개의 측면을 갖는 직육면체인 것을 예로 설명한다. 한편, 다른 실시예로서 모듈들(10, 20, 30, 40)은 평면상 정삼각형, 직사각형, 정오각형 등의 다각형 기중 형상으로 형성될 수도 있고, 특히, 정다각형 형상으로 형성될 수 있다. 일부의 모듈들이 서로 다른 입체적 형상을 가질 수도 있다. 또한, 모듈들 중 일부는 뿔, 다면체 등의 다양한 입체적 형상을 가질 수도 있다.
이하에서는, 복수의 모듈들 중에서 제1 모듈(10)을 기초로 모듈의 구성을 설명하기로 한다.
여기서, 제1 모듈(10)은 외관을 형성하는 하우징(11)과, 상기 하우징(11)의 측면에 노출되어 전기 신호 등을 연결된 다른 모듈에 전달하거나 수신할 수 있는 단자(107)와, 하우징의 외부로 선택적으로 돌출되는 핀(180)이 제공된 핀 설치부(150) 및 다른 모듈의 핀이 삽입되는 핀 수용부(160)를 포함할 수 있다.
한편, 제1 모듈(10)의 일 측면에는 외부 장치와 통신할 수 있는 시리얼 포트(Serial Port)를 포함할 수 있다. 예컨대, 시리얼 포트는 USB(Universal Serial Bus), USB-C type, IEEE 1394, 썬더볼트(Thunderbolt) 등의 유선 시리얼 통신을 할 수 있는 다양한 규격의 포트를 사용할 수 있다.
하우징(11)은 평면이 정사각형인 직육면체 형상으로 형성된 케이스로서, 내부의 구성품들을 보호한다. 하우징(11)은 도 1에 도시된 바와 같이 상부 케이스(11a)와 하부 케이스(11b)가 결합되는 형태로 제공될 수 있다. 하우징(11)을 구성하는 방법은 필요에 따라 상부 케이스(11a)와 하부 케이스(11b)가 일체로 형성되거나, 더 많은 부분으로 나뉘어 조립될 수도 있다.
단자(107)는 전기 신호 등을 연결된 다른 모듈에 전달하거나 다른 모듈로부터 받을 수 있으며, 일 예로 하우징(11)의 내부에 제공된 기판(102)으로부터 전기 신호 등을 전달받아 단자에 접촉된 다른 모듈의 단자로 전달할 수 있다. 단자(107)는 다수 개의 접촉 점이나 연결 핀을 가질 수 있으며, 이는 전기 신호 등의 전달 방법, 표준화된 규격 등에 따라 다양한 형태를 가질 수 있다.
이와 같은 단자(107)는 핀(180), 핀 설치부(150), 핀 수용부(160)와 한 세트를 이루어 하우징(11)의 일 측면에 배치될 수 있다. 구체적으로, 단자(107)는 핀(180)과 핀 수용부(160) 사이에 배치될 수 있으며, 다른 모듈의 핀과 핀 수용부 사이에 배치된 단자에 접촉될 수 있다.
본 실시예에서는 하우징(11)의 모든 측면에 단자(107)가 제공되는 것을 예로 들었으나, 실시예에 따라서는 단자(107)가 형성되지 않은 측면이 존재할 수도 있다.
도 2를 참조하면, 하부 케이스(11b)는 외형 및 내부 구조를 형성하는 프레임(100), 프레임(100)의 내측에 제공되는 기판(102) 및 기판(102)에 설치되는 기능 유닛(104)을 포함할 수 있다.
프레임(100)은 하우징(11)의 일부 또는 전부를 구성하는 구조물로서, 하우징(11)의 일부 또는 전부의 외형을 형성하고, 내부에 각종 부품이 설치되기 위한 공간과 구조를 제공할 수 있다. 본 실시예에서 프레임(100)은 하우징(11)의 하부 케이스(11b)를 형성하는 것을 예로 들어 설명하나, 본 발명의 권리범위는 이에 한정되지 않는다. 또한, 본 실시예에서 프레임(100)은 사각형 형상으로 형성되며, 4개의 코너(corner, 101)를 갖는다.
기판(102)에는 제1 모듈(10)의 기능을 구현하기 위한 기능 유닛(104)이 실장될 수 있으며, 프레임(100)의 내측 공간 중앙부에 고정 설치될 수 있다. 기능 유닛(104)은 예를 들어 마이크로프로세서(105)를 포함할 수 있으며, 이때 제1 모듈(10)이 독립적인 펌웨어에 의해 구동되면 제1 모듈(10)을 제어하기 위해 제공될 수 있다.
또 다른 예로서, 제1 모듈(10)이 적외선 센서 모듈인 경우, 기능 유닛(104)은 적외선 센서 및 적외선 센서로부터 감지된 값을 처리하는데 필요한 ADC(Analog Digital Converter) 및 다른 모듈 또는 외부 하드웨어와 통신하는 데 필요한 인터페이스 예컨대, I2C 또는 UART, 또는 USB 등의 통신 인터페이스 등 필요한 디바이스들을 포함할 수 있다. 이처럼 본 발명의 모듈(10, 20, 30, 40)은 상술한 기능 유닛(104)의 기능에 따라 모듈의 종류가 정해질 수 있다.
또 다른 예로서, 기능 유닛(104)이 마이크로프로세서(105) 및 메모리를 포함하고 있으며, 다른 유닛들을 제어할 수 있는 OS 또는 펌웨어를 포함하고 있는 경우에는 컨트롤 모듈이 된다.
또는, 기능 유닛(104)이 센서의 센싱 값을 다른 모듈 또는 외부 디바이스에 전달할 수 있는 경우에는 센서 모듈이 된다.
또는, 기능 유닛(104)이 NB-IOT, LTE, LoRa, WiFi, Bluetooth, USB, 케이블 모뎀 등 다양한 유무선 통신 장치를 포함하면서 다른 모듈로부터 전기적 신호를 수신하여 상술한 유무선 통신 장치를 통하여 다른 외부 디바이스에 전기적 신호를 전송할 수 있는 경우에는 통신 모듈이 될 수 있다.
또는, 기능 유닛(104)이 모터 등의 다양한 액추에이터 및 액추에이터 제어 회로들을 포함하여 구동이 가능하게 하는 경우에는 구동 모듈이 될 수 있다. 기타 본원 발명의 모듈의 더욱 상세한 구조 및 결합에 대해서는 대한민국 등록특허 공보 제10-1761596에 상세하게 기재되어 있으며, 본원 특허 명세서에 참조로서 포함된다.
이하, 도 3을 참조하여 본 발명의 실시예에 따른 독자 참여형 전자책 시스템에 대하여 설명하기로 한다.
도 3은 본 발명의 실시예에 따른 모듈을 이용한 독자 참여형 전자책 시스템을 나타낸 개략도이다.
도 3을 참조하면, 모듈을 이용한 독자 참여형 전자책 시스템은 모듈 어셈블리(1) 및 사용자 단말(2)을 포함할 수 있다. 이 경우, 모듈 어셈블리(1)는 인터넷, 인트라넷, 또는 광대역 통신망 등의 네트워크를 통하여 사용자 단말(2)과 연결될 수 있다. 또는 유무선 통신 특히, 시리얼 포트 연결을 통하여 사용자 단말(2)과 직접 연결될 수도 있다. 아울러, 네트워크는 USB, RS-222 및 IEEE1394 등의 유선 근거리 통신 수단, WiFi 및 Bluetooth 등의 무선 근거리 통신 수단 및 인터넷 연결 등을 포함할 수 있다. 이때, 사용자 단말(2)은 모듈 어셈블리(1)를 구동시킬 수 있는 프로그램의 소스 코드를 작성, 추천 및 컴파일(또는 인터프리트)할 수 있는 저작툴을 제공할 수 있다. 이러한 소스 코드의 작성, 추천 및 컴파일(또는 인터프리트)할 수 있는 저작툴에 대해서는 본 출원인이 이전에 발명한 대한민국 특허출원 제10-2018-0114166호 및 제10-2018-0114171호에 상세하게 기재되어 있으며, 위의 두 특허는 참조로서 포함된다. 한편, 본 명세서에서 모듈을 이용한 독자 참여형 전자책 시스템은 모듈 어셈블리(1) 또는 사용자 단말(2)과 연결되는 스토리 제공 서버(2)를 더 포함할 수도 있다.
사용자 단말(2)은 네트워크를 통하여 모듈 어셈블리(1)로부터 조립 정보를 수신할 수 있으며, 이러한 조립 정보를 데이터베이스로 저장할 수 있다. 조립 정보에 기초하여 소스 코드를 생성할 수 있다. 사용자 단말(2)은 사전에 미리 구성해두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 소스 코드를 데이터베이스로 저장하고 현재 사용자의 모듈 어셈블리(1)의 조립 정보 및 데이터베이스에 기초하여 소스 코드를 제공할 수 있다.
또한, 사용자 단말(2)은 조립 정보에 기초하여 조립 오류 여부를 판단하고 조립 오류 정보를 모듈 어셈블리(1)에게 제공하고, 모듈을 제거, 치환 및 추가할 수 있도록 조립 도움 정보를 모듈 어셈블리(1)에게 제공한다. 조립 정보는 이하 도 4 등을 이용하여 상세히 후술한다.
또한, 사용자 단말(2)이 소스 코드를 제공함에 있어서, 사용자 단말(2)은 사용자의 모듈 어셈블리(1)의 조립 정보에 기초하여, 모듈 어셈블리(1)의 조립 시간(이하, “모듈 결합 시 소요된 시간”이라고도 함), 사용된 모듈의 개수, 사용된 모듈의 종류, 모듈의 동작 정보, 저장된 스토리와 생성된 스토리와의 유사도 및 모듈의 동작 여부 등을 점수화할 수 있다. 여기서, 나열된 복수의 항목들은 점수화 조건으로 지칭될 수도 있으며, 상술한 종류에 한정되는 것은 아니다. 예컨대, 점수화 조건을 위한 복수의 항목들은 제거 시 소요된 시간, 같은 문제 해결 시 사용한 모듈의 개수(이 경우, 점수화 조건은 “효율”이라고도 함), 모듈 대체 시 소요되는 시간(이하, “순발력”이라고도 함), 2인 이상의 사용자가 협동하여 모듈을 조립하거나 코딩을 완성한 경우(이 경우, 점수화 조건은 “협동”이라고 함) 등을 포함할 수 있다. 이와 관련한 구체적인 내용은 추후 설명하기로 한다.
또한, 사용자 단말(2)은 상기 소스 코드의 실행 규칙의 정합성을 체크하여, 모듈 어셈블리(1) 조립에 오류가 있는지 여부를 판단하고, 모듈 어셈블리(1)에 조립 오류 정보를 제공한다. 사용자 단말(2)은 모듈 어셈블리(1)가 실행 규칙에 맞게 배열되어 조립되어 있는지 등을 실행 규칙의 정합성으로 체크한다. 조립 오류 정보는 오류가 발생한 적어도 하나의 모듈 고유 정보(모듈 ID)를 포함한다. 모듈 어셈블리(1)는 사용자 단말(2) 또는 스토리 제공 서버(2)로부터 제공받은 조립 오류 정보에 기초하여, 적어도 하나의 오류가 있는 모듈에 조립 오류가 있음을 출력한다. 모듈 어셈블리(1)는 적어도 하나의 오류가 있는 모듈의 LED를 소정의 색깔로 점멸시킴으로써, 조립 오류가 있음을 출력할 수 있으나, 다른 방식으로 조립 오류가 있음을 출력할 수 있음은 당업자에게 자명하다.
또한, 사용자 단말(2)은 조립 정보에 기초하여 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천할 수 있다. 전술한 바와 같이, 사용자 단말(2)은 현재 조립된 모듈 어셈블리(1)의 조립 정보 및 데이터베이스에 기초하여 소스 코드를 제공한다. 사용자 단말(2)은 상기 소스 코드에 기초하여, 모듈 어셈블리(1)에서 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 추천한다. 이 경우, 추가 또는 치환할 위치의 모듈 정보는 모듈 어셈블리(1)의 현재 구성에서, 모듈을 추가 부착하여 현재 구성 대비 추가적인 동작을 수행하거나, 또는 현재 구성에서 치환할 수 있는 모듈에 대한 정보를 의미한다.
또한, 사용자 단말(2)은 현재 조립된 모듈 어셈블리(1)의 상기 소스 코드의 실행 규칙의 정합성을 체크하여, 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 조립 도움 정보에 포함하여 모듈 어셈블리(1)에게 제공한다. 모듈 어셈블리(1)는 제거, 치환 및 추가할 위치의 모듈의 LED를 소정의 색깔 및 소정의 방향으로 점멸시킴으로써, 제거, 치환 및 추가할 위치의 모듈 및 그 위치를 출력할 수 있으나, 다른 방식으로 출력할 수 있음은 당업자에게 자명하다. 이때 사용자 단말(2) 또는 스토리 제공 서버(2)가 복수의 제거, 치환 및 추가할 위치의 모듈 정보와 그 위치를 제공하는 경우, 외부 입력에 기초하여 선호하는 모듈 정보를 선택할 수 있다.
또한, 사용자 단말(2)은 조립 정보에 기초하여, 디버깅용 소스 코드를 생성한다. 사용자 단말(2)은 사전에 미리 구성해 두었거나 기존 사용자들이 이미 사용한, 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 디버깅용 소스 코드를 데이터베이스로 저장하고 현재 사용자의 모듈 어셈블리(1)의 조립 정보 및 데이터베이스에 기초하여 디버깅용 소스 코드를 제공한다. 사용자 단말(2)은 디버깅용 소스 코드를 컴파일한 실행 파일(이하, 펌웨어)을 모듈 어셈블리(1)에게 제공한다. 디버깅용 펌웨어는 모듈 어셈블리(1)에 다운로드된다. 디버깅용 펌웨어는 모듈 어셈블리(1)의 실행 순서에 따라, 실행되는 모듈의 LED를 소정의 속도로 점멸시킨다. 디버깅용 펌웨어는 입력 모듈에서 입력 순서를 기다리는 경우, LED 색깔을 소정의 색깔로 다르게 점멸시킬 수 있다.
또한, 사용자 단말(2)은 모듈 어셈블리(1) 조립 시 세트 고유 정보(세트 ID)가 두 종류 이상 섞여 있는지 여부를 판단할 수 있다. 다시 말해, 세트 고유 정보는 모듈 어셈블리(1) 조립 시 하나의 모듈 어셈블리 내에 복수의 사용자가 조립에 참여했는지를 판단할 수 있다. 예컨대, 하나의 모듈 어셈블리(1) 내에 제1 세트 고유 정보와 제2 세트 고유 정보가 있는 경우 두 명의 사용자가 조립에 참여한 것으로 판단할 수 있다. 즉, 한 명의 사용자가 모듈을 조립할 경우 모듈 어셈블리(1)에는 하나의 세트 고유 정보(세트 ID)가 생성되고, 복수의 사용자가 모듈을 조립할 경우 모듈 어셈블리(1)에는 복수의 세트 ID가 생성되게 된다. 이에 따라, 사용자 단말(2)은 조립된 하나의 모듈 어셈블리(1)에 적어도 둘 이상의 세트 고유 정보(세트 ID)가 포함된 경우, 복수의 사용자가 모듈 조립에 참여하고 있다고 판단하여 점수 생성 시, 이를 고려하여 점수에 반영할 수 있다. 예컨대, 점수화 조건인 복수의 항목에 협동 여부를 추가하여 점수에 반영하거나, 사용자 별로 점수를 따로 매김으로써 사용자 간의 경쟁력을 도모할 수도 있다.
이하, 도 4를 참조하여 본 발명의 실시예에 따른 스토리 제공 서버(2)의 구성 및 동작에 대해 구체적으로 설명하기로 한다.
도 4는 본 발명의 실시예에 따른 스토리 제공 서버의 구성을 나타낸 블럭도이다.
도 4를 참조하면, 스토리 제공 서버(2)는 스토리 제공부(21), 조립 정보 수신부(22), 이벤트 요소 생성부(23), 이벤트 정보 수신부(24), 코드 생성부(25), 점수 생성부(26), 디스플레이부(27) 및 데이터베이스(28)를 포함한다.
스토리 제공부(21)는 적어도 하나의 스토리를 전자책 형태로 사용자 단말에 전송하는 구성이다. 전자책은 복수의 씬(Scene)구성된 스토리를 제공할 수 있다. 이때, 스토리는 다양한 결말을 가진 스토리일 수 있으며 이와 관련된 구체적인 내용은 추후 설명하기로 한다. 한편, 데이터베이스(28)는 전자책 데이터베이스라고 지칭될 수도 있다. 각각의 스토리와 모듈과의 연결 관계에 대한 구체적인 내용은 추후 설명하기로 한다.
또한, 스토리를 구성하는 적어도 하나의 씬에는 텍스트, 그림, 동영상 중 어느 하나 또는 적어도 하나의 조합의 형태로 이루어진 스토리 정보가 포함될 수 있다. 여기서, 텍스트는 단어, 문장, 문단 단위로 제공되어 디스플레이부(27)에 표시될 수 있다. 또한, 씬은 상기 스토리 정보가 표시되는 스토리 영역 및 현재 씬에 대한 퀘스트 정보가 표시되는 퀘스트(Quest) 영역을 포함할 수 있으며, 각 영역의 위치는 실시예에 따라 변경될 수도 있다. 이때, 스토리 영역 및 퀘스트 영역에 대한 구체적인 내용은 추후 설명하기로 한다.
조립 정보 수신부(22)는 씬 마다(혹은 일부 씬 마다) 포함된 스토리와 관련된 적어도 하나의 상기 퀘스트 수행 정보 중 선택된 하나의 퀘스트 수행 정보에 상응하는 모듈이 조립되면 조립된 상기 모듈에 대한 정보(이하, “모듈 조립 정보”라고도 함)를 수신하는 구성이다. 여기서, 퀘스트 수행 정보는 스토리 진행을 위한 요소로써 이해되는 것이 바람직하며, 퀘스트 수행 정보의 선택에 따른 퀘스트 간의 연결이 스토리 라인인 것을 특징으로 한다.
이벤트 요소 생성부(23)는 씬에 포함된 스토리와 관련한 이벤트 요소를 사용자 단말로 제공하는 구성으로서, 이벤트 요소에 대한 조립에 따라 히든 스토리가 생성될 수 있다. 또한, 이벤트 요소는 스토리를 진행하는데 있어 사용자의 흥미를 유발시킬 수 있도록 모듈 조립만 아닌 모션 동작을 요구할 수 있다. 예컨대, 용사가 용을 마주친 경우, 사용자에게 “마이크 모듈을 이용하여 일정 dB(데시벨) 이상으로 소리를 질러 용을 무찌르세요”와 같은 이벤트 요소를 제공할 수 있다. 이때, 이벤트 요소는 사용자 단말의 디스플레이부(27)를 통해 텍스트로서 출력되거나, 사용자 단말의 스피커부를 통해 음성으로서 출력될 수도 있다. 한편, 히든 스토리는 이벤트 요소에 대한 조립에 의해 생성되는 것으로 제한되는 것은 아니며, 사용자가 스토리 진행과 무관한 임의의 모듈(이하, “스토리 진행 시 생략 가능한 모듈”이라고도 함)을 조립함에 따라 생성될 수도 있는 것을 특징으로 한다.
이에 따라, 이벤트 정보 수신부(24)는 사용자가 특정 모듈을 이용하여 상기 이벤트 요소에 대한 미션을 수행하고, 미션 수행을 완료한 경우(즉, 사용자가 해당 모듈의 조립을 완성한 경우)에 사용자 단말이 미션 수행을 완료했다는 정보(이하, “이벤트 수행 정보”라고도 함)를 수신하는 구성이다.
한편, 본 발명에서는 실시예에 따라 스토리와 무관하며 이벤트 요소에 의해 히든 스토리를 생성하는 별도의 히든 스토리 생성부를 포함할 수도 있다.
코드 생성부(25)는 모듈 조립 정보에 기초하여 소스 코드를 생성하는 구성이다. 코드 생성부(25)는 소스 코드를 사전에 미리 구성해 두거나 기존 사용자들이 이미 사용한 모듈 어셈블리 조립 정보 이력 및 이에 대응되는 소스 코드를 데이터베이스(28)로 저장하고 현재 사용자의 모듈 어셈블리(1)의 조립 정보 및 데이터베이스(28)에 기초하여 소스 코드를 제공할 수 있다.
점수 생성부(26)는 스토리에 대한 모듈 조립 정보가 저장된 데이터베이스(28)를 기반으로 현재 사용자로부터 조립되는 모듈 조립 정보를 비교하여 모든 과정을 복수의 점수화 조건에 따라 점수를 생성하는 구성이다. 또한, 점수 생성부(26)는 모듈 조립 정보에 대하여 기 설정된 가중치를 기초로 점수를 생성한다. 여기서, 기 설정된 가중치는 모듈 조립 시 소요된 시간, 사용한 모듈의 종류의 수, 사용된 모듈의 수, 저장된 스토리와의 유사성 등을 포함하는 복수의 모듈 조립 정보 중 어느 하나 또는 그 이상의 조건에 대하여 가중치가 비율별로 설정될 수 있다. 예컨대, 모듈 조립 시 소요된 시간이 짧은 경우에 가중치를 설정하거나, 사용한 모듈의 종류의 수가 적을수록(또는 많을수록) 가중치를 설정하거나, 사용한 모듈의 수가 많을수록(혹은 적을수록) 가중치를 설정하거나, 또는 데이터베이스(28)에 저장된 스토리와 유사도가 높을수록 가중치를 설정할 수 있다. 또한, 점수 생성부(26)는 조립이 완성되기까지 소요된 시간, 완성 시까지 결합, 제거한 횟수, 서버에 저장된 통계와 대비하여 상기 통계를 기준으로 가중치를 부여하여 점수를 생성하여 완성도를 평가할 수도 있다. 또한, 점수 생성부는, 같은 문제 해결 시 사용한 모듈의 개수를 기반으로 점수를 생성하여 효율성을 평가할 수 있다. 또한, 점수 생성부(26)는 바람직한 스토리에 가까운, 예컨대, 서버에 기 저장된 패턴과 유사하게(또는 비유사하게) 배치된 사례에 가중치를 두어 문제에 따른 해결 방법이 저장된 데이터베이스를 기초로 패턴의 유사성을 비교하여 유사도를 평가할 수도 있다. 또한, 점수 생성부(26)는 두 명 이상이 협동하여 모듈을 조립하거나 코딩을 완성한 경우에 가중치를 두어 점수를 생성하여 협동성을 평가할 수도 있다. 이때, 협동성과 관련하여 추후 도 6을 참조하여 후술하기로 한다. 또한, 점수 생성부(26)는 관리자가 제한하는 모듈을 다른 모듈로 대체하는 데 걸리는 시간을 측정하거나, 작동이 되지 않는 입력 모듈/출력 모듈을 대체 모듈로 대체하는 데 걸리는 시간 등을 측정하여 순발력을 평가할 수도 있다. 다만, 이 밖에도 다양한 경우가 포함될 수 있으며 이에 제한되는 것은 아니다.
디스플레이부(27)는 스토리 정보, 퀘스트 수행 정보, 이벤트 요소 등을 스마트폰, 컴퓨터 또는 전용 디스플레이 등과 연결하여 이미지, 영상 등 다양한 형태로의 출력을 수행하는 구성이다. 여기서, 스토리 정보는 스토리의 제목, 스토리의 저자, 스토리의 길이 등을 의미하는 것일 수 있다. 퀘스트 수행 정보는 사용자가 모듈 조립을 통해 스토리를 진행할 수 있게 하는 구성을 의미하는 것일 수 있다.
데이터베이스(28)는 전자책에 포함되는 스토리의 장르, 스토리의 저자 정보, 키워드, 출판 정보, 컨텐츠 정보, 등을 저장할 수 있다. 또는 전자책을 제공하는 사용자 단말과 유/무선 네트워크를 통해 연결되는 모듈 어셈블리(1)에 대한 모듈 정보를 저장하고 관리할 수 있다.
한편, 상술한 구성들은 사용자 단말(2)에 포함되어 동작되는 것으로 설명하였으나, 실시예에 따라 추가되고 상기 모듈 어셈블리(1)와 사용자 단말(2)과 네트워크를 통해 연결되는 스토리 제공 서버에 포함되어 동작될 수도 있다.
이하, 도 5를 참조하여 본 발명의 실시예에 따라 메인 모듈로 동작하는 제1 모듈(10)의 구성 및 동작에 대해 구체적으로 설명하기로 한다.
도 5는 본 발명의 실시예에 따른 메인 모듈의 구성 요소를 설명하기 위한 블럭도이다. 도 5에서는 상술한 바와 같이, 설명의 편의상 제1 모듈(1)을 메인 모듈(10)이라고 지칭하기로 한다. 또한, 본 명세서에서 메인 모듈(10)은 하나인 것으로 설명하였으나, 복수 개 일 수도 있다.
도 5를 참조하면, 메인 모듈(10)은 조립 정보 감지부(101), 조립 정보 생성부(102), 이벤트 동작 결과 전송부(103), 마이크로프로세서(104), 통신 제어부(105) 및 메모리(106)를 포함하는 네트워크 모듈일 수 있으나, 다른 모듈 카테고리도 기능할 수 있음은 당업자에게 자명하다.
조립 정보 감지부(101)는 조립 정보 감지 프로토콜을 포함하며 연결된 모듈들의 조립 정보를 감지할 수 있는 하드웨어 및/또는 소프트웨어 구성요소이다. 예컨대, 조립 정보 감지부(101)는 모듈 어셈블리(1)에 연결된 모듈들의 모듈 고유 정보, 모듈 카테고리, 하위 연결 모듈 정보 및 실행 카테고리를 감지할 수 있다.
조립 정보 생성부(102)는 감지된 조립 정보에 따라 모듈 어셈블리(1)의 조립 정보를 결정하여 메모리에 기입할 수 있다. 예컨대, 조립 정보 생성부(102)는 감지된 조립 정보에 따라 모듈 어셈블리(1)에 연결된 각각의 모듈의 모듈 고유 정보, 모듈 카테고리, 하위 연결 모듈 정보 및 실행 카테고리를 포함하는 조립 정보를 생성할 수 있다.
이벤트 동작 정보 전송부(103)는 입력 모듈을 이용하여 사용자 단말(2)로부터 수신한 이벤트 요소에 대한 동작을 수행하고, 동작 정보를 사용자 단말(2)로 전송할 수 있다. 예컨대, 이벤트 동작 정보는 마이크 모듈을 통한 입력일 수 있고, 다이얼 모듈을 통한 입력일 수 있고, 버튼 모듈을 통한 입력일 수 있는 등 다양한 모듈을 이용한 입력 정보를 포함할 수 있다.
마이크로프로세서(104)는 조립 정보 감지부(101), 조립 정보 생성부(102), 이벤트 동작 결과 전송부(103) 및 통신 제어부(105) 중 적어도 일부가 소프트웨어 모듈로 구현되는 경우에, 그 소프트웨어 모듈을 실행하게 된다.
통신 제어부(105)는 외부 기기와의 통신 및 모듈 사이의 통신을 제어할 수 있다. 외부 기기와의 통신은 NB-IOT, LTE, LoRa, WiFi, Bluetooth, USB, 케이블 모뎀 등 다양한 유무선 통신을 포함할 수 있다. 한편, 모듈 사이의 통신은 UART, I2C, LIN, CAN 등 다양한 내부 통신 수단을 이용하여 모듈 간 통신을 수행할 수 있다. 통신 제어부(105) 내에는 상술한 다양한 유무선 통신 수단 또는 모듈 사이의 통신 수단을 포함할 수도 있고, 별도의 네트워크 모듈과 연결될 때 별도의 네트워크 모듈을 제어하는 방식으로 통신할 수도 있다.
한편, 메모리(106)는 마이크로프로세서(105)에서 실행될 수 있는 소프트웨어 모듈과 모듈 어셈블리(1)의 동작에 필요한 각종 정보 및 연결된 모듈의 조립 정보에 관한 각종 정보들을 포함하며, 예를 들어, 메모리(106)는 모듈 정보, 구동 정보, 조립 정보 및 펌웨어를 포함할 수 있다.
모듈 정보는 모듈 ID, 모듈 카테고리, 기능 정보 및 메타 정보 중 적어도 하나를 포함한다.
모듈 ID는 UUID(Universally Unique identifier)와 같은 모듈 고유의 식별자이거나 메인 모듈에서 결합 시 부여하는 임시 ID일 수 있다.
모듈 카테고리는 치환 가능한 모듈들을 찾는 것을 보조하기 위하여 복수의 모듈을 수행 기능을 중심으로 유사한 기능을 가진 모듈들을 상위 개념으로 분류하는 개념이다. 예컨대, 센서, 키, 마이크 등 전기 신호를 입력하는 모듈들은 '입력', 액추에이터, 디스플레이, LED 등은 '출력', 또는 마이크로프로세서를 포함하며, 사용자가 포팅한 프로그램을 실행시킬 수 있는 모듈, 네트워크 모듈, 배터리 모듈 또는 가중치 표시 모듈은 '셋업' 등이 모듈 카테고리의 예가 될 수 있다.
기능 정보는 모듈의 상세 기능을 표시한 것으로, 예를 들어, 컨트롤 모듈, 적외선 센서 모듈, 스위치 모듈, 전원 모듈 및 네트워크 모듈 등이 상세 기능이 될 수 있다. 이 경우, 모듈의 기능은 각 모듈 내의 기능 유닛(104)의 구성에 따라 달라질 수 있다.
메타 정보는 모듈의 기타 정보로서, 예를 들어, '선풍기' 등의 구체적인 기기 명이 될 수도 있고, '바람', 또는 '시원' 등과 같은 선풍기와 연관된 연관 검색어들이 될 수 있다.
구동 정보는 각 모듈을 구동하기 위한 드라이버(Driver)이다. 이러한 구동 정보는 해당 모듈이 저장하고 있다가 모듈 연결 시에 컨트롤 모듈(10)에 제공하거나 또는 컨트롤 모듈(10)이 모듈 정보를 사용자 단말(2)에 제공하는 경우, 사용자 단말(2)로부터 다운로드 받을 수 있다.
펌웨어는 모듈 어셈블리(1)를 동작시키기 위한 소프트웨어로서, 사용자 단말(2)을 통해 소스 코드를 작성하여 컴파일 후 실행파일로 생성할 수 있다. 또는 컨트롤 모듈(10)이 조립 정보를 사용자 단말(2)에게 제공하는 경우, 사용자 단말(2)로부터 소스 코드를 추천받고, 추천받은 소스 코드를 컴파일한 실행파일(펌웨어)을 사용자 단말(2)로부터 다운로드 받을 수 있다.
한편 본 발명의 다른 실시예에 따른 모듈 어셈블리는 복수 개의 컨트롤 모듈로 구성될 수 있다. 이 경우, 각각의 컨트롤 모듈이 감지 및 생성하는 조립 정보는 자신의 모듈 고유 정보(모듈 ID), 모듈 카테고리, 하위 연결 모듈 정보 및 실행 카테고리를 포함한다. 모듈 어셈블리의 복수 개의 모듈 각각은 상기 조립 정보를 생성하여 통신 제어부를 통해 사용자 단말(2) 또는 조립 정보 제공 서버(2)에게 제공한다.
이하에서는, 도 6를 참조하여 본 발명의 실시예에 따른 모듈 어셈블리의 동작에 관하여 상세하게 설명한다.
도 6은 본 발명의 실시예에 따른 독자 참여형 전자책 시스템의 동작을 개략적으로 도시한 순서도이다. 도 6에서는 설명의 편의를 위해 스토리 제공 서버(3)를 기준으로 기술하기로 한다. 또한, 도 6에서 각 구성은 앞서 상술한 구성들과 역할이 동일하므로 중복 설명은 생략하기로 한다.
도 6을 참조하면, 단계 601에서, 스토리 제공 서버(3)는 사용자 단말(2)과 연결될 때, 사용자 단말(2)로 다양한 스토리 정보가 포함된 스토리를 전송한다.
단계 602에서, 사용자 단말(2)은 수신한 스토리 정보에 기초하여 퀘스트 수행 정보에 대한 모듈 조립 요청 정보를 전송한다. 이에 따라, 모듈 어셈블리(1)는 수신한 퀘스트 수행 정보에 대해서 모듈 조립 요청 정보를 수신한다. 여기서, 모듈 조립 요청 정보는 사용자 단말(2)로부터 제공된 스토리에 대해 제공받은 적어도 하나의 퀘스트 수행 정보에 대한 입력을 요청하는 정보이고, 모듈 조립 요청 정보에 따라 모듈 어셈블리(1)는 모듈을 추가 조립함으로써 입력을 수행할 수 있다.
단계 603에서, 스토리 제공 서버(3)는 모듈 어셈블리(1)로부터 모듈 조립 요청 정보에 기초한 모듈 조립 정보를 수신할 수 있다.
단계 604에서, 모듈 조립 정보를 수신한 스토리 제공 서버(3)는 모듈 조립 정보에 기초하여 넥스트 스토리 정보를 사용자 단말(2)로 전송할 수 있다. 넥스트 스토리 정보는 하나의 스토리에 대한 모듈 조립이 완료된 후 다음으로 진행될(혹은 제공될) 스토리에 대한 정보로 정의될 수 있다.
단계 605에서, 사용자 단말(2)은 수신한 넥스트 스토리 정보에 기초하여 퀘스트 수행 정보에 대한 모듈 조립 요청 정보를 전송한다. 이때, 단계 606과 같이, 사용자 단말(2)은 모듈 어셈블리(1)로부터 생성된 이벤트 요소에 대한 모듈 조립 정보를 수신할 수도 있다. 한편, 단계 606은 사용자의 선택적인 동작에 의해 결정되는 단계이기 때문에 생략될 수도 있다.
단계 607에서, 스토리 제공 서버(3)는 모듈 어셈블리(1)로부터 모듈 조립 요청 정보에 기초한 모듈 조립 정보를 수신할 수 있다. 단계 607에서의 모듈 조립 정보는 단계 603 이후에 일어나는 넥스트 스토리 정보에 대한 단계로 이해되는 것이 바람직하다.
단계 608에서, 스토리 제공 서버(3)는 모듈 어셈블리(1)에 모듈 고유 정보(모듈 ID)와 세트 고유 정보(세트 ID)를 요청하면, 단계 609에서 모듈 어셈블리(1)는 모듈 ID와 세트 ID를 스토리 제공 서버(3)를 전송할 수 있다.
단계 610에서, 모듈 조립 정보, 모듈 ID, 세트 ID 중 적어도 하나를 기초로 소스 코드를 생성하고 생성된 소스 코드를 사용자 단말(2)로 전송하여 디스플레이부(27)를 통해 결과를 출력할 수 있다. 이에 따라, 사용자는 도 11에 도시된 바와 같이, 자신이 조립한 모듈 어셈블리(1)에 대한 소스 코드 정보를 피드백 받음으로써 코딩에 대한 이해와 관심을 향상시킬 수 있다. 이와 관련한 상세한 설명은 도 11을 참조하여 후술하기로 한다.
단계 611에서, 스토리 제공 서버(3)는 점수화 조건에 기초하여 조립된 모듈 어셈블리(1)에 대한 점수를 생성하고, 사용자별 또는 항목별로 매긴 점수를 사용자 단말(2)로 전송할 수 있다.
이하에서는 도 7을 참조하여 독자 참여형 전자책의 스토리 전개 순서에 대하여 설명하기로 한다.
도 7은 본 발명의 실시예에 따른 독자 참여형 전자책 시스템의 전체적인 스토리를 설명하기 위한 예시도이다.
독자 참여형 전자책은 다수의 씬(Scene)으로 구성되며, 사용자의 선택에 따라 다양한 스토리 라인(X, Y, Z)을 형성하는 전자책이다. 도 7을 참조하면, 각각의 씬에는 적어도 하나의 퀘스트 수행 정보(710)가 포함될 수 있다. 여기서, 퀘스트 수행 정보(710)는 현재 씬에 대한 스토리를 형성하는 설명문 및 모듈 결합으로 해결해야 하는 지시문을 포함하는 것을 특징으로 한다.
단, 사용자는 지시문을 통해 퀘스트를 수행하기 위해 결합해야 하는 모듈의 종류에 대한 정보를 직접적으로는 알 수 없으며 추리해서 결합해야 하는 것을 특징으로 한다. 다시 말해, 사용자가 모듈 조립 시 추리할 수 있도록 지시문만 제공할 뿐 조립해야 하는 모듈을 알려주지 않는 것을 기본으로 한다. 이에 따라, 추후에 사용자의 모듈 조립 정보에 기초하여 사용자(혹은 사용자별로)의 점수를 매길 수 있다. 다만, 실시예에 따라서 퀘스트 수행 정보는 사용자가 조립해야 하는 모듈에 대한 정보를 포함할 수도 있다.
예컨대, 도 7에 도시된 바와 같이, 첫번째 씬(이하, “제1 씬(1st Scene)”이라고도 함)에는 한 개의 퀘스트 수행 정보가 생성되고, 이때, 두번째 씬(이하, “제2 씬(2nd Scene)”이라고도 함)에는 두 개의 퀘스트 수행 정보(710)가 생성된 것으로 가정한 경우, 사용자는 두 개의 퀘스트 수행 정보(710) 중 하나의 퀘스트만 수행할 수도 있고, 두 개의 퀘스트를 모두 수행한 후 다음 씬으로 넘어갈 수 있다.
사용자는 각 씬에 포함된 퀘스트 수행 정보(710)를 수행하기 위해 반드시 하나의 모듈은 조립해야 하는 것을 특징으로 한다. 이때 조립되는 모듈은 필수 모듈이라고 지칭될 수 있다.
단, 퀘스트 수행 정보(710)를 수행하는 것과 별개로 모듈이 조립될 수도 있으나, 이때 조립되는 모듈은 잉여 모듈이라고 지칭될 수 있다. 여기서, 잉여 모듈은 현재 씬의 퀘스트 수행과는 상관이 없지만 잉여 모듈과 관련한 새로운 스토리(이하, “히든 스토리”라고도 함)가 생성될 수도 있다. 이와 관련된 구체적인 내용은 추후 설명하기로 한다.
이처럼, 독자 참여형 전자책은 필수 모듈 및 잉여 모듈 중 적어도 하나의 모듈에 의해 스토리 라인을 형성할 수 있으며, 모듈 조립에 따라 다양한 스토리 라인이 형성될 수 있다. 이에 따라 X, Y, Z 등과 같이 다양한 결말이 형성될 수 있다.
이와 같은 과정을 반복하여 스토리의 마지막 씬(Last Scene)까지 왔을 때 사용자가 선택한 요소에 따라 복수의 결과(X, Y, Z) 어느 하나의 씬이 마지막 씬(730)으로 결정될 수 있다.
이하에서는 도 8 내지 도 10 및 도 12를 참조하여 독자 참여형 전자책의 구현과정을 상세히 설명하기로 한다.
도 8은 본 발명의 실시예에 따른 전자책에 대한 예시도이다. 도 9 내지 도 10은 본 발명의 실시예에 따른 독자 참여형 전자책과 모듈의 연결을 설명하기 위한 예시도이다. 도 12는 본 발명의 실시예에 따른 토폴로지 정보를 설명하기 위한 표이다. 도 8은 도 1 내지 도 7에서 설명한 구성요소가 예시적으로 도시된 것을 나타낸 것이므로 중복 설명은 생략하기로 한다.
도 8을 참조하면, 사용자 단말(2)의 디스플레이부(27)에는 하나의 씬 별로 스토리가 출력된다. 스토리는 디스플레이부(27)의 대부분 영역에 형성된 스토리 영역(80)에 표시되고, 퀘스트 수행 정보는 스토리 영역(80)의 일부 영역에 팝업되어 퀘스트 영역(81)에 표시될 수 있다. 다만, 스토리 영역(80)과 퀘스트 영역(81)에 대한 배치는 설계 변경에 따라 자유롭게 변경 가능하다.
도 9를 참조하면, 사용자 단말(2)의 스토리 영역(80)에는 첫번째 씬(#1)에 대한 이야기가 표시되고, 퀘스트 영역(81)에는 튜토리얼 팝업창(82)이 생성된다. 예컨대, 스토리 영역(80)에는 “기사는 드디어 갑옷과 창, 방패를 챙겨서 공주를 구하기 위해 떠났으나, 끝도 없는 사막으로 들어서게 되었다.”와 같은 설명문이 표시되고, 퀘스트 영역(81)에는 “어디선가 소리가 들려오면 소리를 세 번 지르고, 불빛을 발견하면 불빛이 있는 곳을 향하여 고개를 돌려야 살아남을 수 있다”와 같은 지시문이 표시될 수 있다.
이때, 지시문에는 “어디선가 소리가 들려오면 소리를 세 번 지르고(퀘스트 1(Q1))”, “불빛을 발견하면(퀘스트 2(Q2))” “불빛이 있는 곳을 향하여 고개를 돌려야 살아남을 수 있다(퀘스트 3(Q3))”와 같이 3개의 퀘스트가 포함된 것을 알 수 있다. 예컨대, 상기 퀘스트 1에 대한 필수 모듈은 소리를 입력할 수 있는 마이크 모듈(91)일 수 있고, 상기 퀘스트 2에 대한 필수 모듈은 불빛을 발견하기 위해 빛을 감지할 수 있는 수광부 모듈(92)일 수 있고, 상기 퀘스트 3에 대한 필수 모듈은 고개 돌리기에 대한 퀘스트를 수행하기 위한 모터 모듈(93)일 수 있다.
단, 필수 모듈은 각 씬의 퀘스트에 따라 미리 결정되는 것을 특징으로 한다. 이에 따라, 사용자는 지시문을 추리하여 미리 결정된 필수 모듈을 조립해 나가야 한다. 한편, 지시문에 있는 퀘스트를 수행하기 위해 필수 모듈이 조립되는 위치는 퀘스트 순서와 상관없을 수 있다.
한편, 사용자는 현재 씬의 퀘스트의 지시문과 관계없는 모듈(이하, “잉여 모듈”이라고 함)을 붙일 수도 있다. 이 경우, 잉여 모듈은 다음 퀘스트(이하, “넥스트 퀘스트”라고도 함)에 필수 모듈로서 등장하는 퀘스트를 선택하는 데 영향을 주는 것을 특징으로 한다. 다시 말해, 상기 지시문을 예로 들면, 상기 지시문과 관련 없는 잉여 모듈로서 다이얼 모듈(94)이 결합된 경우, 수많은 예비 퀘스트 중에서 필수 모듈로 다이얼 모듈(94)이 포함되어 있는 퀘스트를 현재 퀘스트(qn)의 다음 퀘스트(qn+1)로 결정할 수 있다.
이처럼, 퀘스트 간의 연결을 통해 스토리가 전개되는 것을 특징으로 한다.
이어서, 다이얼 모듈(94)을 통해 다음 퀘스트(qn+1)에 대하여 스토리 영역에는 “기사는 간신히 오아시스에 도착하였는데, 작은 집에 불이 켜져 있었다. 그 안에서 소리가 들렸으므로 그 집에 다가갔다”와 같은 설명문 표시되고, 퀘스트 영역에는 “초인종을 3번 누른 후에 문의 손잡이를 돌려서 집에 들어갈 수 있었다. 집 안에선 주황색 촛불이 깜빡이고 있었는데, 주인을 부르니 촛불이 꺼졌다”와 같은 지시문이 표시될 수 있다.
이때, 지시문에는 “초인종을 3번 누른 후에(퀘스트 1)” “문의 손잡이를 돌려서 집에 들어갈 수 있었다(퀘스트 2)” “집 안에선 주황색 촛불이 깜빡이고 있었는데(퀘스트 3)”, “주인을 부르니 촛불이 꺼졌다(퀘스트 4)”와 같이 4개의 퀘스트가 포함된 것을 알 수 있다. 예컨대, 상기 퀘스트 1에 대한 필수 모듈은 버튼의 눌림을 감지할 수 있는 버튼 모듈과 초인종 소리를 출력할 수 있는 스피커 모듈일 수 있고, 상기 퀘스트 2에 대한 필수 모듈은 손잡이를 돌리는 것을 감지할 수 있는 다이얼 모듈일 수 있고, 상기 퀘스트 3에 대한 필수 모듈은 사용자가 원하는 색의 LED를 깜박일 수 있는 LED모듈로서, 퀘스트 3을 수행하기 위해 주황색 LED를 표시할 수 있다. 또한, 주황색 LED를 오프(OFF)시킴으로써 퀘스트 4를 수행할 수 있다.
이와 같은 과정이 반복됨에 따라 사용자가 현재 씬의 퀘스트와 무관한 모터 모듈을 결합할 경우, 다음 퀘스트로는 필수 모듈로서 모터 모듈이 포함된 퀘스트가 선택될 것이다. 이에 따라, 복수의 예비 퀘스트 중에서 마차(Chariot)가 등장하는 퀘스트가 선택될 수 있다.
한편, 본 발명의 실시예에 따라, 다음 퀘스트가 출력된 후, 다음 퀘스트에 대하여 조립을 수행하기 위해서는 이전 씬에서 조립했던 모듈들을 모두 분리함으로써 조립 정보를 초기화하는 과정이 수반될 수 있다.
도 10을 참조하면, 사용자 단말(2)의 스토리 영역(80)에는 실시예에 따른 또 다른 퀘스트(#2, 혹은 넥스트 퀘스트)가 표시된다. 스토리 영역(80)에는 “기사는 드디어 감옥을 지키는 드래곤과 마주쳤다. 이미 깊은 밤이 되었고 드래곤의 기세가 등등하므로 일단은 도망쳤다가 낮에 다시 오기로 하였다.”와 같은 설명문이 표시되고, 퀘스트 영역(81)에는 “용이 빨간 불을 세 번 내 뿜으면서 소리를 질러 대면, 칼을 공중에서 8자로 휘둘러 용을 쫓아낸다”와 같은 지시문이 표시될 수 있다.
이때, 지시문에는 “용이 빨간 불을 세 번 내 뿜으면서(퀘스트 1)”, “소리를 질러 대면(퀘스트 2)” “칼을 공중에서 8자로 휘둘러 용을 쫓아낸다(퀘스트 3)”와 같이 3개의 퀘스트가 포함된 것을 알 수 있다.
예컨대, 상기 퀘스트 1에 대한 필수 모듈은 빨간색 LED를 3번 깜박일 수 있는 LED 모듈(95)일 수 있고, 상기 퀘스트 2에 대한 필수 모듈은 소리를 입력할 수 있는 마이크 모듈(96)일 수 있고, 상기 퀘스트 3에 대한 필수 모듈은 8자로 휘두르는 퀘스트를 수행하기 위해 모듈의 기울기, 각 축에 대한 가속도와 각속도를 측정할 수 있는 자이로 모듈(97)일 수 있다.
이때, 현재 퀘스트 다음으로 올 다음 퀘스트는 앞서 상술한 바와 같이, 수만은 예비 퀘스트 중에서 사용자에 의해 결합되는 잉여 모듈에 의해 결정된다.
예컨대, 잉여 모듈로서 진동 모듈(98)이 결합된 경우, 다음 퀘스트로는 필수 모듈로서 진동 모듈(98)이 포함된 퀘스트가 선택될 수 있다. 이에 따라, 복수의 예비 퀘스트 중에서 “절벽에서 발을 굴러 진동을 발생시킨다”와 같이 진동과 관련한 퀘스트가 존재하면 해당 퀘스트가 다음 퀘스트로서 진행될 수 있다.
한편, 본 발명의 또 다른 실시예에 따라서는 다음 퀘스트가 잉여 모듈 이외에 토폴로지 및 프로그래밍에서 나오는 모듈 순서에 기초하여 선택될 수 있다. 다시 말해, 토폴로지와 프로그래밍에서 나오는 모듈 순서에 기초하여 다음 퀘스트를 선택하는 경우, 같은 잉여 모듈이라고 하더라도 어느 모듈 옆에 붙어 있느냐에 따라 해당 잉여 모듈의 의도가 바뀔 수 있다. 예를 들면, 잉여 모듈인 모터 모듈이 적외선 센서 모듈 옆에 결합될 경우에는 “장애물을 감지하여 굴러가게 하려는 목적”인 것으로 판단하여 탈 것(이동 수단)을 타는 것과 관련한 퀘스트가 다음 퀘스트로서 선택될 수 있다.
토폴로지와 관련하여 구체적으로 설명하자면, 메인 모듈(90)에서는 토폴로지 정보(이하, “모듈 토폴로지 정보”라고도 함)를 수집할 수 있다. 도 12를 참조하면, 모듈 토폴로지 정보(1048)는 기본적으로 모듈 어셈블리(1) 내의 모듈들의 고유 정보(모듈 ID)(1048-1), 단계 정보(1048-2), 하위 연결 모듈 정보(1048-3), 연결 순위(1048-4) 및 모듈 카테고리(1048-6)를 포함할 수 있다. 추가적으로 모듈 토폴로지 정보(1048)는 연결 방향(1048-5)을 더 포함할 수 있다.
모듈 고유 정보(1048-1)는 모듈 어셈블리에 포함된 연결된 모듈들의 모듈 ID(1046)를 나타낸다. 이 경우, 모듈 고유 정보(1048-1)는 UUID(Universally Unique IDentifier)와 같은 모듈 고유의 식별자 일 수 있으며, 컨트롤 모듈(10)에서 연결 시 부여하는 임시 ID 일 수도 있다.
단계 정보(1048-2)는 앞서 설명한 컨트롤 모듈(10)과의 거리를 의미하며, 컨트롤 모듈(10)로부터 해당 모듈까지 최단 경로 상으로 연결된 모듈을 카운팅하여 결정된다. 단, 상술한 모듈들 중 시멘틱 모듈에 부착되는 모듈의 경우에는 단계 정보(1048-2)가 시멘틱 모듈을 컨트롤 모듈(10)으로 가정하여 시멘틱 모듈로부터의 거리나, (시멘틱 모듈에 지정된 단계) + (시멘틱 모듈과의 거리) - 1 로 정해질 수 있다. 또는 시멘틱 모듈에 부착되는 경우에는 큰 가중치가 부여되어 시멘틱 모듈에 부착되는 모듈의 중요성이 강조될 수 있다.
시멘틱 모듈(Semantic module)은 예컨대, 모듈의 크기나 다른 모듈에 영향을 주는 등 컨트롤 모듈(10)과 직접 연결이 어려운 경우에 개발자 프로그램에서 소스 코드 추천이나 모듈 추천에 있어서 중요한 모듈이라는 것을 하드웨어적으로 표시하기 위한 모듈이다.
예컨대, 사용자가 모듈을 조립하여 미니 자동차의 기능을 하는 모듈 어셈블리를 만들려는 의도가 있을 때에 모터 모듈이나 바퀴 모듈은 중요한 의미를 가지게 되지만, 바퀴의 사이즈 등으로 인하여 컨트롤 모듈(10)과의 거리가 멀어져서 의미를 주기 어려운 경우가 있을 수 있다. 이 경우, 모터 모듈 또는 바퀴 모듈을 시멘틱 모듈과 연결하게 된다면, 토폴로지 상에서 사용자의 의도가 반영되어 소스 코드 또는 추가 또는 치환 모듈의 추천이 보다 사용자의 의도에 가까워질 수 있다.
하위 연결 모듈 정보(1048-3)는 해당 모듈보다 단계가 낮은(컨트롤 모듈(10)과의 거리가 더 먼) 모듈의 모듈 고유 정보를 나타낸다. 기본적으로 각 모듈은 해당 모듈과 연결된 모듈들의 정보를 저장하고 컨트롤 모듈(10)에 연결될 때, 하위로 연결된 모듈의 정보를 컨트롤 모듈(10)에 제공할 수 있다.
연결 순위(1048-4)는 컨트롤 모듈(10)에 접속하는 순서를 나타내는 것으로, 추천 서버(2)에서 소스 코드 및 모듈을 추천할 때에 기초가 되는 정보이다. 연결 순위(1048-4)의 결정 방법에 대해서는 도 5에 대한 설명 부분에서 저술하였으므로 공통된 부분의 설명을 생략한다. 컨트롤 모듈(10)에 이미 결합되어 있는 복수의 모듈인 모듈 그룹이 결합되는 경우에는 모듈 그룹에 동일한 공통 연결 순위(1048-7)가 부여될 수 있다.
연결 방향(1048-5)은 부가적인 정보로서, 하위 연결 모듈 및 상위 연결 모듈이 어떤 포트와 물리적으로 접속되었는지를 나타내는 정보이다. 예를 들어, 통신 모듈과 자이로스코프 센서 모듈이 있는 경우에, 통신 모듈의 전자기파가 자이로스코프 센서 모듈의 센싱에 영향을 줄 수도 있으므로, 상술한 연결 방향(1048-4)에 기초하여 가급적이면 영향을 주지 않는 위치에 서로 배치할 수 있다. 이 경우에는 연결 방향 정보 및 단계 정보를 활용할 수 있다.
마지막으로 모듈 카테고리(1048-6)는 모듈의 기능에 따라 모듈을 분류한 정보이다. 예를 들어, 마이크로폰, 온도 센서, 자이로스코프 센서, 적외선 센서, 초음파 센서 등의 각종 센서, 다이얼, 버튼, 키보드 등의 입력되는 전기 신호를 수집하는 모듈들은 '입력' 으로 분류될 수 있다. 또는 모터 등의 액추에이터, 발광다이오드(LED), 액정 디스플레이 장치, 스피커 등은 '출력'으로 분류될 수 있다. 또한, 각종 네트워크 모듈(LTE, Bluetooth 등)은 '통신'으로 분류될 수 있다. 또한, 마이크로프로세서를 포함하며 사용자 단말기(3)에서 프로그래밍한 애플리케이션을 실행할 수 있는 모듈은 '컨트롤'로 분류될 수 있다. 이러한 카테고리 정보에 기초하여 서버에서는 모듈 추천 시 치환 가능한 모듈인지, 추가 가능한 모듈인지 여부를 판단할 수 있다.
또한, 본 발명에서 프로그래밍에서 나오는 모듈 순서는 모듈 내에 포함된 모듈 토폴로지 정보가 모듈이 조립되는 순서에 따라 프로그래밍되어 소스 코드의 형태로 프로그래밍됨에 따라 결정된 모듈 순서인 것으로 정의될 수 있다.
이하에서는, 도 11을 참조하여 본 발명의 실시예에 따른 소스 코드에 대하여 설명하기로 한다.
도 11은 본 발명의 실시예에 따른 모듈 어셈블리의 조립에 따라 생성된 소스 코드의 예시도다. 도 11에 도시된 소스 코드는 설명의 편의를 위해 예시적으로 도시한 것일 뿐 모듈 조립과 실제로 관련 있는 소스 코드는 아니다.
도 11을 참조하면, 코딩 프로그램(1200)은 제1 씬에 대한 사용자의 모듈 조립 정보(1201)와 제2 씬에 대한 사용자의 모듈 조립 정보(1202)에 대하여 자동으로 소스 코드(1203)를 생성할 수 있다.
또는, 코딩 프로그램은 사용자 단말(2)의 디스플레이부(27)의 일부 영역에 표시될 수 있다. 이에 따라, 사용자는 각 씬과 관련된 퀘스트 수행 정보에 대해 모듈을 조립할 때 조립되는 모듈에 대한 조건을 조립과 동시에 코딩을 통해 설정할 수 있다. 앞서 도 10의 예를 참조하면, 용이 빨간 불을 세 번 내 뿜는 것을 표현하기 위해 사용자가 LED 모듈을 결합할 경우, 코딩 프로그램을 통해 LED 모듈에서 출력할 색깔에 대하여 소스 코드를 생성하고, 출력할 색깔이 세 번 깜박일 수 있도록 세 번 온/오프(ON/OFF) 되도록 소스 코드를 입력할 수 있다.
이와 같이 본 발명에 따르면 독자가 스토리에 대한 이벤트 요소를 수행해 나가면서 조립한 모듈에 대한 소스 코드 정보를 피드백 받음으로써 코딩에 대한 관심도를 증가시키고 일정 수준 이상의 학습 결과를 보장할 수 있다.
본 발명에 따르면, 독자가 모듈을 조립하여 다양한 스토리를 연출할 때 이벤트 요소를 부가하여 이벤트에 대한 달성 속도 및 달성률 등을 평가함으로써 독자의 흥미를 높여 집중력을 향상시킴과 동시에 순발력을 향상시키는데 도움을 줄 수 있다.
본 발명에 따르면, 스토리를 진행함에 있어서 모듈을 통해 시각, 청각 등을 출력함으로써 스토리에 대한 독자의 이해도를 높힐 수 있고, 독자가 스스로 스토리를 다양하게 연출함으로써 독자의 참여도를 높여 지속적인 흥미를 유발시킬 수 있다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 펌웨어(firmware), 소프트웨어(software) 또는 하드웨어(hardware)로 구성된다. 알고리즘 또는 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 디지털 신호 처리 디바이스(Digital Signal Processing Device)의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 알고리즘 또는 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽힐 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 상기 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등) 및 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.

Claims (24)

  1. 복수의 모듈이 조립되어 구성되는 모듈 어셈블리; 및 상기 모듈 어셈블리와 네트워크를 통해 연결되는 사용자 단말을 포함하는 모듈을 이용한 독자 참여형 전자책 시스템에 있어서,
    적어도 하나의 스토리를 포함하는 전자책 데이터베이스를 상기 사용자 단말로 전송하는 스토리 제공부;
    상기 스토리를 구성하는 씬에 대하여 생성되며 스토리 진행을 위해 생성되는 적어도 하나의 퀘스트 수행 정보에 기초한 모듈 조립 정보를 수신하는 조립 정보 수신부; 및
    상기 모듈 조립 정보에 대하여 점수화 조건별로 상기 사용자의 모듈 조립에 대한 점수를 생성하는 점수 생성부를 포함하는, 모듈을 이용한 독자 참여형 전자책 시스템.
  2. 제1항에 있어서,
    상기 퀘스트 수행 정보는 스토리를 형성하는 설명문 및 모듈 결합으로 해결해야 하는 지시문을 포함하며, 상기 지시문에 따라 퀘스트를 수행하기 위해 결합되는 필수 모듈은 미리 결정되는, 모듈을 이용한 독자 참여형 전자책 시스템.
  3. 제1항에 있어서,
    상기 퀘스트 수행 정보는 상기 스토리의 진행과는 무관하며 상기 사용자에 의해 임의로 선택되어 조립된 모듈에 의해 생성되는 이벤트 요소를 포함하는, 모듈을 이용한 독자 참여형 전자책 시스템.
  4. 제3항에 있어서,
    상기 이벤트 요소에 의해 상기 스토리와 무관한 히든 스토리를 생성하는 히든 스토리 생성부를 더 포함하는, 모듈을 이용한 독자 참여형 전자책 시스템.
  5. 제1항에 있어서,
    상기 점수 생성부는,
    상기 점수화 조건에 대하여 기 설정된 가중치에 따라 점수를 생성하는, 모듈을 이용한 독자 참여형 전자책 시스템.
  6. 제1항에 있어서,
    상기 점수화 조건은 상기 사용자가 상기 모듈 어셈블리를 조립하는데 소요된 시간, 연결된 모듈의 종류에 대한 모듈 정보, 모듈의 동작 여부, 활성화된 스토리 정보, 코드 구현 여부, 순발력, 협동 여부 및 코드 구현 시간 중 적어도 하나를 포함하는, 모듈을 이용한 독자 참여형 전자책 시스템.
  7. 제6항에 있어서,
    상기 활성화된 스토리 정보는 모듈 조립에 기초하여 생성된 스토리 라인의 길이인, 모듈을 이용한 독자 참여형 전자책 시스템.
  8. 제1항에 있어서,
    상기 점수 생성부는
    상기 점수화 조건에 대하여 항목별로 가중치를 두어 점수를 부가하는, 모듈을 이용한 독자 참여형 전자책 시스템.
  9. 제1항에 있어서,
    상기 스토리 제공 서버는,
    상기 스토리의 난이도에 기초하여 모듈 조립에 대한 기준 시간을 상기 난이도와 비례하도록 상이하게 설정하는, 모듈을 이용한 독자 참여형 전자책 시스템.
  10. 제3항에 있어서,
    상기 이벤트 요소에 대한 상기 사용자의 미션 수행 여부를 판단하는 미션 수행 정보를 수신하는 이벤트 요소 생성부; 및 상기 이벤트 요소에 대한 사용자의 이벤트 수행 정보를 수신하는 이벤트 정보 수신부;를 포함하는, 모듈을 이용한 독자 참여형 전자책 시스템.
  11. 제1항에 있어서,
    상기 스토리 제공 서버는,
    상기 모듈 조립 정보에 기초하여 소스 코드를 생성하는 소스 코드 생성부를 더 포함하는, 모듈을 이용한 독자 참여형 전자책 시스템.
  12. 제1항에 있어서,
    상기 모듈 어셈블리는 입력 모듈 및 출력 모듈 중 적어도 하나를 포함하고,
    상기 입력 모듈은 환경 모듈, 버튼 모듈, 자이로스코프 모듈, 마이크 모듈, 적외선 모듈, 다이얼 모듈 및 초음파 모듈 중 적어도 하나이고,
    상기 출력 모듈은 LED 모듈, 스피커 모듈, 디스플레이 모듈, 모터 컨트롤러 모듈 및 모터 모듈 중 적어도 하나인, 모듈을 이용한 독자 참여형 전자책 시스템.
  13. 제2항에 있어서,
    상기 퀘스트와 무관하게 사용자에 의해 결합되는 잉여 모듈, 토폴로지 및 프로그래밍에서 나오는 모듈 순서 중 적어도 하나를 고려하여 상기 퀘스트 이후로 나오는 넥스트 퀘스트가 결정되는, 모듈을 이용한 독자 참여형 전자책 시스템.
  14. 제13항에 있어서,
    상기 넥스트 퀘스트에 대하여 모듈을 조립하는 경우, 상기 넥스트 퀘스트 직전에 수행한 이전 퀘스트에 대한 모듈 조립을 초기화한 후 조립하는, 모듈을 이용한 독자 참여형 전자책 시스템.
  15. 제1항에 있어서,
    상기 네트워크는 유선 및/또는 무선 연결되는, 모듈을 이용한 독자 참여형 전자책 시스템.
  16. 제1항에 있어서,
    상기 복수의 모듈 각각은 모듈 고유의 식별자인 모듈 고유 정보를 포함하고, 상기 모듈 어셈블리 내에는 사용자를 구분하기 위한 적어도 하나의 세트 고유 정보를 포함하는, 모듈을 이용한 독자 참여형 전자책 시스템.
  17. 스토리 제공부에 의해 적어도 하나의 스토리를 포함하는 전자책 데이터베이스를 사용자 단말로 전송하는 단계;
    조립 정보 수신부에 의해 상기 스토리를 구성하는 씬에 대하여 생성되며 스토리 진행을 위해 생성되는 적어도 하나의 퀘스트 수행 정보에 기초한 모듈 조립 정보를 수신하는 단계; 및
    점수 생성부에 의해 상기 모듈 조립 정보에 대하여 점수화 조건별로 상기 사용자의 모듈 조립에 대한 점수를 생성하는 단계를 포함하는, 모듈을 이용한 전자책 시스템의 동작 방법.
  18. 제17항에 있어서,
    이벤트 요소 생성부에 의해 상기 스토리의 진행과 무관하게 상기 사용자에 의해 임의로 선택되어 조립된 모듈에 의해 생성되는 이벤트 요소에 대한 상기 사용자의 미션 수행 여부를 판단하는 미션 수행 정보를 수신하는 단계;를 더 포함하는, 모듈을 이용한 전자책 시스템의 동작 방법.
  19. 제17항에 있어서,
    이벤트 정보 수신부에 의해 상기 이벤트 요소에 대한 상기 사용자의 이벤트 수행 정보를 수신하는 단계를 더 포함하는, 모듈을 이용한 전자책 시스템의 동작 방법.
  20. 제17항에 있어서,
    상기 퀘스트 수행 정보는 스토리를 형성하는 설명문 및 모듈 결합으로 해결해야 하는 지시문을 포함하며, 상기 지시문과 관련된 퀘스트를 수행하기 위해 결합되는 필수 모듈은 미리 결정되는, 모듈을 이용한 전자책 시스템의 동작 방법.
  21. 제20항에 있어서,
    상기 퀘스트와 무관하게 사용자에 의해 결합되는 잉여 모듈에 의해 상기 퀘스트 이후로 나오는 넥스트 퀘스트가 결정되는, 모듈을 이용한 전자책 시스템의 동작 방법.
  22. 제21항에 있어서,
    상기 넥스트 퀘스트는 토폴로지 및 프로그래밍에서 나오는 모듈 순서 중 적어도 하나를 고려하여 결정되는, 모듈을 이용한 전자책 시스템의 동작 방법.
  23. 제18항 및 제21항에 있어서,
    상기 필수 모듈, 상기 잉여 모듈 및 상기 이벤트 요소에 의해 복수의 결말을 제공하는 단계를 포함하는, 모듈을 이용한 전자책 시스템의 동작 방법.
  24. 제17항에 있어서,
    상기 모듈 어셈블리는 입력 모듈 및 출력 모듈 중 적어도 하나를 포함하고; 상기 입력 모듈은 환경 모듈, 버튼 모듈, 자이로스코프 모듈, 마이크 모듈, 적외선 모듈, 다이얼 모듈 및 초음파 모듈 중 적어도 하나이고; 상기 출력 모듈은 LED 모듈, 스피커 모듈, 디스플레이 모듈, 모터 컨트롤러 모듈 및 모터 모듈 중 적어도 하나인, 모듈을 이용한 전자책 시스템의 동작 방법.
KR1020200004579A 2020-01-14 2020-01-14 모듈을 이용한 독자 참여형 전자책 시스템 및 동작 방법 KR102301027B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020200004579A KR102301027B1 (ko) 2020-01-14 2020-01-14 모듈을 이용한 독자 참여형 전자책 시스템 및 동작 방법
CN202080001724.1A CN113396406A (zh) 2020-01-14 2020-03-05 利用模块的读者参与型电子书系统及运转方法
EP20717069.7A EP3905056A4 (en) 2020-01-14 2020-03-05 READER PARTICIPATION E-BOOK SYSTEM AND METHODS OF OPERATION USING MODULES
JP2020541547A JP7181642B2 (ja) 2020-01-14 2020-03-05 モジュールを用いた読者参加型電子ブックシステム及び動作方法
PCT/KR2020/003096 WO2021145506A1 (ko) 2020-01-14 2020-03-05 모듈을 이용한 독자 참여형 전자책 시스템 및 동작 방법
US16/928,189 US11229841B2 (en) 2020-01-14 2020-07-14 Reader participation type electronic book system using module and operation method
TW109128852A TWI768442B (zh) 2020-01-14 2020-08-24 利用模組的讀者參與型電子書系統及運轉方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200004579A KR102301027B1 (ko) 2020-01-14 2020-01-14 모듈을 이용한 독자 참여형 전자책 시스템 및 동작 방법

Publications (2)

Publication Number Publication Date
KR20210091426A true KR20210091426A (ko) 2021-07-22
KR102301027B1 KR102301027B1 (ko) 2021-09-10

Family

ID=76863849

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200004579A KR102301027B1 (ko) 2020-01-14 2020-01-14 모듈을 이용한 독자 참여형 전자책 시스템 및 동작 방법

Country Status (6)

Country Link
EP (1) EP3905056A4 (ko)
JP (1) JP7181642B2 (ko)
KR (1) KR102301027B1 (ko)
CN (1) CN113396406A (ko)
TW (1) TWI768442B (ko)
WO (1) WO2021145506A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023223214A1 (en) * 2022-05-16 2023-11-23 Trioptima Ab Pre-compression data object convention conversion

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150069611A (ko) * 2013-12-13 2015-06-24 목포대학교산학협력단 독자 참여형 전자책 제작 방법 및 시스템
KR101713085B1 (ko) * 2015-12-15 2017-03-07 위드큐브(주) 스마트 블록을 이용한 컨텐츠 제공시스템
US20180053431A1 (en) * 2016-05-19 2018-02-22 Timothy J. Young Computer architecture for customizing the content of publications and multimedia
KR20190134496A (ko) * 2018-05-24 2019-12-04 조이연 코딩 테이블

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0631678B1 (en) * 1992-03-17 1996-11-13 Massachusetts Institute Of Technology Low-neighborhood three-dimensional interconnect
JP4566202B2 (ja) * 2005-01-24 2010-10-20 富士通株式会社 部品交換手順特定方法及びプログラム
US8742814B2 (en) * 2009-07-15 2014-06-03 Yehuda Binder Sequentially operated modules
US9449523B2 (en) * 2012-06-27 2016-09-20 Apple Inc. Systems and methods for narrating electronic books
CN103394200B (zh) * 2013-08-08 2015-12-02 魏正鹏 电子拼接件的连接块
US20150133023A1 (en) * 2013-11-12 2015-05-14 Hallmark Cards, Incorporated System and method for story assembly
JP6324716B2 (ja) * 2013-12-26 2018-05-16 株式会社ソニー・インタラクティブエンタテインメント ブロック、ブロックシステム、表示方法、および情報処理方法
KR101552255B1 (ko) * 2014-03-20 2015-09-09 김관석 블록 완구
KR20170010720A (ko) * 2015-07-20 2017-02-01 이준희 토폴로지 인식 기능을 갖는 블록 완구 및 이를 이용한 컨텐츠 제공 시스템
KR101761596B1 (ko) * 2016-03-07 2017-07-26 주식회사 럭스로보 모듈 어셈블리
KR101906823B1 (ko) * 2016-03-07 2018-12-05 주식회사 럭스로보 멀티 모듈 컴파일 시스템 및 멀티 모듈 컴파일 방법, 그리고 컴파일러 프로그램을 갖는 컴퓨터 판독가능 저장매체
CN108780439A (zh) 2016-03-08 2018-11-09 威兹瑞德有限责任公司 用于内容丰富且用于教导阅读并实现理解的系统和方法
US10163361B2 (en) * 2016-03-21 2018-12-25 Fujitsu Limited Behavior shaping using a construction toy
CN205867599U (zh) * 2016-05-30 2017-01-11 姚龙 一种快速拼接的电子积木
JP6935991B2 (ja) 2016-06-24 2021-09-15 昭和電工パッケージング株式会社 蓄電デバイス用外装材及び蓄電デバイス
IL246551A (en) * 2016-06-30 2017-07-31 Algobrix Ltd Physical programming interface in the three-dimensional plane that includes multi-layer and parameters
KR20190043707A (ko) * 2017-10-19 2019-04-29 주식회사 에드토이 창의력 증진을 위한 놀이판이 포함된 블록 놀이세트 및 그것을 이용한 놀이방법
KR20190088787A (ko) * 2018-01-19 2019-07-29 김태권 알고리즘 교육을 위한 작동 모듈이 구비된 조합가능형 로봇 블록
TWD197882S (zh) * 2018-01-29 2019-06-01 正崴科技有限公司 應用於電動積木模組之積木式對接殼體
CN108288411B (zh) * 2018-03-08 2023-12-19 安徽晨光电子科技有限公司 一种智能互动学习机及其系统
KR20200002078A (ko) * 2018-06-29 2020-01-08 (주)애플파이스튜디오 미션 수행 기반 독자 참여형 웹툰 제공 장치 및 방법
KR101984954B1 (ko) * 2019-02-08 2019-05-31 주식회사 소풍앤컴퍼니 코딩 학습 지원 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150069611A (ko) * 2013-12-13 2015-06-24 목포대학교산학협력단 독자 참여형 전자책 제작 방법 및 시스템
KR101713085B1 (ko) * 2015-12-15 2017-03-07 위드큐브(주) 스마트 블록을 이용한 컨텐츠 제공시스템
US20180053431A1 (en) * 2016-05-19 2018-02-22 Timothy J. Young Computer architecture for customizing the content of publications and multimedia
KR20190134496A (ko) * 2018-05-24 2019-12-04 조이연 코딩 테이블

Also Published As

Publication number Publication date
JP2022521863A (ja) 2022-04-13
TW202127224A (zh) 2021-07-16
EP3905056A4 (en) 2022-12-14
JP7181642B2 (ja) 2022-12-01
WO2021145506A1 (ko) 2021-07-22
CN113396406A (zh) 2021-09-14
EP3905056A1 (en) 2021-11-03
KR102301027B1 (ko) 2021-09-10
TWI768442B (zh) 2022-06-21

Similar Documents

Publication Publication Date Title
KR102435819B1 (ko) 스마트 매직 큐브 및 그의 동작방법
US10293268B2 (en) Block, block system, information processing apparatus, display method, and information processing method
Papadakis Robots and robotics kits for early childhood and first school age
US10256568B2 (en) Modular electronic building systems with magnetic interconnections and methods of using the same
Faludi Building wireless sensor networks: with ZigBee, XBee, arduino, and processing
EP2641240A1 (en) Interactive system and method of modifying user interaction therein
US20090005167A1 (en) Mobile Gaming with External Devices in Single and Multiplayer Games
US20190022520A1 (en) System of distributed interactive objects
Perdue et al. The unofficial LEGO Mindstorms NXT 2.0 Inventor's Guide
US11616844B2 (en) Modular electronic and digital building systems and methods of using the same
WO2012100742A1 (zh) 交互式电子积木系统
US11229841B2 (en) Reader participation type electronic book system using module and operation method
KR20160000841U (ko) 학생용 센서로봇
KR102301027B1 (ko) 모듈을 이용한 독자 참여형 전자책 시스템 및 동작 방법
KR102217922B1 (ko) 조립 정보 제공 시스템 및 모듈 어셈블리
KR101511313B1 (ko) 퍼즐 장난감의 제어 방법
US11455147B2 (en) System for coding without compilation and a module assembly
KR102450665B1 (ko) 조립 모듈을 이용한 퀘스트 해결형 전자책 서비스 제공 시스템 및 방법
KR102463835B1 (ko) 미션 해결형 콘텐츠를 제공하는 코딩 교육용 시스템 및 그 방법
KR102289872B1 (ko) 플러그 앤 플레이 모듈 어셈블리 및 플러그 앤 플레이 시스템
KR102479950B1 (ko) Ar을 통한 모듈 조립이 가능한 코딩 교육용 시스템
Gubbels Pixel: A tool for creative design with physical materials and computation
Marti et al. Scaling ambient intelligence: Compositional devices
Marti¹ et al. SCALING AMBIENT INTELLIGENCE

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant