728x90
SMALL
https://525easy.tistory.com/108
- 위 글에서 그럴싸한 많은 데이터를 얻고 난 뒤 희망에 부풀어서 Unity를 켰다.
- CSV를 적용해보니 에러도 없었고... 잘 되나? 싶었는데 어림도 없었다.
- 우선 이전 글들에서도 나오는게 채팅방의 기록이 쌓일수록 뭔가 삐그덕 거리는 상황이었다.
0. 폭망
- 별도의 채팅방에서 데이터를 생성한 이후 원래 채팅방에 다음 Scene의 오브젝트 정보를 물어보았다.
- 나름 잘 나온 상태였고. 실제 배치까지는 하지 않았지만 필요한 요소는 있다고 판단 되었다.
- 뭐 옵션 버튼이 없다던지 이런 세세한 것은 빼도록 하면 대부분 있었다.
- 대략적인 배치를 해보니 이상한 부분은 있더라도 있을 건 있다.
- 이때까지만 해도 나름 가능성이 보였었다.
- 근데 문제가 있는건 이 다음부터다.
- 어찌 되었던 유니티는 컴포넌트들을 부착하여 돌아가게 만드는 구조이다.
- 각 버튼에 연결 될 퍼블릭 함수 또는 UIManager나 DialogueManager가 부착 될 GameObject가 필요하다.
- 그렇기 때문에 Script 연결을 지시하였는데
MainScene_Prologue (Scene)
└── Canvas (UI Container) [Components: Canvas, CanvasScaler, UIManager.cs]
├── Background Image (Image) [Optional: BackgroundController.cs]
├── TitleText (TextMeshProUGUI) [Optional: TitleController.cs]
├── Dialogue Panel (Panel) [DialogueUIController.cs]
│ ├── Speaker Text (TextMeshProUGUI) [Managed by DialogueUIController.cs]
│ └── Dialogue Text (TextMeshProUGUI) [Managed by DialogueUIController.cs]
├── Choice Panel (Panel) [ChoiceUIController.cs]
│ ├── Choice Button 1 (Button) [ChoiceButton.cs]
│ │ └── Choice Text (TextMeshProUGUI) [Set via ChoiceUIController.cs]
│ ├── Choice Button 2 (Button) [ChoiceButton.cs]
│ │ └── Choice Text (TextMeshProUGUI)
│ └── [Additional Choice Buttons as needed] [Each with ChoiceButton.cs]
└── OptionsModal (GameObject, Initially Inactive) [OptionsModalController.cs]
├── BlockerPanel (Image)
│ - (No script; configured to block raycasts)
└── OptionsPanel (Panel) [OptionsPanelController.cs]
├── LanguageDropdown (TMP_Dropdown) [DropdownHandler.cs]
├── VolumeSlider (Slider) [VolumeSliderController.cs]
└── CloseButton (Button) [Handled by OptionsModalController.cs; OnCloseButtonClicked()]
└── Close Text (TextMeshProUGUI)
- 위와 같은 구조를 제시하였다. 하지만 이전에 해당 채팅방에서 만들어둔 스크립트들의 이름과 상이했다.
- 최초 이 프로젝트의 목적은 그냥 "해줘"다.
- 해줘를 시전했더니...
- 새로운 코드들을 작성해주기 시작했다.
- 우선 이 BranchManager의 경우 기존에 작성 되었던 스크립트다.
- 모든 스크립트에서 공통적으로 어긋난 부분은 CSVReader.Read 부분이었다. 기존의 코드는
public void LoadBranches(string csvFile)
{
var data = CSVReader.Read("CSVData/" + csvFile);
foreach (var entry in data)
- 위 처럼 폴더의 경로를 추가하는 반면 새로 작성 된 코드는 폴더의 경로를 무시하고 있었다.
- 또한 최초에 폴더와 스크립트를 생성함에 있어서 위와 같이 새로운 네임스페이스를 생성했었다.
- 이 부분도 누락이 되어 있었다.
- 채팅방의 로그가 쌓일수록 맛탱이가 가는 빈도가 증가하고 있다.
- 위 사진의 경우 markdown 형태에서 코드블럭의 시작과 끝을 나타내는 ``` 부분이 잘못 들어가서 그런 것 같다.
- 최초 # 의 경우 markdown에서 제목1로 사용되기 때문에 이성 처리 이후 나타나는 큰 글로 추정 된다.
- 이전에 마크다운 코드블럭으로 작성 + 문서는 마크다운으로 작성과 충돌을 한 것인지 알수는 없다.
- 어찌 되었던 Canvas에 붙어야 할 것은 기존에 작성 된 UIController 스크립트가 부착 되어야 할 것이다.
- 하지만 전혀 다른 결과를 안내하고 있는 상황이다.
- 이전 CSV 데이터 작성에 있어서도 한 채팅방에 많은 내역을 쏟아내다보니 충돌이 발생하는 것 같다.
- 이전 답변처럼 오류를 줄일 수 있다고 하지만 이미 채팅창은 망가져버렸다.
1. 회고
1) 문제 원인 추정
- 우선 이 추억 프로젝트를 진행함에 있어서는 채팅창 및 프로젝트에 있어서 많은 변동 사항이 존재했다.
- 프로젝트 내에서 다른 모델들이 존재
- 프로젝트 내 파일 등록 및 삭제
- 최초에는 C# Script만 올려두었으나 CSV 작업을 할 때 제거하였다.
- 채팅방의 이동
- 중간중간 ChatGPT가 멈추거나 CSV 작업을 할 때 이동을 많이 했다.
- ChatGPT가 멈출 때는 같은 프로젝트에서 새로운 채팅방을 생성했다.
- GPT가 답변하는 알고리즘을 정확히 알지 못한다.
- 위 사진은 작성일 기준 새로운 채팅방의 스샷이다. 이전 3.5 시절 이미지 얻어오는 프롬프트라고 하는데 지금은 만들어주니 딱히 의미는 없어보인다.
- 뭐 스샷도 못찍고 채팅방을 날려버렸으니 믿거나 말거나지만 "추억 프로젝트 어떻게 되어가니?"라는 답변을 받았었다.
- 뭔가 채팅방이 기준이 아닌 계정에 따라 다르게 동작하는 느낌?을 받았던 부분이다.
- 검색 기능의 사용과 미사용의 차이가 있었다. 같은 모델에 같은 질문을 하더라도 검색 기능 적용 여부에 따라 다른 답변을 냈다.
- 지나친 "해줘"
- 가능한지 보기 위해 했던 "해줘"가 너무 뇌를 빼고 진행한 것 같다.
- 위에서 추정한 모든 문제들도 사실 뇌를 빼고 진행했기 때문에 발생한 문제다.
2) 개선 방안
- GPT가 지원하는 프로젝트 기능을 사용할 때는 1개의 유니티 프로젝트만 사용한다.
- 채팅방은 여러개로 분할하고 각각 역할에 맞는 포지션을 분배한다
- 일관된 모델 사용.
- 최초 아이디어를 얻는 단계에서는 심층 리서치 혹은 검색 기능을 사용하더라도 그 이후는 사용하지 않는다.
- 4o와 o3-mini 둘 중 하나만 사용하되 현재 플랜에서 무제한 사용 가능한 모델만 사용한다.
- o3-mini와 o3-mini-high는 비슷한 답변을 내지만 mini가 좀 더 빠르다고 하니 o3-mini로 통일.
- 되도록이면 글씨로만 작성
- 폭망 부분에서 나왔다고 하기는 애매하지만 이미지로 제시했을 경우 전부 다 스캔은 불가능한 것 같다.
- 프롬프트의 구조화
- 어찌 되었던 1번에서 설정한 1개의 유니티 프로젝트더라도 포지션이 분할된다. 해당 역할에 맞는 최초 프롬프트가 필요하다.
- 이미지 리소스, 스크립팅, 아이디어?
- 맞춤형 지침의 경우 4o 이상만 지원하니 o3-mini는 불가능하다
- 이번 프로젝트가 폭망이더라도 GPT의 가능성을 보기 위한 부분이 크기 때문에 최초 아이디어 제시를 명령할 프롬프트가 필요할 것 같다.
- 블로그 글 자동 완성 프로젝트처럼 특정 키워드 입력 시 게임의 컨셉 아이디어를 제시하는 프롬프트
- 어찌 되었던 1번에서 설정한 1개의 유니티 프로젝트더라도 포지션이 분할된다. 해당 역할에 맞는 최초 프롬프트가 필요하다.
- 많은 양의 데이터를 한번에 요구하지 않는다.
- 일부분에 있어서는 잘 대답해주었지만 CSV 사태처럼 매우 많은 데이터는 원활히 출력되지 않고있다.
- 해당 부분을 줄이기 위해 게임의 장르도 한정적으로 설정하는 것이 좋을 듯 하다.
728x90
LIST
'GPT 게임만들기 > ChueokUI_Project' 카테고리의 다른 글
[ChatGPT][ChueokUI] 09_추억 게임 시나리오 CSV_번외_03 (0) | 2025.03.15 |
---|---|
[ChatGPT][ChueokUI] 08_추억 게임 시나리오 CSV_번외_02 (0) | 2025.03.14 |
[ChatGPT][ChueokUI] 08_추억 게임 시나리오 CSV_번외_01 (0) | 2025.03.13 |
[ChatGPT][ChueokUI] 이벤트 및 분기점 리스트 & 배경 및 세계관 (0) | 2025.03.12 |
[ChatGPT][ChueokUI] 캐릭터 상세 설정 및 관계도_3캐릭 추가 (0) | 2025.03.11 |
댓글