Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 25, No. 10, pp.2969-2977
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 31 Oct 2024
Received 31 Jul 2024 Revised 06 Sep 2024 Accepted 14 Oct 2024
DOI: https://doi.org/10.9728/dcs.2024.25.10.2969

기능성 게임을 활용한 코딩교육 프로그램 제안: ‘핵전쟁에서 개발자로 살아남기’를 중심으로

서민주1 ; 심현지2 ; 이승우1 ; 홍진호1 ; 정지윤3, *
1중앙대학교 컴퓨터예술학부 학사과정
2중앙대학교 미술학부 학사과정
3중앙대학교 예술공학부 조교수
Proposal of a Coding Education Program Using Functional Games with Focus on ‘Surviving as a Developer in a Nuclear War’
Min-Ju Seo1 ; Hyeon-Ji Sim2 ; Seung-Woo Lee1 ; Jin-Ho Hong1 ; Jiyun Chung3, *
1Bachelor's Course, College Of Art & Technology, Chung-Ang University, Gyeonggi-do 17546, Korea
2Bachelor's Course, College Of Arts, Chung-Ang University, Gyeonggi-do 17546, Korea
3Assistant Professor, College Of Art & Technology, Chung-Ang University, Gyeonggi-do 17546, Korea

Correspondence to: *Jiyun Chung Tel: +82-31-670-3192 E-mail: chungjiy@gmail.com

Copyright ⓒ 2024 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

최근 4차 산업혁명 이후 코딩교육 및 디지털시대 전환에 따라 코딩교육의 중요성이 강조되고 있다. 본 연구에서는 기능성 게임인 ‘핵전쟁에서 개발자로 살아남기’라는 생존게임을 통해 코딩교육을 효과적으로 제공하고자 한다. 본 게임은 플레이어가 핵전쟁 이후의 세계에서 코딩 퍼즐을 풀어 자원을 확보하고 생존하는 과정을 통해 학습하도록 유도한다. 본 게임은 유저 테스트를 통해 게임의 교육적 효과를 검토하였고, 교육적 목적을 갖춘 기능성 게임으로서 코딩교육 시장에서 활용되기를 기대한다.

Abstract

In the wake of the Fourth Industrial Revolution, the importance of coding education and transition to the digital age are being increasingly emphasized. As a result, research on the contribution of serious games to coding education has surged in Korea, fueled by the widespread adoption and positive impact of computer games. This study aims to effectively provide coding education through a serious game called “Surviving as a Developer in a Nuclear War,” which is designed as a survival game. Based on this analysis, a new game was designed. In this game, players are guided to solve coding puzzles to secure resources and survive in a post-nuclear world. This serious game is expected to be utilized in the coding education market as a tool for educational purposes.

Keywords:

Educational Game, Serious Game, Coding Education, Survival Game, Game Development

키워드:

교육용 게임, 기능성 게임, 코딩교육, 생존 게임, 게임 개발

Ⅰ. 서 론

최근 사회는 일상생활에서 첨단산업에 이르기까지 사회 전체가 소프트웨어(Software, SW) 중심으로 운영되고 사물인터넷을 통해 초연결되는 시대가 도래하면서 독립적으로 존재하던 분야들은 컴퓨팅 기반의 융합적 성격을 띠게 되었다. 이러한 변화로 인해 컴퓨팅 관점에서 문제를 바라보고 효율적으로 해결할 수 있는 사고능력을 의미하는 컴퓨팅 사고력(Computation Thinking, CT)은 미래를 살아가는 데 필요한 핵심역량이 되었다[1]. 이는 소프트웨어 전문 인력 양성 뿐 아니라 21세기를 살아가는 모든 학습자들에게 필요한 핵심역량이다. 이에 따라 세계 주요국들은 소프트웨어 교육의 중요성을 깨닫고 소프트웨어 교육을 정규화 과정에 도입하고 있다[2],[3].

소프트웨어 교육에 대한 중요성이 높아지는 현 시점에서 컴퓨터 게임의 확산과 사회적 인식의 긍정적 변화는 컴퓨터 게임을 활용한 학습효과에 대한 관심을 만들었다[4].

