제미나이랑 놀기: 레오가 수학 박사님이 된 비결

아빠와 아들이 함께하는 인공지능 프롬프트 엔지니어링

by 성효경

주말의 독박 육아는 쉽지 않습니다. 날씨가 좋으면 어디 밖에라도 놀러가겠는데 춥고 비오는 날엔 집에서 대부분의 시간을 놀아줘야 합니다. 보드게임도 해 보고, 영화도 한 편 틀어주고, 숙제도 같이 하고, 책도 같이 읽고, 밀가루 반죽해서 빵 만들기 해보고, 술래잡기도 하고, 침대 위에서 레슬링도 해 보지만 하루가 너무 더디가네요. 아이에게 핸드폰 하나 쥐어주고 좀 쉬고 싶은데 너무 영상이나 다양한 컨텐츠에 노출되는 것도 걱정스럽고. 그러던 중 아이에게 한 마디를 건넵니다.


“레오야, 아빠가 게임 하나 만들어 줄까?”

레오는 오! 게임! 게임 만들어줘! 하며 이내 신난 함박 웃음을 짓습니다.


“레오는 어떤 게임 만들고 싶어?”

“아빠, 호랑이랑 표범 나오는 정글 게임 만들어줘”

레오는 얼마전 에버랜드 사파리에 다녀와 동물에 관심이 많습니다.


“그럼 어떤 게임 만들지 여기에 써 보자. 레오가 하고 싶은 캐릭터는 뭐야?”

“난 사냥꾼!”

“그래 그럼 정글게임인데 사냥꾼이 어떻게 했으면 좋겠어?”

“사냥꾼이 정글을 탐험하는데 무서운 육식동물이 나오면 총 쏘거나 밟는 게임 해줘.”

“어떤 육식 동물 나왔으면 좋겠어?”

“늑대~, 곰, 호랑이, 표범, 치타, 재규어, 사냥개!”




레오는 게임에서 보고 싶은 캐릭터들을 하나씩 나열해 갑니다. 저는 제미나이를 열고 아래와 같이 프롬프트를 입력합니다.

나: 바로 실행 되는 모바일 게임 만들어 보자. 화살표로 움직이게 하고 정글 게임인데 사냥꾼이 총을 늑대와 곰, 호랑이, 표범, 치타, 재규어, 사냥개한테 총을 쏘거나 밟는 게임이야.

AI: 흥미로운 설정이네요! 7종의 맹수가 등장하고 사격과 밟기 공격이 가능한 정글 서바이벌 게임의 기본 틀을 잡겠습니다.


몇 초 정도 기다리니 html 파일 하나가 툭 나옵니다. 첫 번째 프롬프트가 엉성하다 보니 게임의 완성도가 높지는 않습니다. 사냥꾼의 이동은 드래그 방식으로 가능하고, 나오는 동물들도 그냥 칼라 네모 상자로 나옵니다. 실제 코딩이라면 이렇게 하지는 않겠지만 오히려 아이와 대화를 나누며 고쳐 나가기에는 이런 방식이 제격입니다.

레오: “아빠, 동물들이 진짜처럼 나오게 해줘.”


저는 그대로 다시 수정할 사항들을 AI에게 프롬프팅을 합니다.

나: 좌우 화살표 키로 조작하게 해줘. 그래픽을 조금 더 실사에 가깝게 해줘. 지금은 너무 단순해.

AI: 조작 체계를 정밀하게 다듬고, 캐릭터와 배경에 실감 나는 정글 이미지를 적용하여 시각적 몰입감을 높이겠습니다.


다시 진행해 보니 조작이 툭툭 끊어집니다. 그리고 아이의 추가 요청이 더해집니다.

나: 방향키 조작이 너무 뚝뚝 끊어지는데 부드럽게 해줘. 그리고 맨 마지막에 사자왕이 어흥하고 울부짖을 때마다 사냥꾼 체력 깎이게 해줘.

