U E D R , A S I H C RSS

Project_AI/콘솔


1. 개요

  • 게임 플레이 도중 이용되는 콘솔 모드를 구현합니다.

2. 진행 상황

2.1. 7월 7일 이전

  • 최대한 실제 콘솔 창과 비슷하게 구현하는 것을 목표로 합니다.
  • UI 모델은 리눅스 혹은 파이썬으로 잡았습니다. 사실 어떻게 보면 의미는 없습니다(....)
  • 천천히 구현해 나가고 있기는 한데, 몇 가지 문제점 때문에 약간 난항을 겪고있습니다.
    • 어떻게 유저가 수정 가능한 UI Text를 제작할 것인가.
    • 위 역시 문제긴 문제지만 사실 가장 큰 문제는 스크롤바 재현에 있습니다.
  • 7월 9일까지 문제점 해결을 목표로 합니다.
  • 나머진 기밀이닷!
    • ...이 아니라 그냥 정말 콘솔이에요. 흔하게 쓰는 콘솔.

2.2. 7월 7일 ~ 7월 9일

  • 1차로 갈아엎었습니다.
    • 어째 이러면서 설계해놓은 것도 같이 엎어진 것 같지만... 에라 모르겠다...
  • 그래도 예전보단 낫습니다.
  • 사용자로부터 입력받고, 출력하는 것까지 완성했습니다.
    • 다만, 말할 수 없는 사정상(...) 입력하는 것에 제한을 둔 것이 조금 있습니다...
  • 스크롤바는 넣을까 말까 고민하다가 아직은 필요없는 것 같아 보류중입니다.
  • 지금 생각해보니 까만 콘솔 화면이 가장 간단한 것 같기도 하고 아닌 것 같기도 하고...
    • 사실 지금 폰트가 조금 마음에 안든다고 합니다.

2.3. 7월 11일 새벽

  • 폴더 구현하면서 어떻게 해야하는지 고민
  • 그래서 잠시 회의했습니다.
  • 구성요소가 겹치는 아이템들을 item 클래스를 상속받아서 하는 것으로 함
  • 새로 얻은 아이템을 따로 표시해주는건 고려해보기로 함
  • 폴더 - 하위폴더/상위폴더/이름/엑세스 여부/아이템 리스트 라는 멤버를 만들기로 함 이로써 문제는 일단락될듯
  • 앞으로는 만들어나가면서 추가하기로 했습니다. 애초에 안만들면 어찌해야되는지 감도 안잡히고....

2.4. 7월 10일 ~ 7월 13일

  • 아이 라이브러리에 새벽에 회의한 내용을 전부 구현시켰습니다.
    • 클래스 구조는 장담할 수 없어요.
  • 세가지의 명령어를 구현했습니다.
  • 메서드 하나가 지나치게 길어져서, 이리저리 생각해보고 있지만... 모르겠습니다.
  • 콘솔에서 구현해야 하는건 거의 다 구현한 듯 싶습니다.
  • 스크롤바를 대체할 방법을 슬쩍슬쩍 생각해보고 있습니다.

2.5. 7월 14일 ~ 7월 17일

  • Open 명령을 조금 더 구체적으로 구현 (파일 열기!)
  • 200줄이 넘어가는 메서드를 차마 볼 수가 없었던 나머지, 수행부분에서 조건 검사 부분은 다른 정적 클래스에서 담당하도록 빼버리고 순수하게 수행만 할 수 있는 구조로 분해했습니다.
    • 그래도 길어요... 쿨럭쿨럭
  • 바탕에 희미하게 조명을 추가했습니다. 이것이 조명의 힘이군요!
  • 고려해야 할 사항 - 획득한 아이템에 대해서만 Import 허용하기
  • 기존 Dir 명령어를 좀 더 알기 쉽게 moveDir argument / showDir로 분해했습니다.
  • 폴더가 색상을 지원합니다!
  • 사운드 효과를 내고 싶긴 한데, 인터넷 상에서 적절한 소스를 찾기가 힘드네요. 있어도 사용 허락 과정이 복잡하고..

2.6. 7월 18일 ~ 7월 20일

  • 월차 내고 휴가갔습니다.

2.7. 7월 21일 ~ 7월 24일

  • 3가지의 명령어를 구현. (아직 정해진 사항이 없는 것이 많아서 명령어 인식만 하도록 구현했습니다.)
  • 인트로를 구현했습니다.
    • 저장 파일이 있을 때/없을 때로 구분하는 건 나중에 해야할 것 같네요.
  • Main과 Console을 연동시켰습니다.
  • 타이핑 효과를 Random/Non-Random으로 나눌 수 있도록 했습니다.
  • 타이핑 효과 출력 시 색상 출력/볼드 + 이텔릭체가 가능해졌습니다.

2.8. 7월 29일 ~ 8월 1일

  • 2차로 갈아엎었습니다.
    • 리팩토링 과정을 거쳤습니다.
      • 사실 이게 제일 큰 작업이었다고 합니다.
      • 도중에 되던게 안되서 난리도 아니었습니다... 휴우...
  • MonoBehavior가 영 좋지 않음을 깨달았습니다.
  • 사용할 메시지를 가져올 때 다른 방법을 사용해볼까 고민중입니다.

3. 8월 1일 ~ 10월 11일

  • 명령어 처리 방식을 약간 변경했습니다.
  • 명령어 실행시마다 개행문자가 한 개씩 더 나오는 현상을 없앴습니다.
  • 콘솔에서 메인으로의 이벤트 발생시키는 것이 가능해졌습니다.
  • GUI를 설정하는 명령어에 대한 메시지 처리를 다듬었습니다.
  • 명령어 로그를 위로 올리는 방식에 문제가 있어서 해결이 필요합니다.

4. 10월 12일 ~ 12월 28일

  • 해상도에 따라 줄 간격이 갱신되는 정도가 달라서, 1280x720으로 고정시키고 줄 간격을 설정했습니다.
  • Open 명령어에 문제가 생겨 (글자가 깨짐), 배경 이미지를 한 겹 더 씌우는 방식을 통해 해결했습니다.
  • Import, Repair 명령어가 일괄 출력 식이 아닌 한 글자씩 출력되는 방식으로 변경되었습니다.
  • 콘솔 진입 시 출력되는 문구가 처음 콘솔에 진입할 때와, 추후에 진입할 때로 나뉘어서 출력됩니다.
  • Admin 명령어를 추가했습니다. 게임 진행에 영향을 주게 됩니다.
  • 모든 콘솔 메시지를 사용 가능한 메시지로 교체하였습니다.
  • ChangeStyle이라는 명령어를 통해, 메인에서의 아이 복장을 변경시킬 수 있습니다.
  • 콘솔에 글자를 쓸 때마다 랜덤으로 타이핑 소리가 재생됩니다. BackSpace의 경우는 예외로 동일한 소리가 재생됩니다.
  • 사용자의 편의를 위해, Showdir 명령어에서도 획득한 아이템의 Import 여부를 알려줍니다.


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2016-01-05 18:42:40
Processing time 0.2171 sec