게이미피케이션은 게임적인 사고방식과 기법을 활용하여 유저를 몰입시키고 문제를 해결하는 과정을 말한다[5]. 게임이 가지고 있는 커뮤니케이션, 동기유발, 재미, 피드백과 보상 등의 게임적 요소를 교육콘텐츠에 적용하여 학습자들의 적극적이고 자발적 학습활동을 수행할 수 있도록 하는 것이다. 게이미피케이션은 2002년 영국 IT 컨설턴트 닉 펠링에 의해 처음 사용되었으며 2011년 샌프란시스코에서 열린 게이미피케이션 서밋(Submit) 이후 많은 관심을 받기 시작했다[6],[7].

교육 게이미피케이션의 대표적인 사례 중 하나는 2011년 출시한 ‘마인크래프트’이다. 마인크래프트는 전 세계 여러 학교에서 지리, 건축, 물리, 화학 등 다양한 과목에서 교육적 효과를 내고 있다.

기능성 게임을 활용한 교육에 있어 학습과 게임성의 분배는 매우 중요하다. 학습에 치우친 게임의 경우, 게임이 보조적 학습도구가 되어 몰입을 통한 학습의 효과가 크지 않거나 개발비용의 한계로 인해 제한된 학습요소만을 제공한다. 이러한 부분에 있어 코딩교육의 경우 게임 자체가 컴퓨터적 사고 체계로 설계되어 학습자의 흥미유발과 지속가능한 교육이 가능하게 만든다[8],[9].

이에 본 논문에서는 다음과 같은 흐름에 따라 새로운 코딩교육용 게임 개발을 제안하고자 한다. 첫째, 현재 시장에 존재하는 코딩교육 게임들을 분석·비교하여 각 게임이 가지고 있는 특·장점을 파악한다. 둘째, 기존 게임 시장에서 코딩교육 서비스가 부족한 연령 타겟층을 설정한다. 셋째, 비교·분석한 교육용 코딩 게임을 바탕으로 ‘도전적이고 명확한 미션’, ‘즉각적 피드백’, ‘적절한 보상’과 같은 학습을 위한 게임 메커니즘을 강화하여 타겟 연령의 성향과 학습자의 수준에 맞춘 새로운 코딩교육 게임을 개발한다.


Ⅱ. 기존 사례 연구

2-1 코딩교육 게임

코딩교육에 있어 핵심은 ‘알고리즘에 대한 이해와 분석’이다. 알고리즘은 문제를 해결하기 위한 순차적 단계 및 여러 행위의 모음이며, 코딩은 컴퓨터용 언어를 사용하여 알고리즘을 실행하게 만드는 행위임으로 많은 코딩교육에 있어 알고리즘은 SW교육의 핵심 목표이다[10]. 이는 2015년 교육부가 발간한 소프트웨어 교육 운영지침을 통해서도 알 수 있다.

코딩교육 게임에서도 컴퓨팅 사고력의 핵심인 알고리즘을 거부감 없이 학습할 수 있도록 만들기 위해 여러 형식의 코딩 방식을 사용한다. 본 연구에서는 게임에서의 코딩방식을 크게 노드 형태, IDE·텍스트 형태, 블록 형태 3가지 형태로 분류하여 분석하였다.

1) 노드 형태

노드 형태 게임이란 스토리의 각 지점을 "노드"로, 선택지를 선으로 연결한 게임이다. 플레이어의 선택에 따라 다양한 경로로 진행될 수 있다. 노드 형태의 게임으로는 대표적으로 닌텐도(Nintendo)에서 출시된 ‘차근차근 게임코딩’이 있다. 게임 속에서 유저는 코딩을 하기 위해 ‘노튼’이라는 생명체를 연결한다. 노튼은 변수, 상수, 함수 등의 역할을 하며 게임속에서 유저가 직접 게임을 제작하는 경험을 제공한다. 본 방식은 유니티, 언리얼과 같은 게임엔진에서의 GUI(Graphic User Interface) 방식과 비슷한 방식을 가지고 있어 교육의 적용 가능성이 넓지만 코드가 방대해질수록 가독성이 떨어진다는 단점을 지니고 있다.

노드 형태와 별개로 해당 게임에서 제공하는 코딩을 통한 게임 제작 콘텐츠는 유저가 가진 게임에 대한 흥미를 쉽게 코딩교육으로 가져올 수 있다는 장점을 가진다.

Fig. 1.

Node-type game ‘Game Builder Garage’

2) IDE·텍스트 형태

IDE(Integrated Development Environment)·텍스트 형태의 게임은 명령어를 타이핑하여 코딩하는 방식이다. 대표적으로 ‘CodeCombat’이라는 게임이 있다. RPG(Role Playing Game) 장르에 IDE 형태의 코딩 방식을 결합한 게임으로 실제 코드를 작성하여 게임을 진행한다. 실제 사용되는 프로그래밍 언어를 사용한다는 점에서 높은 수준의 심화 교육이 가능하지만 낮은 연령, 처음 코딩을 접하는 유저에게 다소 진입장벽이 느껴질 수 있다.