AI: 가속도 로직을 추가해 부드러운 이동을 구현하고, 사자왕의 음파 공격 패턴을 설계하여 보스전의 긴장감을 더하겠습니다.

나: 그리고 마지막이 사자왕이 죽으면 쓰러지는 애니메이션으로 보여주고 사냥꾼이 승리하는 애니메이션을 보여줘.

AI: 승리와 패배의 서사를 완성하기 위해 보스의 쓰러짐 효과와 캐릭터의 승리 포즈 세리머니를 추가하겠습니다.


그런데 아이는 동물들을 잡는 것 보다 사냥꾼 캐릭터가 점프하는 것 자체를 신나합니다. 역시 아이는 아이인가 봅니다. 윗 방향 화살표를 계속 누르며 점프하던 레오가 다시 이야기 합니다.

레오: “안 눌러도 점프하게 해줘.”

AI: 리듬감을 주기 위해 장애물 앞에서 자동으로 뛰어오르는 자동 점프 시스템을 도입하겠습니다.

레오: “총도 계속 나오게 해줘.”

나: 오토를 선택하면 앞으로 가거나 뒤로 가는 것도 자동으로 할 수 있게 해줘. 총은 누르고 있으면 계속 총알이 나오게 해줘.

AI: 조작의 피로도를 낮추기 위해 완전 자동 이동 모드와 연속 발사(Auto-fire) 기능을 업데이트하겠습니다.

나: 낭떠러지 같은 것이나 중간에 언덕 같은 것도 있게 해줘. 어차피 알아서 점프할 테니. 그리고 중간에 위에 보석 있어서 점프해서 먹으면 점수 올라가게 해줘. 그리고 지금은 얼굴만 있으니 몸통도 다 있는 형태로 해줘.

AI: 지형의 고저차를 만들어 입체감을 살리고, 수집 요소인 보석과 전신 캐릭터 디자인을 적용해 완성도를 높이겠습니다.


게임을 실행하며 낭떠러지에서 떨어진 레오가 이내 속상해 합니다.

나: 낭떠러지가 나오면 점프해서 죽지 않게 해줘.

AI: 낙사 판정을 유연하게 조정하여 아이가 스트레스 없이 탐험을 이어갈 수 있도록 배려하겠습니다.

레오: “아빠, 앞으로도 뒤로도 안 움직이게 해줘”

AI: 복잡한 조작을 덜어내고 타격감과 슈팅의 재미에 집중할 수 있는 구조로 단순화하겠습니다.

나: 캐릭터를 지금보다 더 왼쪽에 위치시켜 주고 밟아도 동물이 죽게 해주고 동물 밟으면 스프링처럼 더 높게 뛰어서 나무에 걸려있는 사과 따먹을 수 있게 해줘.

AI: 캐릭터 위치를 최적화하고 밟기 공격의 반동을 이용한 추가 점프 기능을 넣어 액션의 깊이를 더하겠습니다.


사과를 따먹으며 점수를 뽑아낼 수 있으니 게임이 흥미진진해 졌습니다. 레오가 1940점을 받았길래 제가 다시 해보니 1560점 밖에 안 나옵니다. 레오가 게임에 소질이 있나 봅니다. 사과가 나무 위 높이 달려있어 위로 껑~충 점프를 해야 하는데 이 때 손 맛이 짜릿합니다. 사과를 먹을 수 있을지 놓칠지 두근두근 하기도 하고요. 계속 점프하면서 보니 공중에는 동물이 없네요. 독수리 같은 게 날아오면 좋겠습니다.

나: 자동 점프에서 죽는 건 좀 이상한 것 같아 자동 점프로는 동물을 밟거나 피하는 것만 가능하게 해주고 중간에 독수리가 날아와서 독수리를 총으로 못 잡을 경우에만 죽는 것으로 해줘.

AI: 게임의 규칙을 명확히 하여 독수리라는 특정 적을 공략해야만 하는 전략적 요소를 강화하겠습니다.

