Skip to content

만 10세 이상의 청소년들을 위한 컴퓨팅 사고력을 기르는 모바일 코딩 학습 게임

License

Notifications You must be signed in to change notification settings

rnrgll/MerchenCoder_Ewha_Capstone

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FE - 메르헨 코더

초등학생을 위한 비주얼 프로그래밍 기반 코딩 학습 모바일 게임 frontend 레포지토리

이화여자대학교 엘택공과대학 컴퓨터공학과 캡스톤디자인과창업프로젝트(23.09~24.06)
12팀 팀팀탱탱후라이팬 : 김미진(팀장), 김지우, 이도현

팀원

이름 역할 개인 깃허브
김미진(팀장) 기획, 그래픽, 프론트엔드(게임 시스템) @Mijin-Ewha
김지우 기획, 프론트엔드(게임 시스템, 데이터 관리 시스템) @ZoroZuro1
이도현 기획, 프론트엔드(게임 시스템, 데이터 관리 시스템), 백엔드 @rnrgll

프로젝트 소개

개요

  • 게임 이름 : 메르헨 코더 - 코딩으로 동화세계를 구하라!
  • 장르 : 캐주얼, 퍼즐
  • 플랫폼 : 모바일(안드로이드)
  • 제작 : Unity 2D
  • 플레이 인원 : 1인 싱글 플레이
  • 타겟 사용자 : 코딩을 처음 배우는 초등학생

키워드

어린이 코딩 교육, 비주얼 프로그래밍, 모바일 게임

상세 설명

2022 교육과정 개정으로 공교육에서의 코딩의 중요성이 높아지고, 이에 따라 코딩 사교육 기관도 늘어나면서 높은 사교육비로 인한 교육 격차가 심화되고 있습니다. 이를 해결하기 위해 초등학생을 타겟으로 스스로 재미있게 코딩을 배울 소 있는 모바일 게임, '메르헨 코더'를 제작하였습니다. '메르헨 코더'는 동화 세계를 배경으로 코딩을 통해 문제를 해결하는 게임으로, 유니티와 C#을 활용한 비주얼 프로그래밍 도구 '노드'를 제공합니다. 사용자는 게임을 통해 코드의 구조를 이해하고 컴퓨팅 사고력과 문제 해결력을 기룰 수 있습니다.

새로운 방식의 프로그래밍 학습 도구 '노드'
노드2 노드1
'노드'는 비주얼 프로그래밍을 기반으로 한 프로그래밍 학습 도구입니다. 기존의 블록 코딩과 달리 명령어 간의 연결을 포트와 선을 이용해 표현하여 논리적 흐름과 데이터 흐름을 시각화하였다는 차별점을 가지고 있습니다.
학습하기
스토리진행 문제제공
스토리 진행 - 동화 컨샙의 흥미로운 스토리를 따라 게임이 진행됩니다. 총 두 개의 챕터가 제공됩니다. 문제 제공 - 스토리 진행 중 NPC가 특정 문제 상황을 제시하며, 사용자에게 해결을 요청합니다. 사용자는 코딩을 통해 NPC를 도와줄 수 있습니다.
튜토리얼 프로그래밍& 채점
친절한 튜토리얼 제공 - 새로운 개념이나 풀이 방식을 배울 때마다 사진 및 그림을 활용한 설명이 제공됩니다. 단순 설명뿐만 아니라 사용자의 지시를 따라 개념과 사용법을 익힐 수 있는 인터랙티브한 튜토리얼도 포함되어 있습니다. 프로그래밍 & 채점 - 제공되는 에디터 창에서 코드를 작성한 후, 실행을 통해 코드의 결과를 시각적으로 확인할 수 잇씁니다. 코드를 제출하면 테스트 케이스를 기반으로 채점하여 정/오답을 판단합니다.
복습하기 꾸미기 모드(가구 상점)
복습하기 가구상점
이미 해결한 문제에 대해 다시 풀어볼 수 있는 복습하기 기능을 제공합니다. 사용자는 어려웠던 문제를 복습하고 싶을 때, 문제를 다른 방식으로 풀어보고 싶을 때 해당 기능을 이용할 수 있습니다. 문제를 해결할 때마다 보상으로 '재화'를 획득하게 되며, 획득한 재화로 가구를 구매하고 적용하여 방을 꾸밀 수 있는 기능이 제공됩니다.

데모 영상

프로젝트 소개 동영상을 클릭하면 YouTube로 이동합니다.

프로젝트 소개 동영상




시작 가이드

Requirements

  • Unity Hub
  • Unity
    • v2022.3.12f1 이상
    • Android Build Support module