Fig. 2.

IDE·text game ‘CodeCombat’

3) 블록 형태

블록 형태의 게임은 현재 코딩교육 게임에서 가장 대중적인 방식으로 블록을 쌓거나 조합하여 퍼즐을 풀거나 구조물을 만드는 게임이다. 블록형태의 코딩게임을 대표하는 예시로는 마인크래프트 게임이 있다. 블록형태는 가장 간단하기 때문에 코딩에 처음 입문하는 유저에게 적합하다. 대부분 퍼즐 게임의 방식을 가지고 있으며 스크래치 언어 및 엔트리 프로그래밍 언어를 사용하고 있다. 그리고 블록 코딩 게임은 많은 콘텐츠로 인해 코딩교육의 효과를 증명하는 연구가 다수 존재한다[11]-[15].

Fig. 3.

Block coding ‘Minecraft Education’

2-2 코딩교육 게임 개발 방향성 제안

기존 교육용 코딩 게임에 대한 분석을 통해 알고리즘 시티와 같이 어린 연령을 대상으로 한 블록코딩 형식의 퍼즐 게임이 주류를 이룬다는 것을 알 수 있었다. 이는 교육적 접근 용이성, 사회적 요구, 기술에 대한 친숙함 등의 영향으로 보여진다. 노드, IDE 형식에서는 코딩에 익숙한 유저를 위한 게임이 주를 이루었다. 대표적으로 ‘TIS-100’, ‘7 Billion Humans’가 있다. TIS-100은 Zachtronics에서 출시한 프로그래밍 게임으로 명령어 종류는 13개로 개수는 적지만 매우 높은 난이도를 가지고 있어 유저 가운데 프로그래머가 많기로 유명하다.

이에 본 연구는 기존 코딩교육 기능성 게임의 단점을 보완한 새로운 코딩교육 게임의 방향성을 제시한다. 첫째, 기존 코딩 게임 시장에서 주를 이루고 있는 어린 연령을 대상이 아닌 청소년, 성인을 메인 타깃한 게임을 개발한다. 초연결사회에 살고 있는 지금 SW 교육게임이 필요한 수요층은 대학 및 사회에서 소프트웨어 능력이 요구되는 성인이라고 보았다. 둘째, 게임적 세계관, 스토리텔링과 같은 요소는 타겟 유저의 흥미를 유발할 수 있는 아포칼립스 생존 요소를 사용하되, 코딩교육 부분에 있어서는 블록 코딩을 사용하여 학습과정에서 어려움이나 지루함을 느끼지 않도록 한다. 셋째, 아포칼립스 생존이라는 장르에 맞는 UI와 3D그래픽으로 디자인한다. 마지막으로, 캐릭터의 이동 시간, 블록 코딩 게임에서의 코딩 결과에 따른 코드 수정 등을 용이하게 하기위해 탑다운 뷰로 게임을 제작한다.

Fig. 4.

Coding games for kids ‘Algorithm City’

Fig. 5.

Coding game for experts, ‘TIS-100’


Ⅲ. 본 론

본 연구에서는 코딩교육 생존게임을 주제로 기획, 개발, 아트, 음약 분야의 개발을 진행하였다.

3-1 기획

기획에 있어서 교육성을 확보하기 위해 맥락학습(Contentual Learning)의 요소를 중요시하였다. 맥락학습이란, 학생이 교육 내용의 현상을 인식하고 그 인식의 바탕으로 상황 맥락을 이해할 수 있도록 지원하여 교육효과를 극대화하는 학습 기법을 의미한다[16]. 이를 게임적으로 적용하면, 게임이 전달하는 스토리와 그 세계관을 통하여 이용자가 '왜' 코딩을 해야 하는지, 또 이러한 코딩을 학습해야 하는 이유는 무엇인지 설득력있게 전달하는 것이라고 할 수 있을 것이다.

그러므로 본 게임은 코딩 게임에서 SF 세계관을 차용하고 동시에 플레이어에게 개발자라는 설정을 부여함으로써, 코딩 퍼즐에 대한 세계관적 개연성을 부여하였다. 그리고 코딩을 해야하는 이유로서 생존 게임이라는 장르를 선정하여, 생존게임의 특징인 지속적인 동기 부여를 코딩 게임에 적용하여 플레이어가 코딩의 지속적인 성장과 발전을 자연스럽게 추구할 수 있도록 설계하였다.