나: 독수리 때문에 너무 어려워 독수리 지금보다 1/10 빈도로 나오게 해줘.

AI: 아이의 난이도 체감을 반영하여 독수리 출현 확률을 (10%) 수준으로 대폭 하향 조정하겠습니다.


레오가 신나게 게임을 하는데 게임이 계속 끝나지를 않네요. 이제 시간 제한을 좀 둬야할 것 같습니다. 그리고 사냥꾼이 낭떠러지로 떨어질 때 너무 속상해 하네요.

나: 게임 제한 시간을 1분으로 해줘. 그리고 동물이 잡히거나 아이템 먹으면 사운드 넣어줘. 낭떠러지로 떨어지면 지금 게임 화면 위에서 떨어지는 것으로 (순환 형태) 해줘.

AI: (60초)의 타임 어택 요소와 청각적 피드백, 그리고 끊김 없는 게임 플레이를 위한 루프 지형을 완성하겠습니다.


이제 기록 시스템을 만들어야겠죠?

나: 게임 마치면 top 10까지는 점수 기록할 수 있도록 하고 저장되도록 해줘. 웹 게임인데 점수 저장 시스템 가능할까?

AI: 로컬 스토리지 기술을 활용해 브라우저를 닫아도 기록이 유지되는 랭킹 시스템을 구현하겠습니다.


레오가 신나게 게임을 하기 시작합니다. 여기에 학습적인 요소를 좀 넣어보고 싶은 욕심이 생깁니다.

나: 아주 좋다. 그럼 동물들과 덧셈, 뺄셈, 곱셈 게임 하는 거 만들어보자. 덧셈, 뺄셈은 두 자리, 세 자리, 곱셈은 한 자리.

AI: 드디어 학습 요소가 들어오는군요! 정글 탐험 중 문제를 풀어야 진행되는 에듀테인먼트 구조로 변경하겠습니다.

나: 좋은데 디자인을 좀 더 예쁘게 해줘. 동물들도 나오고 아이들이 좋아하게.

AI: 아이들의 눈높이에 맞춘 파스텔 톤의 배경과 귀여운 동물 일러스트를 적용해 친숙함을 더하겠습니다.

나: 이 파일을 카카오톡으로 보낼 수 있나?

AI: 파일 자체를 보낼 수도 있고, Netlify를 통해 생성된 링크를 공유하면 카톡에서 바로 실행이 가능합니다.

나: 혹시 게임 마지막에 10문제를 다 맞히면 레오 이름과 함께 "수학 박사님 등극!" 같은 축하 메시지가 뜨도록 수정해 줘.

AI: 보상 시스템의 정점인 축하 팝업과 칭호 수여 기능을 제안해 주셨네요. 레오를 위한 맞춤형 축하 연출을 코드에 반영하겠습니다.


게임을 배포한 후 레오가 플레이하는 모습을 지켜보았습니다. 그런데 예상치 못한 문제가 발생했어요. 객관식으로 문제를 내니 레오가 계산을 하지 않고 정답이 나올 때까지 버튼들을 무작위로 광클하고 있었던 것입니다.

나: 해보니 레오가 답을 선택할 때 막 누르고 있어서 핸드폰에 손으로 숫자를 쓰면 그걸 인식해서 답인지 판단해 보면 어때?

AI: 놀라운 통찰입니다! 직접 쓰는 방식은 아이가 머릿속으로 답을 도출해야만 하는 능동적 참여를 유도합니다.

나: ai가 필기를 인식할 수는 없을까?

AI: Tesseract.js 같은 경량화된 AI 엔진을 브라우저에 탑재하면 가능합니다. 시도해 보겠습니다.

나: 답을 쓰기도 전에 필기 인식하는 것 같은데?

AI: 인식 타이밍을 조절하여 아이가 숫자를 다 쓸 때까지 기다리는 로직을 설계하겠습니다.


이제 게임이 잘 돌아가기 시작합니다. 레오보다 제가 더 신나는 순간!

