1.Game

  • 설명 없이 임의의 빈 칸을 보기 칸에서 음절을 한개씩 터치를 통해 옮겨 단어를 완성!
  • 모든 단어를 완성하면 다음 스테이지로 이동
  • 중간에 게임을 종료할 시에 현재 진행 중인 게임은 없어짐
  • 200단계마다 칸 수가 증가하며, 1~200단계(10X10), 201~400(11X11) … 801~(14X14)
  • 1000단계 이상에서도 계속해서 게임은 진행하지만 난이도는 상승하지 않음
  • 느린 게임으로 타이머가 없고, 랭킹 시스템도 없음
  • 단어는 중복이 있을 수 있음( 약 단어 100000~200000개)
  • 힌트는 단계 별로 3개씩 지급

2.UI & Design


4.Resources

  • ‘엉망진창’이라는 컨셉에 부합한 Resources 제작
  • 모든 Resources는 3D 그림판을 통해 제작


5.etc

1)SFX, BGM

  • SFX는 ‘Bfxr’이라는 소프트웨어를 사용하여 랜덤 제작
  • BGM은 ‘opengameart.org’라는 사이트에서 CCO인 저작권이 없는 BGM을 찾아 컨셉에 부합한 노래를 선정

2)폰트

  • UhBee Skyrain BOLD 사용

3)Plugins

  • 어플리케이션 이름을 한글로 사용할 수 있게 플러그인 생성

4)PlayerPrefs

  • 게임 내의 스테이지를 게임이 종료 후에도 저장 가능하게 stage_num을 생성

6.Scripts

1)stage_200, 400, 600, 800, end

  • 게임 안에서 단어 생성 및 게임 틀 생성

2)cursor_200, 400, 600, 800, end

-게임 안에서 커서를 움직이고 터치 이슈를 처리

3)Quit

-메인메뉴에서 종료 시 어플리케이션을 종료

4)Btn_mainmenu

  • 게임 중 메인메뉴로 나갈 수 있는 버튼 관리

5)dont

  • 게임 중 scene이 전환되어도 BGM이 파괴되지 않고 자연스럽게 넘어갈 수 있도록 관리

6)echo

  • 게임 시작 시에 PlayerPrefs를 통해 stage 관리

7)Pause

-게임 일시 중지

8)SetBGM

-환경설정 중의 배경음악 크기 조절

9)SetSFX

  • 환경설정 중의 효과음 크기 조절

10)Flowing_diplay

  • 화면에서 배경화면이 자연스럽게 흘러가도록 설정

7.Scripts - Code

1)알고리즘

a.단어가 들어갈 수 있는 틀 만들기

b.길이에 맞는 단어를 찾아 넣기

c.N*N 배열에 저장하기

d.저장된 배열 안의 임의의 음절 숨기기

e.배열을 object text로 이동


2)표가 채워지는 과정

a. 첫 단어가 생성된 후에 다음 단어를 생성하기 위해 단어가 들어갈 수 없는 빈칸 삭제

b. 다음 단어가 들어갈 수 있는 위치 파악을 위해 들어갈 수 있는 위아래 빈칸 수 파악(첫 단어가 세로 방향이라면 좌우 파악)

c. 길이가 제일 긴 쪽으로 방향으로 단어가 생성

d. 들어갈 수 있는 단어가 없을 경우 계속 앞 단어로 이동하여 더 채워질 수 있는지 확인

e. 더 이상 들어갈 수 있는 빈칸이 없다면 종료


9.Data

  • 가로 세로 게임의 주된 내용인 단어들이다.

  • K-ICT 빅데이터센터의 형태소 사전의 단어들을 가져왔다.
  • 초기 단어는 약 100만 개이고, game 속에서 사용할 수 있는 3글자 또는 4글자인 단어를 추출하고, 그 뒤에 단어의 타입이 명사인 것만 추출했다. 현재 추출된 단어만 약 30만 개의 단어가 추출되었고, 단어를 우리말샘 사전의 open-api를 사용하여 뜻이 없거나, 북한어, 방언 등을 걸러내려 하였으나, open-api 속도가 원활하지 못하여 Crawling을 통하여 단어를 한 개씩 검색하여 최종적으로 약 19만 개의 단어를 추출해내었다.
  • 현재 단어 중에 의미가 이중적인 것과 의미가 하나인 것, 추가로 전문 용어가 다수가 있다.
  • 전문 용어 중에도 일상에서 자주 쓰이는 단어가 있고 일반 용어 중에도 일상에서 잘 안쓰이는 단어가 있어, 현재 NAVER 웹사이트에 모든 단어를 Crawling을 통해 쓰인 횟수가 일정 수준 이상인 단어를 한 번 더 추출해내는 과정을 거칠 것이다.
  • 현재 게임 플레이 시에는 csv 파일을 20000개 씩 잘라서 random하게 파일을 호출하는 형식으로 하여 게임의 생성 속도를 조금 높였다.
  • Selenium을 사용하여 단어 수집

10.Play