게임의 세계관은 핵전쟁으로 인해 멸망한 세계에서 연구소의 유일한 생존자인 플레이어가 해킹 테마의 코딩 퍼즐을 통해 연구실 문을 해킹하고, 연구실 내부의 아이템을 활용하여 체력과 연구실을 관리하며 생존하는 게임을 기획하였다.

본 게임에서 플레이어는 생존에 필요한 에너지와 자원을 획득하기 위해 연구실을 탐험해야 한다. 이때 연구실이란 플레이어가 이동 가능한 구역을 분류해 놓은 것으로, 타 게임에서는 스테이지에 해당하는 요소이다. 연구실은 ‘바이오’, ‘테크’, ‘에너지’, ‘환경’ 네 가지 유형으로 각각 생존에 필수적인 역할을 수행한다.

Fig. 6.

Game flow

연구실은 보안 레벨에 따라 1~4레벨로 나뉘며, 상위 레벨의 연구실일수록 생존에 큰 도움이 된다. 연구실 내부를 탐험하기 위해서는 해킹을 통해 문을 강제 개방해야 하며, 문을 개방하면 연구실을 활성화할 수 있다. 연구실을 활성화하고 에너지와 자원을 할당하면 생존에 필요한 효과가 발동된다.

이 게임의 최종 목표는 각 연구실의 보안 등급 4에 해당하는 연구실을 활성화하는 것이며, 이를 통해 종말 이후의 세계를 재건할 수 있다.

3-2 개발

1) 인벤토리

본 연구에서는 플레이어와 인벤토리 시스템의 구현을 위해 '탑다운 에셋'을 철저히 분석하고, 이를 효과적으로 활용하기로 결정하였다. 이러한 분석을 바탕으로, 플레이어의 움직임과 이에 따른 음악을 추가하였다.

Fig. 7.

Top-down asset

유니티 Cinemachine의 ChinemachineVirtual 카메라를 사용해 플레이어가 움직이면 카메라도 같이 추적하도록 설정하였다. 이 외에도 유니티의 Collider를 활용하여, 플레이어가특정 오브젝트에 접근하면 UI 창이 나타나거나 플레이어의 체력이 감소하는 상호작용 기능을 구현하였다. 더 나아가 아이템 상자에서 상호작용 후 아이템 수집까지 가능하다.

Fig. 8.

Object interaction test scene

게임의 생존 요소로서 공복과 오염도를 설정하였고, 이러한 변수들은 각 아이템과 플레이어에 적용했다. 이 변수들은 플레이어 상태에 영향을 미치고 아이템을 사용하면 플레이어 상태에 영향을 끼칠 수 있게 개발했다. 아이템을 사용하면 플레이어의 상태가 변하지 않는 코드 오류와 플레이어 상태가 UI에 적용되지 않는 문제가 있었다. 초기 인벤토리 시스템에서는 임시로 인벤토리 창으로 들어가는 A 버튼을 만들거나 Figma로 제작한 임시 이미지를 사용하여 아이템 정렬 및 획득 창을 구현하였다. 또한 플레이어 상태와 연동하여 아이템을 사용할 수 있는 기능도 추가하였다. 이후 최종 UI와 아이템 이미지를 전달받아 이전에 제작한 기능과 통합하는 작업을 진행하였다. 아이템을 수집할 때 숫자가 표시되지 않거나 아이템을 사용할 때 코드상의 문제로 인해 사용이 불가능한 경우 등 다양한 문제들이 발생하였다.

인벤토리 시스템에서는 다양한 아이템을 수집할 때 사용자들이 비슷한 아이템끼리 분류해서 볼 수 있도록 하고자 하였다. 이를 위해 아이템 창 위에 ‘소모품’, ‘치료’, ‘키 아이템’ 등의 버튼을 추가하여 해당 버튼을 누르면 아이템이 분류되도록 시도하였다. 처음에는 하나의 인벤토리를 사용하여 버튼을 누를 때마다 해당 종류의 아이템만 보이도록 제작하였으나, 아이템 슬롯 일부가 보이지 않는 문제에 직면하였다. 이를 해결하기 위해 여러 개의 인벤토리를 만들고 버튼을 누르면 해당 인벤토리가 보이도록 변경하였다. '탑다운 에셋'을 기반으로 인벤토리를 제작하는 과정에서 에셋이 TMP가 아닌 폰트만을 사용하고 있어 이를 수정하였다. 아이템 획득 UI를 전달받아 코딩 퍼즐을 해결하거나 아이템 박스에서 아이템을 획득할 때 아이템 획득 창이 나타나도록 구현하였다.