나: 너무 좋아! 다만 지금은 글자 크기가 안 맞거나 모바일 상에서 글자 줄이 넘어가거나 옆 부분 안 보이거나 하는 현상이 있어서 그걸 수정하자.

AI: 반응형 레이아웃을 적용해 모든 스마트폰 기기에서 화면이 깨지지 않게 최적화하겠습니다.

나: 지금은 글자가 안 써짐.

AI: 터치 이벤트와 캔버스 드로잉 로직의 충돌을 해결해 부드러운 필기감을 확보하겠습니다.

나: 아주 좋아! 다만 내가 쓰는 글자 색깔 흰색으로 해줘.

AI: 가독성을 위해 칠판 위의 글씨 색상을 (White)로 변경하겠습니다.

나: 정답 맞혔을 때 맞췄다고 정답! 뭐 이런 거 나왔으면 좋겠음.

AI: 성취감을 즉각적으로 느낄 수 있는 화려한 정답 팝업 효과를 추가하겠습니다.

나: 아무거나 막 써도 정답이라고 나옴. 분석한 결과랑 다르면 실제 정답 알려주고 아쉬워해야지.

AI: AI의 판독 결과와 실제 정답을 엄격히 비교하여 오답 시에는 정답을 가르쳐주는 피드백 시스템을 구축하겠습니다.

나: 다시 타이핑해서 입력하라고 하지 말고 실제로 쓴 것 가지고 분석하여 이 숫자가 맞는지만 물어보고 그때 아니라고 하면 타이핑하도록 해.

AI: AI의 인식을 보조하기 위해 '이 숫자가 맞나요?'라는 확인 질문(UX)을 추가하여 정확도를 높이겠습니다.


거듭된 요청에도 인식 시스템이 제대로 작동하지 않네요. 슬슬 지쳐가기 시작합니다. 하지만 이 때 조금 쉬어가도 됩니다. 어차피 AI는 계속 돌아가고 있으니까요.

나: 실제로 내가 쓴 글씨를 읽지는 못하네? 숫자 너무 못 읽는데? 계속 숫자 잘 안 보인다고 다시 써달라는데? 그리고 발사 버튼은 의미가 없는 듯. 또 동물 만나면 동물이 레오에게 말을 걸어서 문제를 풀면 지나갈 수 있다고 해 주면 좋겠어.

AI: AI의 분석 능력을 업그레이드하고, 불필요한 조작 버튼을 제거하며, 동물 친구들의 대화를 넣어 서사 구조를 강화하겠습니다.

나: 낭떠러지는 이제 없어도 될 듯. 그리고 응 맞아 와 아니야 위치를 바꿔줘. 맞다고 하는 게 오른쪽에 있는 게 좋아. 그리고 하늘은 하늘색으로 하고 구름도 떠 있으면 좋겠음. 땅은 황토색 흙 빛인데 잔디랑 그런 것도 있는 디자인으로.

AI: 사용자 경험(UX) 관점에서 버튼 위치를 조정하고, 밝고 화사한 정글 디자인으로 배경을 전면 개편하겠습니다.

나: ‘아니야’, ‘응 맞아’를 아래에 두고 질문을 위로 올려야지 지금은 UI 이상함. 그리고 사냥꾼은 점프하면서 가도록 해줘.

AI: 가독성을 위해 질문과 버튼의 상하 위치를 재배치하고, 캐릭터에 역동적인 점프 애니메이션을 부여하겠습니다.

나: 덧셈 뺄셈을 쓰기 쉽게 두 자리, 두 자리로만 할까?

AI: 필기 공간의 제약과 난이도 조절을 위해 연산 범위를 (10~99) 사이로 최적화하겠습니다.


사소한 문제들을 하나씩 디버깅하기 시작합니다. 앞에서 해결했다고 생각한 문제들이 다시 튀어나오기도 합니다. 하지만 여기에서 포기하지 않는 것이 중요하죠.