Installiation

로컬에서 유니티 프로젝트를 실행하는 방법은 다음과 같습니다.

  1. Unity Hub, Unity v2022.3.12f1, Android Build Support module이 준비된 상태여야 합니다.
  2. 저장소를 클론합니다.
    git clone https://github.com/MerchenCoder/UnityBuildMerchenCoder.git
  3. Unity Hub를 실행하고, 'Add' 버튼을 눌러 로컬 저장소에 클론한 프로젝트 폴더(UnityBuildMerchenCoder)를 선택합니다.
  4. Unity 에디터에서 프로젝트를 열고, Scenes 폴더에서 시작할 씬을 선택합니다. 게임을 처음부터 시작하려면 'Splash' 씬을 선택합니다.

Build

  1. Unity 에디터 상단 메뉴에서 'File > Build Settings'를 선택합니다.

  2. Scenes In Build에 아래 이미지처럼 15개의 씬이 추가되어 있는지 확인합니다. 없다면 추가합니다. (반드시 Scenes/MainScene/Splash가 제일 먼저 오도록 배치합니다.)

    Scenes in build
  3. Platform에서 'Android'를 선택하고 오른쪽 하단의 'Switch Platform' 버튼을 눌러 플랫폼을 변경합니다.

  4. 왼쪽 하단의 'Player Settings..'를 눌러 추가적으로 적용하거나 변경하고 싶은 설정이 있다면 적용합니다.

  5. 왼쪽 하단의 'Build' 버튼을 눌러 실행 파일을 저장할 위치를 선택하고 게임을 빌드합니다.

  6. 빌드가 완료되면, 생성된 실행 파일(.apk)를 모바일 기기(안드로이드 태블릿)에서 다운받아 게임을 설치할 수 있습니다.



Stacks

Development

Tools & Communication



아키텍쳐

시스템 구조도

poster_sw_architec_final

  1. 게임 시스템 : 사용자가 스토리를 진행하며 프로그래밍을 학습할 수 있도록 세가지 모듈을 설계하였습니다. 다이얼로그 시스템을 통해 NPC와의 대화를 관리하고, 노드 시스템을 통해 사용자가 비주얼 프로그래밍 도구로 코드를 작성 및 실행할 수 있게 합니다. 또한, 채점 시스템을 통해 작성된 코드를 테스트 케이스 기반으로 코드의 채점이 이루어집니다.
  2. 데이터 관리 시스템 : 플레이어의 게임 진행상황을 저장할 뿐만 아니라, 게임 진행에 필요한 데이터를 적절하게 가져오도록 관리하는 시스템입니다.
  3. 사용자 인증 모듈, 네트워크 관리자 : 사용자의 계정을 생성하고 데이터를 서버에 저장하기 위해, 사용자 인증 모듈과 네트워크 관리자를 설계했습니다. 이 두가지 모듈을 통해 사용자는 계정을 생성하고, 서버에 안전하게 데이터를 저장하고 불러올 수 있습니다.

디렉토리 구조

.
├── LICENSE
├── README.md
├── .gitignore
├── .vsconfig
├── Assets                # 유니티 에셋 스토어에서 구매한 유료/무료 에셋을 포함한다. 팀원 개인 폴더와 리소스들을 포함한다.
    ├── (구매한 유료/무료 Unity Asset은 생략)
    ├── dh                # 팀원 개인 작업 공간. 테스트 코드, 스크립트, 리소스 등이 위치한다.
    |   ├── Scripts
    |   ├── ...
    ├── KJW               # 팀원 개인 작업 공간. 테스트 코드, 스크립트, 리소스 등이 위치한다.
    ├── MJ                # 팀원 개인 작업 공간. 테스트 코드, 스크립트, 리소스 등이 위치한다.
    ├── Resources         # 이미지, 애니메이션, 오디오 파일 등 프로젝트에서 사용하는 모든 리소스들을 포함한다.
    |   ├── Animations
    |   ├── AppIcon
    |   ├── AudioClips
    |   ├── Materials
    |   ├── Physics
    |   ├── Sounds
    |   ├── Speaker
    |   ├── Sprites
    |   ├──Timelines
    ├── Scenes           # 프로젝트의 모든 씬 파일이 위치한다.
    └── TextMesh Pro     # TextMesh Pro 관련 리소스가 포함되어 있다.

License

Distributed under the MIT License. See LICENSE for more information.

About

만 10세 이상의 청소년들을 위한 컴퓨팅 사고력을 기르는 모바일 코딩 학습 게임

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 84.7%
  • ShaderLab 13.1%
  • HLSL 2.2%