Fig. 9.

Craft window in the inventory screen*The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

에셋의 조합 기능은 본 게임의 기획과는 맞지 않아, 인벤토리 화면에서 아이템 조합 기능을 추가적으로 개발하였다. 조합 화면은 아이템 창과 유사한 디자인을 적용하여 통일성을 유지하였다. 왼쪽에는 조합할 아이템 목록을 표시하였고, 오른쪽에는 해당 아이템의 세부 정보와 필요한 재료를 명확하게 표시하여 사용자가 조합 과정을 직관적으로 이해할 수 있도록 배치하였다.

2) 연구실

연구실과 플레이어와의 상호작용 부분에서는 연구실 문 근처에 다가갔을 때 '문 열기' 또는 ‘문 닫기’ UI가 화면에 표시되도록 하였으며, 플레이어가 인터랙션 버튼(돋보기 버튼 혹은 스페이스 바)을 클릭했을 때 문을 열고 닫을 수 있는 기능을 구현하였다. 이 과정에서 한 가지 문제가 발생하였는데, ‘문 열기’와 ‘아이템 열기’ UI가 특정 높이 아래로 내려갔을 때 메인 카메라가 UI를 제대로 비추지 못하는 문제가 있었다. 이를 해결하기 위해 메인 카메라의 위치를 조정하였다.

Fig. 10.

Door open interaction button*The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

Fig. 11.

Item open button*The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

Fig. 12.

Lab management screen *The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

연구소 정보 창에서는 모든 연구실을 간편하게 활성화하거나 비활성화할 수 있는 기능을 적용하였다. 또한 각 연구실이 생산하는 아이템과 현재 상태, 내구도, 오염도, 에너지 효율 등의 자세한 정보를 상세히 확인하여 플레이어의 생존을 도모할 수 있도록 하였다.

3) 코딩퍼즐

코딩 퍼즐 구현에 있어서는, ‘BlockEngine2’ 라는 에셋을 필요한 형태로 가공하여 사용하였다. 본 게임의 시스템상 매 턴마다 블록에 따라서 단말이 이동하고 또 그 외 코딩 가능한 오브젝트들이 동작하도록 제작해야 했다. Singleton 패턴을 사용해서 Turn, Code, Reward 등의 요소들을 관리해주는 매니저들을 각각 제작하였고, BlockEnigne2의 Block Insfector 기능을 추가적으로 활용해서 제작해놓은 턴 시스템에 맞게 각 Block들이 실행되도록 수정할 수 있었다.

플레이어가 정지버튼을 눌렀을 때, 각 오브젝트의 코딩된 값들이 원래대로 돌아가야 했기 때문에 스테이지가 시작될 때 각 블록의 초기 코드 값을 XML 형태로 가공하여 Application.persistentDataPath의 경로에 저장을 하고, 플레이어가 정지버튼을 누르면 그 경로에 저장된 XML 파일을 다시 코드 형태로 파싱하여 씬에 생성하는 방식으로 구현하였다.

Fig. 13.

Coding puzzle description screen *The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

코딩 퍼즐의 UI와 3D 오브젝트의 디자인을 보완하였다. 원래 기본 타일로 사용하고자 하였던 에셋이 본 게임의 형태와 잘 어우러지지 않는다는 의견으로 인해 새로운 타일을 찾아 기본 타일로 설정하고, UI 또한 가상공간 컨셉에 맞는 Sci-Fi 스타일의 단순하고 직관적인 UI들로 교체하였다. 그리고 라이팅 작업 및 포스트 프로세싱 작업을 진행하여 신비로운 우주공간의 느낌을 줄 수 있도록 제작하였다. 유저의 이해를 돕기 위해 오브젝트 특성에 맞는 설명을 넣어 코딩 퍼즐에 작동 방식을 이해할 수 있도록 하였다.

3-3 아트

본 기획은 인원과 제작 기간을 고려하여 기존 에셋을 재배치하고 디자인하는 방식을 선택하였다. 초기 작업으로는 1차 아이템 리스트를 정리하고 맵 제작을 하였다. 기획 단계의 수정 사항을 반영하여 연구실의 위치와 개수를 확정하고, 이러한 과정을 통해 효율적으로 작업을 진행하며 프로젝트의 기반을 다졌다.