나: 숫자 너무 못 읽고 있음. 더 잘 읽게 해줘. 그리고 캐릭터는 조금 더 높이 뛰게 해줘.

AI: 이미지 이진화 처리와 해상도 보정 로직을 통해 인식률을 개선하고 점프 높이를 강화하겠습니다.

나: 사냥꾼 몸도 있게 해주고 지금보다 3배 더 높이 뛰게 해줘.

AI: 캐릭터의 전신 디자인을 완성하고 점프력을 기존 대비 (300%)로 대폭 상향하겠습니다.

나: 점프하기 때문에 중간에 독수리, 비둘기, 나비 등도 만날 수 있음. 독수리: 제일 높이 날고 있음. 비둘기: 중간 높이. 나비: 제일 낮은 높이. 점프는 각 동물 만날 확률을 동일하게 해서 맞춰서 뛰는 것으로 해줘.

AI: 공중의 3단계 고도 시스템을 구축하고, 타깃 동물의 높이에 맞춰 점프가 자동으로 조절되는 스마트 시스템을 구현하겠습니다.

나: 사냥꾼 몸 디자인이 이상해.

AI: 조끼와 다리, 팔이 움직이는 생동감 넘치는 탐험가 캐릭터로 전신 성형을 진행하겠습니다.

나: 아주 좋아! 그런데 AI가 숫자 잘 못 읽고 있음. 그리고 기존에 땅에서 다니던 사자, 호랑이, 곰, 표범도 없애지 말고.

AI: 지상과 공중의 올스타 동물 친구들을 모두 배치하고, 이미지 업스케일링 기술을 적용해 인식력을 다시 한번 높이겠습니다.

나: 지상 동물들이 지금 땅속에 있는 것처럼 보임. 땅 위에 있어야지. 그리고 기본적으로 점프는 잔잔하게 하면서 지상 동물들 만나고 날아다니는 동물 만날 때만 더 높이 뛰는 것으로.

AI: 좌표 오류를 수정해 동물들을 잔디 위로 올리고, 상황에 반응하는 다이내믹 점프 시스템을 정교하게 다듬겠습니다.

나: 아까처럼 파일 눌러서 웹에서 바로 실행되게 해줘.

AI: 수정 사항이 반영된 통합 HTML 파일을 생성하겠습니다.

나: 지금 동물들 전부다 땅 속에 있는데? 뭐가 잘 못 된 듯.

AI: 랜더링 좌표계를 재분석하여 동물들이 발을 잔디 위에 딱 붙이고 서 있도록 긴급 패치하겠습니다.

나: 파일로 만들어줘. 코드만 보여주지 말고.

AI: 다운로드 가능한 독립형 HTML 파일을 즉시 생성하겠습니다.

나: 첫 화면 AI 눈 로딩 중에서 안 넘어감.

AI: 네트워크 차단과 라이브러리 충돌을 방지하기 위한 비상 탈출 로직과 단계별 로딩 메시지를 추가하겠습니다.

나: Html 파일이 없는데?

AI: 파이썬 툴을 활용해 실제 다운로드 링크를 재추출하여 제공하겠습니다.

나: 지금은 잘 못 읽고 다시 써 달라고 계속 나오네. 내 경험상 1을 잘 못 읽는 듯.

AI: 교수님의 날카로운 지적대로 '1' 인식의 특이점을 발견했습니다. 디지털 덧칠 기술로 획 하나만 그어도 인식되도록 보강하겠습니다.

나: ‘AI 친구 깨우는 중’에서 멈춰 있음.

AI: 라이브러리 경로를 최신 고속 경로로 교체하고 5초 후 자동 시작되는 안전장치를 탑재하겠습니다.

나: 아주 좋아! 맞히면 좀 신나는 음 나오게 해줘.

AI: 정답 시 "도-미-솔-도" 하고 울려 퍼지는 상승 아르페지오 효과음을 적용해 축제 분위기를 만들겠습니다.

나: 동물들 위치가 이상함 제대로 해줘.

