[Part 6] DB 설계, 화면 설계, 이벤트 설계

[7월 1일 오프라인 회의에서 전반적인 설계와 역할을 나누었다]

 

<DB 설계>

  • ER 다이어그램 
    • User: 게임 사용자 테이블
    • History: 사용자의 게임 기록 이력 테이블
    • Grade: 채점 점수에 대한 정보 테이블
    • User Grade: 한번 게임에서 나오는 점수를 기록하는 테이블 

ER 다이어그램

  • 그 외의 엔티티타입 정의서, 속성 정의서, 식별자 정의서, 테이블명 정의서, 컬럼명 정의서, 테이블 정의서 작성

<화면 UI 설계> 

 게임을 구성하는 화면의 대략적인 설계 진행하였다. 

  • 게임 화면 
    • 아래는 메인 홈 화면, 로그인 후 화면, 맵 선택 화면, 차량 선택 화면, 난이도 선택 화면, 운전 결과 화면의 프로토 타입을 확인할 수 있다. 
    • 이 외에도 회원가입 화면, 마이페이지 화면, 운전 정지 화면이 있다. 

화면 설계서
회원 가입 화면
마이페이지 화면
운전 정지 화면

  • 게임 맵 화면
    • 일반 도로 구역: 실제 도로 운전 주행 사진을 참고하여 설계 (참고 사이트: http://www.burimdrive.com/bbs/content.php?co_id=06_01)
    • 어린이 보호 구역: 일반 도로에서 골목 한 부분을 어린이 보호 구역으로 한다. 
    • 주차장: 실제 주차장 사진을 참고하여 설계(연수구시설안전관리공단 사이트 참고https://www.ysfsmc.or.kr/business/parking/public.jsp)
      • 주차 공간을 난이도에 따라 다르게 하여 설계
    • 산간 S자 도로: 사진을 참고하여 설계(참고 사이트: https://m.ilyo.co.kr/?ac=article_view&entry_id=56260)

일반 도로 구역 참고 사진
난이도 상의 주차장 참고 사진

 

산간 S자 도로 참고 사진

 

<이벤트(Event) 설계>

아래의 이벤트를 랜덤하게 발생하도록 하여 

  • 일반 도로 구역: 아래의 이벤트의 횟수로 난이도를 조절한다.
    • 갓길 불법 주차: 우회전 및 좌회전했을 경우 불법 주차 차량이 바로 있는 이벤트
    • 주변 차량 차선 변경: 깜빡이 없이 끼어드는 이벤트
    • 도로에 갑자기 튀어나오는 사람
    • 횡단보도: 횡단 보도가 빨간 불일때 사람이 있는가? 사람이 없는가?
    • 도로 공사 등의 방해물이 도로 중간에 있는 경우
  • 어린이 보호 구역
    • 난이도 하: 튀어나오는 사람1번
    • 난이도 중: 갓길 불법 주차 & 튀어나오는 사람(1번)
    • 난이도 상: 갓길 불법 주차 & 튀어나오는 사람(2번) & 시야 좁게 하기
  • 주차장
    • 난이도 하: 주변에 차량이 없는 경우
    • 난이도 중: 갓길 주차
    • 난이도 상: 양옆에 좁게 차량이 있는 경우 
  • 야간 도로
    • 튀어나오는 야생 동물과 반대편 차량에서 오는 라이트 이벤트의 횟수를 조절하여 난이도 결정
 
<운전 채점 기준표>
사용자의 운전 실력을 채점하는 알고리즘을 구현하기 위해 우선 채점 기준표를 작성하였다. 
구체적인 사항은 아래 첨부파일과 같다
  • 일반 도로 구역
내용 감점되는 점수
게임 시작 후 3초 이내 출발하지 않는 경우 -10
좌/우회전 전에 깜빡이를 키지 않는 경우
 회전 방향 알린 후(내비게이션) 키지 않았는지 검사.
-5
운전하는 차량이 차선을 벗어나는 경우
차선을 벗어나는 정도가 어느 정도 인지.
차선 바깥으로 collider 설정?
-15
주행 중 급정지를 하는 경우
횡단보도 앞이
아닌데 브레이크를 밟아 속도가 10이하로 떨어지는 경우
-10
일정 범위의 속도에서 벗어나서 주행을 하거나 속도 제한 규칙을 어기는 경우(5초 이상)
적정 속도 범위 정하기
-5
횡단보도에서 신호를 위반하는 경우 -7
사물이나 사람과 충돌하는 경우 실격
무리하게 끼어들기를 시도하는 경우 -7
올바르게 기어 변속을 하지 않는 경우 -5
  • 어린이 보호 구역
내용 감점되는 점수
게임 시작 후 3초 이내 출발하지 않는 경우 -10
좌/우회전 전에 깜빡이를 키지 않는 경우 -5
운전하는 차량이 차선을 벗어나는 경우
차선을 벗어나는 정도가 어느 정도 인지.
차선 바깥으로 collider 설정?
-15
주행 중 급정지를 하는 경우
횡단보도 앞이 아닌데 브레이크를 밟아 속도가 10이하로 떨어지는 경우
-10
일정 범위의 속도에서 벗어나서 주행을 하거나 속도 제한 규칙을 어기는 경우(5초 이상) -5
어린이 보호 구역에서 속도 제한을 어기는 경우 실격
횡단보도에서 신호를 위반하는 경우 -7
사물이나 사람과 충돌하는 경우 실격
무리하게 끼어들기를 시도하는 경우 -7
올바르게 기어 변속을 하지 않는 경우 -5
  • 주차장 
내용 감점되는 점수
게임 시작 후 3초 이내 출발하지 않는 경우 -10
좌/우회전 전에 깜빡이를 키지 않는 경우
 회전 표시 알린 후 키지 않았는지 검사
-5
운전하는 차량이 차선을 벗어나는 경우
차선을 벗어나는 정도가 어느 정도 인지.
차선 바깥으로 collider 설정?
-15
주행 중 급정지를 하는 경우
횡단보도 앞이 아닌데 브레이크를 밟아 속도가 10이하로 떨어지는 경우
-10
일정 범위의 속도에서 벗어나서 주행을 하거나 속도 제한 규칙을 어기는 경우(5초 이상) -5
사물이나 사람과 충돌하는 경우 실격
올바르게 기어 변속을 하지 않는 경우 -5
주차 중 다른 차량과 충돌하는 경우  
주차 구역에 정확하게 주차하지 않는 경우
Collider를 선 밖에 설정하고 충돌하는지 판단
또는 차량 객체의 rotation 값에 따라서 성공 또는 실패 판단
 
  • 산간 S자 도로
내용 감점되는 점수
게임 시작 후 3초 이내 출발하지 않는 경우 -10
좌/우회전 전에 깜빡이를 키지 않는 경우
 회전 표시 알린 후 키지 않았는지 검사
-5
운전하는 차량이 차선을 벗어나는 경우
차선을 벗어나는 정도가 어느 정도 인지.
차선 바깥으로 collider 설정?
-15
주행 중 급정지를 하는 경우
횡단보도 앞이 아닌데 브레이크를 밟아 속도가 10이하로 떨어지는 경우
-10
일정 범위의 속도에서 벗어나서 주행을 하거나 속도 제한 규칙을 어기는 경우(5초 이상) -5
갑자기 튀어나오는 동물과 충돌하는 경우 ??
올바르게 기어 변속을 하지 않는 경우 -5

 

* 이외의 설계에 대한 자세한 사항은 첨부 파일에 구체적으로 나와있음

[앙큼불여우]SW개발_HW제작설계서_일반_[최종완성].pptx
5.13MB
[앙큼불여우]2021년 한이음 ICT멘토링 프로젝트 중간보고서최종완성].hwp
1.09MB