Fig. 14.

Partial lab scene

Fig. 15.

Environment, tech, energy, bio lab

‘환경’, ‘테크’, ‘에너지’, ‘바이오’ 네 가지 유형의 연구실에서는 각각의 개성과 분위기를 강조하기 위해 다양한 오브젝트를 배치하였다. ‘환경’ 연구실은 조명과 식물 오브젝트를 적용하여 녹색으로 색상을 지정하였고, ‘테크’ 연구실은 파란 조명과 공학적인 테마를 위해 ‘에너지’ 연구실은 노란색 조명과 전선, 공장 분위기를, 그리고 ‘바이오’ 연구실에는 보라색 조명과 생명 공학 연구소를 연상시키는 오브젝트를 배치하여 연구실별로 독특한 느낌을 주도록 하였다.

Fig. 16.

Wireframe*The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

3-4 음악

본 연구에서는 음악과 게임의 분위기 조화를 중심으로, 공상과학적 테마를 강조한 음악을 선정하였다. 타이틀화면은 고독한 환경에서 코딩 작업을 수행하는 인물을 표현하기 위해 어두운 분위기의 음악을 선정하였다. 이는 플레이어에게 게임의 집중과 몰입을 제공하기 위함이다. 반면, 메인화면은 플레이어가 생존을 위해 노력하는 상황을 반영하여, 지나치게 느리지 않고 희망적인 음악을 선택하였다. 이는 반복적으로 들리는 음악이 플레이어에게 영향을 미칠 수 있다는 점을 고려한 결과이다.

그리고 코딩 퍼즐 화면에서는 미스터리하면서도 기계적인 느낌을 주는 음악을 선정하였다. 이는 로봇의 움직임과 해킹이라는 게임의 핵심 테마를 효과적으로 반영하고, 플레이어에게 특정 분위기를 전달하기 위함이다. 본 연구는 게임의 각 화면에 적합한 음악을 신중히 선택함으로써, 플레이어의 몰입도를 높이고 게임의 전체적인 경험을 향상시키고자 했다.

3-5 유저 테스트(User Test)

‘핵전쟁에서 개발자로 살아남기’의 프로토타입 완성 과정에서 전시를 통해 두 차례의 관람객을 통한 유저 테스트를 하였다. 첫째, 유저 테스트에서는 튜토리얼과 게임 작동 로직 설명에 대한 피드백을 집중적으로 수집하여 이를 수정하였다. 이 과정에서 사용자들이 게임을 시작할 때 혼란을 느끼지 않도록 튜토리얼을 개선하고, 게임의 작동 로직을 명확히 설명하는 방안을 마련하였다. 이러한 수정 작업을 통해 사용자 경험을 크게 향상할 수 있었다.

Final UI Design

Fig. 17.

Exhibition for user test*The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

둘째, 유저 테스트는 초기 기획 단계에서 모바일 게임으로 기획되었다가 다양한 이유로 PC 게임으로 전환된 이후의 문제점이 지적되었다. 특히, UI의 통일성이 부족하다는 평가와 함께 몇몇 UI 디자인이 게임의 전체적인 분위기와 어울리지 않는다는 피드백을 받았다. 이에 따라 UI 디자인을 전반적으로 재검토하고 게임의 테마와 일치하도록 수정하였다.

본 게임은 전시를 통해 유저 테스트를 진행하였으며 많은 사용자들이 게임을 플레이하는 기회를 제공하였다. 이를 통해 게임의 레벨 디자인 측면에서도 다양한 피드백을 받을 수 있었다. 특히 코딩 스테이지의 레벨 디자인이 초보자에게 친화적이지 않다는 평가가 주를 이루었으며, 일부 전시 관람 이용자들은 코딩 퍼즐을 해결하지 못하는 경우도 있었다. 이러한 피드백을 바탕으로 코딩 퍼즐의 난이도를 조정하고, 초보자들도 쉽게 접근할 수 있도록 수정 작업을 진행하였다.

3D 맵과 관련해서도 에셋 사용이 부정적인 부분이 지적되었으며, 게임 플레이와 관련된 튜토리얼의 부족함도 개선이 필요하다는 의견이 있었다. 이를 반영하여 상세한 튜토리얼을 코딩 퍼즐에 말풍선을 추가하게 되었다. 이를 통해 플레이어들이 게임의 기본 메커니즘을 쉽게 이해하도록 수정하였다.


