메모리 버튼 게임은 버튼 4개를 기억하여 맞히는 아케이드 퍼즐 게임입니다. 정해진 규칙 내에서 정해진 동작으로 주어진 조건을 완료해 클리어하는 단순한 게임입니다. 예를 들어, 게임을 실행하면, 엔트리 화면에서는 패턴을 순서대로 표시합니다. 【버튼】을 기억하고 있다가 조이스틱 실드 버튼을 선택하여 맞히는 게임입니다. 만약 패턴이 틀리면 게임이 종료됩니다.
목차
메모리 버튼 게임 만들기
메모리 버튼 게임은 자기 두뇌를 훈련하고 두뇌 활동력을 유지하는 우수한 방법 중에 하나입니다. 또한 일상 생활을 효과적으로 할 수 있게 기억력 향상을 도와줍니다.
게임 테마
게임을 만들기 전에 게임 테마에 대한 이해가 필요합니다 게임 테마는 게임에서 전달하고 싶은 메시지를 의미합니다. 게임은 기억력 향상을 하는데 목적이 있습니다.
게임 설계는 매우 중요하고 복잡한 작업이며, 각 요소들을 조화롭게 조합하여 흥미로운 게임을 만들어내는 것이 목표입니다.
게임의 시작은 '테마'부터 출발합니다. 테마는 게임이 전달하고자 하는 메시지나 주제를 나타냅니다. 예를 들어, 용기와 도전을 테마로 설정한다면, 플레이어들은 용기 있는 행동을 취해야 하는 상황을 경험하게 됩니다.
그리고 '콘셉트 디자인' 단계에서는 게임의 핵심 재미와 구성을 결정합니다. 게임이 어떤 재미 요소를 가지고 있을지, 어떤 게임 플레이 방식을 채택할지 등을 고민하여 게임의 기본적인 개념을 만들어냅니다.
이어서 '캐릭터 설정' 단계에서는 주요 플레이어 캐릭터와 NPC들을 설계합니다. 여기서는 아두이노 실드 버튼과 관련하여 캐릭터들이 어떤 역할을 수행하는지, 그들의 개성과 능력을 설정합니다.
게임의 배경과 역사를 담당하는 '세계관'은 과거의 시간적, 공간적 배경과 함께 문화, 종교, 정치 등의 사상적 배경을 설정하여 게임의 세계를 더욱 풍부하고 흥미로운 공간으로 만들어줍니다.
스토리는 현재의 배경을 담당하며, 인물, 배경, 사건 등을 통해 게임의 이야기를 구성합니다.
게임의 규칙과 시스템은 '메커니즘' 단계에서 설계됩니다. 플레이어와 상호작용하는 방법, 게임 진행 절차 등을 정의하여 게임의 규칙을 구체화합니다.
레벨 디자인은 난이도와 맵 디자인을 결정합니다. 플레이어가 게임을 즐길 수 있도록 흥미로운 맵과 적절한 난이도로 레벨을 구성합니다.
마지막으로 밸런스를 조절하여 게임이 적절한 수준으로 도전적이고 보상적인 경험을 제공하도록 합니다. 캐릭터의 능력, 아이템, 난이도 등을 균형 있게 조정하는 것이 중요합니다.
이렇게 각 단계를 차례대로 거쳐 게임 설계를 완성하면, 흥미로운 게임을 만들 수 있습니다. 팀원들과 협업하며 사용자들의 피드백을 적극 수용하여 게임을 지속적으로 개선하는 것이 중요합니다. 훌륭한 게임을 만들기 위해서는 끊임없는 노력과 열정이 필요합니다.
① 테마(메시지): 기억력 상승~! 빛과 소리로 순서를 기억하는 두뇌 개발 게임. 버튼 게임을 하면 두뇌 개발이 될까?
② 콘셉트 디자인(게임의 핵심 재미와 구성): 반짝이는 불빛 순서를 기억해 누르는 기억력 게임입니다. 집중력, 기억력을 향상하게 해주는 두뇌 훈련 게입니다.
③ 캐릭터 설정(플레이어 캐릭터(Player Character, PC), NPC): 아두이노 실드 버튼
④ 세계관(과거 배경-시간적, 공간적, 사상적 배경): 민준, 은서, 서연, 도윤, 시우, 하은이는 평소 기억력 게임을 합니다. 서로 누가 누가 기억력이 뛰어 난지 시합을 합니다.
⑤ 스토리(현재 배경-인물, 배경, 사건): 민준이는 모임에서 친구들과 함께 두뇌 게임을 시작합니다. 민준이는 자신이 가장 똑똑하다는 걸 증명하기 위해 게임을 시작합니다.
⑥ 메커니즘(절차, 규칙): 네 개 버튼에 불이 들어오는 순서를 기억해서 눌러주는 게임. 순서대로 버튼을 누르지 않으면 게임 종료합니다.
⑦ 레벨 디자인(난이도, 맵 디자인): 성공할수록 레벨이 높아져 기억해야 할 회수가 1회, 2회, 3회 계속 늘어남. 제한 시간은 없습니다.
⑧ 밸런스(균형, 보상, 적절한 수준): 버튼이 틀리면 처음부터 다시 시작합니다
게임 스토리
게임 테마의 대략적인 디자인으로 스토리를 만들어 볼 수 있습니다.
제목: 빛의 기억
서문:
민준은 어릴 적부터 기억력 게임에 매료되어 있었다. 그의 친구들과 함께 흥미진진한 경쟁을 벌이는 이들은 누가 더 뛰어난 기억력을 가지고 있는지 서로 겨루곤 했다. 그러던 어느 날, 민준은 도전적인 마음을 품고 새로운 게임을 시작하기로 결심한다.
Chapter 1: 숨겨진 게임의 초대
어느 날, 민준은 자신을 비밀스럽게 초대하는 편지를 받게 된다. 그 편지에는 미지의 주소와 "빛의 기억"이라는 게임에 대한 암호처럼 이해할 수 없는 문구가 적혀 있었다. 호기심에 휩싸인 민준은 그 주소로 향하기로 결심하고, 친구들에게 이야기를 전하지 않고 혼자 그 곳으로 향했다.
Chapter 2: 빛과 소리의 미로
도착한 장소는 오래된 건물의 지하실이었다. 민준은 어둠 속에서 빛이 반짝이는 순서를 기억해야 하는 게임을 만난다. 각기 다른 색깔의 버튼에 불빛이 번갈아 켜지면서 그 순서를 기억하고 올바르게 눌러야 한다. 그러나 순서가 길어질수록 어려움은 더해진다. 민준은 힘겹게 레벨을 클리어해 나가면서 자신의 기억력을 시험하게 된다.
Chapter 3: 기억의 조각
게임이 진행됨에 따라 민준은 게임 안에서 불빛과 소리를 통해 자신의 기억조각들을 발견한다. 그 기억조각들은 그의 과거와 연결되어 있었고, 민준은 스스로를 되돌아보게 되었다. 게임을 통해 민준은 자신의 기억력을 뿐만 아니라 자신과의 대화를 통해 성장하고 발전할 수 있는 기회를 얻게 되는데...
Chapter 4: 친구와의 결전
게임의 마지막 레벨에서 민준은 다른 참가자가 자신의 친구들임을 알게 된다. 은서, 서연, 도윤, 시우, 하은까지. 그들은 모두 민준과 같은 이유로 게임에 참가했던 것이었다. 민준은 충격과 동시에 감동이 밀려온다. 그 동안 경쟁하며 겨루던 친구들이 함께한 순간, 그들은 서로를 이해하고 공감할 수 있었다.
게임의 마지막 레벨에서는 모든 참가자들이 한꺼번에 동시에 불빛 순서를 외워야 했다. 각자가 기억한 조각들을 조합해야만 전체 패턴을 완성할 수 있었다. 그들은 힘을 합쳐 마지막 레벨을 돌파하고 게임의 승자는 없었다. 모두가 친구라는 이유로 이기고, 함께 성장한 것을 느낄 수 있었다.
Epilogue: 더 큰 도전과 우정의 강화
게임이 끝난 후, 민준과 친구들은 그들의 성장과 우정을 다시금 확인하였다. 이제 그들은 새로운 도전을 앞두고 함께하며 더 큰 성취를 이루어 나가기로 결심했다. 그들은 게임을 통해 배운 것들과 함께 이제 현실에서도 더 강한 우정과 함께 성장해 나갈 것이다. 빛의 기억은 그들에게 더 큰 가치와 의미를 준 채 끝나지 않고 계속되는 이야기로 남았다.
이렇게 "빛의 기억"은 기억력을 향상시키고, 친구와의 우정을 강화하는 동시에 민준과 친구들의 내면 성장과 이해를 이야기하는 게임 시나리오로 완성되었다.
함수 블록 코딩하기
엔트리와 아두이노로 만나는 게임학교. 42페이지. 2장. 메모리 버튼 게임 만들기에서. 함수 블록 코딩하기를 설명합니다.
지금까지는 오브젝트 위치, 모양, 역할 등이 포함된 구조를 살펴봤습니다. 이제부터는 오브젝트가 동작할 때 실행하는 함수 블록을 코딩합니다.
함수 블록 코딩은 선생님 오브젝트와 버튼 1, 2, 3, 4 오브젝트에 대한 내용을 다룹니다. 선생님 오브젝트의 함수 블록 코딩은 그의 역할과 동작을 정의하는 것을 포함합니다.
버튼 오브젝트의 함수 블록 코딩은 각 버튼이 클릭되었을 때의 동작을 처리하는 코드를 작성하는 것을 의미합니다.
이러한 함수 블록은 게임의 흐름을 제어하고, 버튼 입력에 따른 정확성을 판단하며, 게임 진행 상태를 관리하는 데 중요한 역할을 합니다.
함수 블록 코딩은 게임의 핵심적인 기능과 논리를 구현하는데 도움을 주며, 게임의 정확성과 유저 경험에 큰 영향을 미칩니다.
따라서 선생님과 버튼 오브젝트에 대한 함수 블록 코딩은 게임의 원활한 진행과 유저의 참여를 보장하는 핵심적인 작업입니다.
오브젝트에 맞추어 함수를 순서대로 코딩합니다.
오브젝트 | 함수 이름 |
선생님 | ① 선생님_게임 시작 ② 선생님_문제 출제 ③ 선생님_문제와 정답 비교 ④ 선생님_정답이라면 다음 문제 출제 |
버튼 1 | ⑤ 버튼1_신호 보내기 ⑥ 버튼1_신호 받으면 효과 주기 |
버튼 2 | ⑦ 버튼2_신호 보내기 ⑧ 버튼2_신호 받으면 효과 주기 |
버튼 3 | ⑨ 버튼3_신호 보내기 ⑩ 버튼3_신호 받으면 효과 주기 |
버튼 4 | ⑪ 버튼4_신호 보내기 ⑫ 버튼4_신호 받으면 효과 주기 |
【선생님】 오브젝트의 함수들은 다음과 같습니다:
①번 [선생님_게임 시작] 함수는 게임을 시작할 때 호출되는 함수로, 초기화와 게임 준비 작업을 수행합니다.
②번 [선생님_문제 출제] 함수는 문제를 랜덤하게 선택하고 해당 문제를 플레이어에게 제시합니다.
③번 [선생님_문제와 정답 비교] 함수는 플레이어가 제시한 답과 정답을 비교하여 맞았는지 확인합니다.
④번 [선생님_정답이라면 다음 문제 출제] 함수는 플레이어가 정답을 맞춘 경우, 다음 문제를 출제합니다.
【버튼 1】 오브젝트의 함수들은 다음과 같습니다:
⑤번 [버튼1_신호 보내기] 함수는 플레이어가 버튼 1을 클릭했을 때 해당 버튼이 눌렸다는 신호를 보냅니다.
⑥번 [버튼1_신호 받으면 효과 주기] 함수는 버튼1_신호 보내기 함수에서 보낸 신호를 받았을 때, 해당 버튼에 대한 효과를 주는 작업을 수행합니다.
【버튼 2】 오브젝트의 함수들은 다음과 같습니다:
⑦번 [버튼2_신호 보내기] 함수는 플레이어가 버튼 2를 클릭했을 때 해당 버튼이 눌렸다는 신호를 보냅니다.
⑧번 [버튼2_신호 받으면 효과 주기] 함수는 버튼2_신호 보내기 함수에서 보낸 신호를 받았을 때, 해당 버튼에 대한 효과를 주는 작업을 수행합니다.
【버튼 3】 오브젝트의 함수들은 다음과 같습니다:
⑨번 [버튼3_신호 보내기] 함수는 플레이어가 버튼 3을 클릭했을 때 해당 버튼이 눌렸다는 신호를 보냅니다.
⑩번 [버튼3_신호 받으면 효과 주기] 함수는 버튼3_신호 보내기 함수에서 보낸 신호를 받았을 때, 해당 버튼에 대한 효과를 주는 작업을 수행합니다.
【버튼 4】 오브젝트의 함수들은 다음과 같습니다:
⑪번 [버튼4_신호 보내기] 함수는 플레이어가 버튼 4를 클릭했을 때 해당 버튼이 눌렸다는 신호를 보냅니다.
⑫번 [버튼4_신호 받으면 효과 주기] 함수는 버튼4_신호 보내기 함수에서 보낸 신호를 받았을 때, 해당 버튼에 대한 효과를 주는 작업을 수행합니다.
이러한 함수들을 조합하여 게임의 로직과 동작을 원하는 방식으로 제어할 수 있습니다. 각 오브젝트들이 각자의 함수를 호출하고, 서로의 신호를 주고받으며 게임이 원활하게 진행됩니다. 이를 통해 게임의 흥미와 재미를 높이고, 플레이어와 오브젝트 간의 상호작용을 효과적으로 처리할 수 있습니다. 함수들의 순서와 조합을 적절히 설계하여 원하는 게임 플레이를 구현하는 것이 중요합니다.
변수, 신호, 리스트, 함수 속성은 다음과 같이 구성됩니다. 변수는 게임 값을 저장할 때 사용합니다. 신호 속성은 게임 흐름을 제어할 때 사용합니다. 리스트는 문제 및 정답을 관리할 때 사용합니다. 함수 속성은 오브젝트 동작을 실행할 때 사용합니다.
변수, 신호, 리스트, 함수 속성은 게임 개발에서 중요한 역할을 수행하는 요소들입니다.
먼저, 변수는 게임에서 값을 저장하고 관리하는 데 사용됩니다. 이는 게임 내의 플레이어 정보, 아이템 상태, 현재 점수 등을 추적하는 데 유용합니다. 변수는 게임 로직의 실행 도중에 값이 변경될 수 있으며, 이를 통해 게임의 다양한 상황과 상태를 표현할 수 있습니다.
신호 속성은 게임 흐름을 제어하는 데 사용됩니다. 예를 들어, "게임 시작" 또는 "레벨 클리어"와 같은 이벤트를 트리거하여 특정 동작을 실행하거나 게임 상태를 변경할 수 있습니다. 신호는 게임 내에서 중요한 상황이나 조건을 전달하고 다른 오브젝트나 시스템 간의 상호작용을 조정하는 데 사용됩니다.
리스트는 문제와 정답, 그리고 기타 게임 데이터를 관리하는 데 사용됩니다. 예를 들어, 문제와 정답 쌍을 리스트로 저장하고 플레이어에게 제공하여 게임 퍼즐이나 퀴즈를 구성할 수 있습니다. 리스트는 데이터의 순서를 유지하며 새로운 요소를 추가하거나 제거하는 등의 작업을 수행할 수 있습니다.
마지막으로, 함수 속성은 게임 오브젝트의 동작을 정의하고 실행하는 데 사용됩니다. 함수는 특정한 작업을 수행하는 코드 블록으로, 게임 내에서 오브젝트의 움직임, 충돌 검사, 애니메이션 등을 제어하는 데 유용합니다. 함수는 재사용 가능하며, 게임 내에서 다양한 오브젝트에 대해 동일한 동작을 실행할 수 있습니다.
이렇게 변수, 신호, 리스트, 함수 속성은 게임 개발에서 핵심적인 구성 요소로 사용되며, 각각의 역할과 특성에 따라 게임의 흐름과 상호작용을 제어하고 데이터를 관리합니다.
【선생님】 오브젝트의 함수들은 다음과 같습니다:
①번 [선생님_게임 시작] 함수는 게임을 시작할 때 호출되는 함수로, 초기화와 게임 준비 작업을 수행합니다.
②번 [선생님_문제 출제] 함수는 문제를 랜덤하게 선택하고 해당 문제를 플레이어에게 제시합니다.
③번 [선생님_문제와 정답 비교] 함수는 플레이어가 제시한 답과 정답을 비교하여 맞았는지 확인합니다.
④번 [선생님_정답이라면 다음 문제 출제] 함수는 플레이어가 정답을 맞춘 경우, 다음 문제를 출제합니다.
이러한 함수들을 조합하여 게임의 로직과 동작을 원하는 방식으로 제어할 수 있습니다. 각 오브젝트들이 각자의 함수를 호출하고, 서로의 신호를 주고받으며 게임이 원활하게 진행됩니다. 이를 통해 게임의 흥미와 재미를 높이고, 플레이어와 오브젝트 간의 상호작용을 효과적으로 처리할 수 있습니다. 함수들의 순서와 조합을 적절히 설계하여 원하는 게임 플레이를 구현하는 것이 중요합니다.
버튼 1번 함수는 【버튼 1】 오브젝트에 속하는 두 개의 함수로 이루어져 있습니다. 이 오브젝트는 주로 [▶ 시작하기] 버튼을 클릭할 때 호출되며, 게임이 시작될 때 초기화 동작을 수행합니다.
⑤번 [버튼1_신호 보내기] 함수는 플레이어가 버튼 1을 클릭했을 때 해당 버튼이 눌렸음을 알리는 신호를 보냅니다. 이 신호는 게임 내의 다른 오브젝트나 함수에게 전달되어 특정 동작을 시작하게 됩니다. 버튼 1을 누르는 행위를 감지하여 이를 게임 로직에 적용하는데 사용됩니다.
⑥번 [버튼1_신호 받으면 효과 주기] 함수는 ⑤번 함수에서 보낸 신호를 받았을 때 동작하는 함수입니다. 이 함수는 버튼 1의 신호를 받으면 해당 버튼에 효과를 줄 수 있습니다. 예를 들어, 버튼을 눌렀을 때 화면에 특정 애니메이션을 보여주거나 효과음을 재생하는 등의 동작을 처리할 수 있습니다.
이러한 두 함수는 게임 시작과 버튼 클릭과 같은 이벤트에 반응하여 게임의 흐름을 제어하고, 사용자와 상호작용하는 부분을 담당합니다. 함수들의 작업은 각각의 역할에 맞게 구성되어 있으며, 게임의 로직과 플레이어와의 상호작용을 효과적으로 관리하기 위해 사용됩니다.
생각 더하기
엔트리 블록 코딩에서 함수(function)란 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 블록의 집합으로 정의할 수 있습니다. 게임 만들기에서는 이러한 함수들로 구성되며, 포함된 함수들을 사용하여 반복적으로 사용되는 블록을 쉽게 사용할 수 있습니다.
따라서, 게임 블록을 좀 더 효과적으로 코딩할 수 있습니다. 버튼 함수는 반복적으로 사용하고 있습니다. 따라서 8개 함수를 2개 함수로 사용할 수 있습니다. 2개 함수로 만들어 봅시다.
실행 영상
함수 블록 코딩이 모두 완료가 되었다면, 엔트리를 실행하여 메모리 버튼을 시작합니다. 1단계는 1개 버튼, 2단계는 2개 버튼, 10단계는 10개 버튼이 무작위로 눌리면서 표시됩니다. 버튼을 기억하고 있다가 눌린 버튼을 순서대로 맞히면 됩니다. 만약 순서 패턴이 틀리면 게임이 종료됩니다.
마무리
메모리 버튼 게임은 자기 두뇌를 훈련하고 두뇌 활동력을 유지하는 우수한 방법 중에 하나입니다. 또한 일상 생활을 효과적으로 할 수 있게 기억력 향상을 도와줍니다.
함수 블록 코딩이 모두 완료가 되었다면, 엔트리를 실행하여 메모리 버튼을 시작합니다. 1단계는 1개 버튼, 2단계는 2개 버튼, 10단계는 10개 버튼이 무작위로 눌리면서 표시됩니다. 버튼을 기억하고 있다가 눌린 버튼을 순서대로 맞히면 됩니다. 만약 순서 패턴이 틀리면 게임이 종료됩니다.
'엔트리와 아두이노로 만나는 게임 학교' 카테고리의 다른 글
13장-[엔트리와 아두이노로 만나는 게임 학교] 해적선 맞추기 게임 만들기 (0) | 2023.05.25 |
---|---|
12장-[엔트리와 아두이노로 만나는 게임 학교] 바다에 쓰레기가 떨어지면 슈팅 게임 만들기 (0) | 2023.05.25 |
11장-[엔트리와 아두이노로 만나는 게임 학교] 몬스터 슈팅 게임 만들기 (0) | 2023.05.25 |
10장-[엔트리와 아두이노로 만나는 게임 학교] 드래곤 슈팅 게임 만들기 (0) | 2023.05.25 |
9장-[엔트리와 아두이노로 만나는 게임 학교] 롤링 스카이 게임 만들기 (0) | 2023.05.25 |
댓글