o1으로 snake game 만들기

배경 및 목적

o1-preview를 활용하여 다양한 분들의 사례에서 깊이있게 추론하는 모습을 확인하며 대단하다 느끼고 있는 요즈음입니다.

o1 preview가 추론도 잘하지만 코딩도 잘 한다는 이야기를 들었고, 그중에 snake게임 제작 영상을 보며 업그레이드 해보고 싶어 시도해봤습니다.

참고 자료

우선 o1 영상중 snake 게임 영상을 참고했습니다.
기본적으로 누구나 쉽게 접근할 수 있도록 html로 만들어 보려고 합니다.

https://youtu.be/7GaKl6HwZ50?si=0njUW1E5wNioFpu1

활용 툴

실행 과정

우선 단순하게 스네이크 게임을 만들어달라고 요청하니 파이썬 코드로 줍니다.

파이썬 - 파이썬 - 파이썬 - 파이썬 - p

다시 html, javascript, css로 해달라고 요청합니다.

한국어가 포함된 한국어 웹사이트 스크린샷

2초동안 생각하더니 하나의 파일을 내놓습니다.
그런데 오류가 생겼어요.
오류가 생긴다고 얘기하니 조금 더 깊이 생각하네요.

한국어 메시지 스크린샷


몇 번 테스트했는데 이런저런 자잘한 오류가 생겨서 계속 수정해달라고 요청했습니다.

한국어로 된 문자 메시지의 스크린샷

몇 가지 조금 더 수정한 후에 다음과 같은 형태의 게임을 줍니다.

한국어 텍스트가 있는 검은 화면

html, javascript, css를 하나에 넣으니 코드가 꽤 길지만, 어느 부분을 수정했는지, 프로그램 내용이 무엇인지 상세하고 길게 설명해줍니다.
그런데 위 게임은 화살표키로만 움직여서 wasd 키로도 움직이도록 수정해달라고 했습니다.

그리고, 다음 내용도 추가해봅니다.

한국어는 흰색 배경에 표시됩니다


또 이런저런 오류가 생겨서 요청하는데 플레이가 안된다고 하니 51초동안이나 생각하네요.

한국어로 된 문자 메시지의 스크린샷

중간에 계속 업그레이드 하나가 콘솔오류가 나서 그 부분에 대한 요청도 하고,
쭈우욱 계속 원하는 기능을 넣어갑니다.

한국어로 된 문자 메시지의 스크린샷

한국어로 된 문자 메시지의 스크린샷


한국어로 된 문자 메시지의 스크린샷

PC프로그램 외에 스마트폰에서도 조작하도록 또 요청합니다.

한국어 문자 메시지 스크린샷

한국어로 된 문자 메시지의 스크린샷

한국어로 된 문자 메시지의 스크린샷



작업하다 오류가 나면 또 혼내주기도 하고...

한국어와 영어로 된 메시지

결국 마지막 게임을 하나 완성했습니다.
아주 썩 마음에 들지는 않지만, 여러 시행착오를 거치며 진행하며 업그레이드 해나가니
재미있었네요. (오류날 때는 쫌 그랬지만요)

최종버전은 깃허브에 업로드해봤습니다.
짬나면 또 업그레이드 해보도록 하겠습니다.

게임 한번 해보시죠~

<Snake Game>
https://segilife7.github.io/snakegame/

한국어로 된 뱀 게임 스크린샷

결과 및 인사이트

o1의 추론에 대해 다양한 분들의 사례를 보고, 또 이것저것 사용해보며 다양한 경우의 수를 고려해 답을 주는 부분이 대단하다 생각됩니다.

코딩도 많이 업그레이드 되었다는 이야기를 듣고,
이번에 snake 게임을 조금씩 업그레이드 하면서 길이와 추론, 결과물의 퀄리티 등이
기존 모델보다 확실히 업그레이드 되었다는 생각이 들었네요.
그 전에는 코드가 길어지면 수정이 쉽지 않았던 것 같거든요.

어째껀...
내가 원하는 최종 결과에 대해 명세서를 작성해 프롬프트를 입력하면
이렇게 너무 길게 돌아오지 않았을 수도 있겠다 싶은데요.

다음에는 최종 결과물에 대한 기능명세서를 먼저 작성해보고,
시도해보겠습니다.

<실제 시도>

지금까지의 과정을 기반으로 기능명세서 프롬프트를 요청해봤습니다.

한국어로 된 문자 메시지의 스크린샷

중간 결과물에 소리가 안나오더라구요.
그 부분을 개선한 후에 소리까지 잘 나오는 부분에 대한 최종 프롬프트를 요청했습니다.

한국어로 된 문자 메시지의 스크린샷
한국어 단어가 적힌 페이지
한국어와 영어로 된 설명이 있는 페이지
단어 목록이 있는 한국어 페이지
한국어 한국어 한국어 한국어 한국어 한국어 한국어 한국어


o1이 알려준 프롬프트를 넣으니 원하는 최종 게임 코드를 얻을 수 있었습니다.
(물론 중간에 2번 정도 오류 수정 있었음)

한국어로 된 게임 스크린샷

이 과정을 통해서
최종적으로 내가 무엇을 하고 싶은지에 대한 명확한 그림을 그리고 요청하면
토큰도 절약하면서 원하는 결과를 얻을 수 있겠다는 생각을 하게 되었습니다.

게임 잘 하시나요?
스네이크 게임 한 번 해보시죠~!! ^^

<Snake Game>
https://segilife7.github.io/snakegame/

3
1개의 답글

👉 이 게시글도 읽어보세요