Ⅳ. 결 론

본 연구에서는 성인을 위한 코딩교육 게임 ‘핵전쟁에서 개발자로 살아남기’를 제작하여 새로운 형태의 코딩교육 게임을 제안했다.

코딩교육 게임 개발을 위해 기존게임의 형태를 노드 형태, IDE·텍스트 형태, 블록 형태의 게임과 예시를 분석하였다. 그리고 대학 및 사회에서 소프트웨어 교육이 필요한 성인을 대상으로 한 코딩교육 게임을 설계하였다.

본 게임의 내용은 핵전쟁에 살아남은 플레이어(개발자)가 4개의 공간을 이동하며 생존하는 생존게임으로서 퍼즐 게임을 통해 코딩을 학습할 수 있도록 구현하였다. 그리고 게임요소로 맥락학습, 코딩퍼즐, 게이미피케이션의 요소 등을 적용하였다. 게임의 보완점을 개선하기 위해 사용자 테스트를 거쳐 다양한 피드백을 보완하였고, 사용자들에게 코딩 능력이 향상될 것 같다는 긍정적인 의견을 받았다. 코딩교육 게임으로서의 가능성 게임의 적합성을 확인할 수 있었다.

본 게임은 소프트웨어 교육이 필요한 대학 및 성인 소프트웨어 교육 현장에서 적극적으로 활용될 수 있도록 관련 코딩교육 활용 연구를 추가로 시행하고자 한다. 교육적 목적을 갖춘 기능성 게임으로서 지속적인 연구를 통해 본 게임을 활용한 교육 프로그램을 제안할 계획이다. 이 게임을 통해 많은 사람들이 코딩을 재미있고 효과적으로 학습할 수 있도록 하는 데 기여하고자 한다.