AI: 1픽셀 단위로 좌표를 전수 조사하여 완벽한 정글 구도를 완성하겠습니다.

나: ‘좋아! 잘 안 보여요 다시 써주세요’에서 무한루프 돌 때 있는데 한 번 정도만 물어보고 그래도 모르겠으면 타이핑 유도로.

AI: 아이의 피로도를 고려하여 2회 실패 시 '아빠 찬스' 입력창이 뜨도록 플로우를 개선하겠습니다.

나: ‘아쉬워요 정답은 XX ‘할 때 이 글자 크게 해줘.

AI: 교육 효과를 높이기 위해 정답 안내 문구 크기를 (32px)로 키우고 굵게 처리하여 강조하겠습니다.

나: 아주 좋은데 1을 잘 인식 못 해서 막대기 줄 그으면 1로 인식하게 해 주고 맨 마지막에 명예의 전당에 top 10 까지 이름 적고 기억할 수 있게 해줘.

AI: 막대기 형태 판독 로직을 추가하고, 로컬 저장소를 활용한 영구적인 명예의 전당 시스템을 구축하겠습니다.

나: 첫 시작 화면에 명예의 전당이 보일 필요 없음.

AI: 시작 전 몰입을 방해하지 않도록 명예의 전당을 엔딩 화면으로 이동시키겠습니다.

나: 혹시 그것도 가능할까? 답이 3자리일 경우 숫자가 3개일 가능성이 높다고 생각하고 (맨 앞 자리는 1일 가능성이 높겠지) 추측하고, 답이 두 자리이면 두 자리 숫자일 가능성이 높다고 생각하고 추측하고 이런 것도 가능할까?

AI: 정답의 맥락을 이해하는 'AI 탐정 모드'를 개발하겠습니다. 3자리 문제에 2자리만 써도 앞자리 1을 스스로 추론하는 지능형 시스템입니다.

나: 너무 좋다! 이제 이 게임을 누구나 할 수 있도록 레오말고 처음에 이름을 입력 받게 해서 그 이름을 불러주면 어떨까?

AI: 범용성을 고려한 '유니버설 에디션'으로 확장하여 누구나 자신의 이름을 걸고 탐험할 수 있도록 최종 업데이트를 진행하겠습니다.




부끄럽지만 제가 했던 프롬프팅을 가감없이 모두 정리해 보았습니다. 두서 없이 진행되긴 했지만 결국에 레오가 좋아할만한 모바일 게임이 만들어졌습니다. 레오를 신나게 해 주려고 시작했는데 오히려 제가 더 신난 경험이 되었네요.


아빠와 만드는 게임은 여러가지 장점이 있습니다. 이미 있는 게임을 하는 경우 플레이 도중 도파민 보상에 따른 중독이 염려되는데 아빠와 만든 게임은 집밥처럼 담백해서 그럴 염려는 크게 없습니다. 그리고 너무 아이가 중독될 요소가 많으면 그 부분을 개선하면 되고요.


인공지능 시대, 우리 아이에게 프롬프트 엔지니어링을 어떻게 가르쳐야 할지 고민이 많으실 겁니다. 교육적인 측면도 많지만 더 중요한 것은 이 과정 중에 아이와 아빠가 계속 대화를 나눌 수 있었다는 점이죠. 이 글을 읽는 부모님들께 강력히 추천 드립니다. 이번 주말에는 아이와 함께 게임을 만들어 보면 어떨까요?


어떤 게임인지 궁금하신가요? 아래 링크를 클릭하시면 모바일에서 바로 플레이 가능합니다!

inquisitive-gnome-cef11c.netlify.app


이제 레오는 수학 척척 박사가 되었을까요? 그런데 여기에 부작용이 있네요. 레오는 칠판에 그림을 그리며 놀고 있습니다ㅜㅜ 레오야!!!

매거진의 이전글AI 에이전트 입문기: 밤새 나를 대신해 일해줄 비서