References

  • J. S. Sung and H. C. Kim, “Analysis on the International Comparison of Computer Education in Schools,” The Journal of Korean Association of Computer Education, Vol. 18, No. 1, pp. 45-54, 2015. [https://doi.org/10.32431/kace.2015.18.1.005]
  • J. M. Kim, “Current Status and Future of SW·AI Education in Secondary School,” Communications of the Korean Institute of Information Scientists and Engineers, Vol. 39, No. 9, pp. 27-34, September 2021.
  • S. Kim, “Current Status and Implications of SW·AI Education for Non-Computer Majors at Universities,” Communications of the Korean Institute of Information Scientists and Engineers, Vol. 39, No. 9, pp. 41-47, September 2021.
  • P. Moreno-Ger, “Educational Game Design for Online Education,” Computers in Human Behavior, Vol. 24, No. 6, pp. 2530-2540, September 2008. [https://doi.org/10.1016/j.chb.2008.03.012]
  • G. Zichermann and C. Cunningham, Gamification by Design: Implementing Game Mechanics in Web and Mobile Apps, 1st ed. O'Reilly Media, Inc.
  • E. S. Choi and N. J. Park, “Demonstration of Gamification in Education for Understanding Artificial Intelligence Principles at Elementary School Level,” Ilkogretim Online Vol. 20, No. 3, pp. 709-715, 2021.
  • J. S. Kim and N. J. Park, “BlockChain Technology Core Principle Education of Elementary School Student Using Gamification,” Journal of the Korean Association of information Education, Vol. 23, No. 2, pp. 141-148, April 2019. [https://doi.org/10.14352/jkaie.2019.23.2.141]
  • E. H. Lee and T. W. Lee, “Instruction Model for Elementary School on Programming Induction Education Using ENTRY,” in Proceedings of the Korean Association of Computer Education, Vol. 19, No. 1, pp. 43-46, 2015.
  • M. Y. Lyou and S. K. Han, “Development of Computational Thinking-based Educational Program for SW Education,” Journal of the Korean Association of Information Education, Vol. 19, No. 1, pp. 11-20, 2015. [https://doi.org/10.14352/jkaie.2015.19.1.11]
  • B. D. Mann, B. M. Eidelson, S. G. Fukuchi, S. A. Nissman, S. Robertson, and L. Jardines, “The Development of an Interactive Game-based Tool for Learning Surgical Management Algorithms via Computer,” The American Journal of Surgery, Vol. 183, No. 3, pp. 305-308, March 2002. [https://doi.org/10.1016/s0002-9610(02)00800-0]
  • N. Kim, “Game Platform Investigation for Effective Coding Education,” Journal of the Korean Society for Computer Game, Vol. 30, No. 3, pp. 59-67, September 2017. [https://doi.org/10.22819/kscg.2017.30.3.008]
  • C. H. An, K. Lee, and S. J. Moon, “Programming Learning Method for Beginner Based on Entry Block-Based/Text Based Coding,” The Society of Convergence Knowledge Transactions, Vol. 6, No. 1, pp. 127-134, January 2018. [https://doi.org/10.22716/sckt.2018.6.1.018]
  • M. Y. Moon and G. S. Kim, “Python Programming Education for Elementary School Students,” Journal of the Korean Association of Information Education, Vol. 9, No. 1, pp. 33-41, 2018. https://www.earticle.net/Article/A318360
  • S. J. Moon and K. Lee, “Programming Learning Method for Beginners’ AI Learning Based on Block-Coding,” The Society of Convergence Knowledge Transactions, Vol. 7, No. 3, pp. 145-152, September 2019. [https://doi.org/10.22716/sckt.2019.7.3.042]
  • M. K. Bang, “A Study on the Development Direction of Coding Education Program Based on Contents of Elementary Moral Education,” Journal of Moral & Ethics Education, No. 56, pp. 139-176, August 2017. [https://doi.org/10.18338/kojmee.2017..56.139]
  • S. Park and D. E. Shin, “Theoretical Approach for Application of Contextual Learning Based Moving Image Materials to Cultivate Child Creativity,” Journal of Children’s Media & Education, Vol. 12, No. 2, pp. 193-212, August 2013.

저자소개

서민주(Min-Ju Seo)

2024년:중앙대학교 컴퓨터예술학부 (학사과정)

※관심분야:게임 개발, 인디 게임, 어드벤처 게임, 비주얼 노벨 게임 등

심현지(Hyeon-Ji Sim)

2024년:중앙대학교 미술학부 (학사과정)

※관심분야:콘텐츠 개발, 게임 개발, 메타버스 등

이승우(Seung-Woo Lee)

2024년:중앙대학교 컴퓨터예술학부 (학사과정)

※관심분야:게임 개발, 인디 게임 등

홍진호(Jin-Ho Hong)

2024년:중앙대학교 컴퓨터예술학부 (학사과정)

※관심분야:기능성 게임, 게임문화, 게임 콘텐츠, 메타버스,확장현실(XR) 등

정지윤(Jiyun Chung)

2011년:이화여자대학교 디지털미디어학부 (디지털미디어석사)

2018년:이화여자대학교 융합콘텐츠학과 (공학박사)

2020년~2023년: 성균관대학교 글로벌융합학부 강사

2021년~2023년: 성균관대학교 인공지능혁신융합대학사업단 선임연구원

2023년~2024년: 세종대학교 메타버스융합대학원 조교수

2024년~현 재: 중앙대학교 예술공학부 조교수

※관심분야:인공지능 콘텐츠(AI Content), 메타버스(Metaverse), 인공지능 교육, 디지털 음악, 데이터 분석 등

Fig. 1.

Fig. 1.
Node-type game ‘Game Builder Garage’

Fig. 2.

Fig. 2.
IDE·text game ‘CodeCombat’

Fig. 3.

Fig. 3.
Block coding ‘Minecraft Education’

Fig. 4.

Fig. 4.
Coding games for kids ‘Algorithm City’

Fig. 5.

Fig. 5.
Coding game for experts, ‘TIS-100’

Fig. 6.

Fig. 6.
Game flow

Fig. 7.

Fig. 7.
Top-down asset

Fig. 8.

Fig. 8.
Object interaction test scene

Fig. 9.

Fig. 9.
Craft window in the inventory screen*The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

Fig. 10.

Fig. 10.
Door open interaction button*The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

Fig. 11.

Fig. 11.
Item open button*The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

Fig. 12.

Fig. 12.
Lab management screen *The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

Fig. 13.

Fig. 13.
Coding puzzle description screen *The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

Fig. 14.

Fig. 14.
Partial lab scene

Fig. 15.

Fig. 15.
Environment, tech, energy, bio lab

Fig. 16.

Fig. 16.
Wireframe*The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

Fig. 17.

Fig. 17.
Exhibition for user test*The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.

Table 1.

Final UI Design

Main screen UI design Main play screen UI design
*The words in the figure are written in Korean because it is intended for Korean users. Translating them into English might lead to a loss of their original intent.
Player information UI design Inventory UI design
Lab information UI design Coding screen UI design
Coding reward UI design Coding result UI design