프로젝트 개요
AI 기반 감정형 다마고치를 키우는 iOS 앱입니다. 사용자는 펫과 대화를 나누며 다양한 활동을 통해 스탯을 관리하고, 사진 및 텍스트로 일상을 기록할 수 있습니다.
사용자와 AI 펫 사이의 감정적 유대감을 형성하여, 단순한 게임을 넘어선 의미 있는 인터랙션 경험을 제공합니다. 펫은 사용자와의 대화 내용을 기억하고, 감정 상태와 성장 단계에 따라 다양한 반응을 보여주어 실제 반려동물을 키우는 듯한 경험을 선사합니다.
주요 기능
다마고치 성장 시스템
유아기부터 노년기까지 다양한 성장 단계를 경험하며, 각 단계별로 펫의 외형과 성격이 변화합니다.
Vertex AI와의 대화
Google Vertex AI 기반 자연어 처리로 펫과 자연스러운 대화를 나누며 감정적 교류가 가능합니다.
사진/텍스트 일기 저장
펫과의 특별한 순간을 사진과 텍스트로 기록하고, 날짜별로 저장하여 성장 과정을 되돌아볼 수 있습니다.
헬스케어/스탯/이벤트 시스템
배고픔, 행복도, 건강 등 다양한 스탯을 관리하고, 특별 이벤트를 통해 펫과의 유대감을 강화합니다.
상점(BM 시스템)
게임 내 통화로 다양한 아이템을 구매하여 펫의 환경을 꾸미고, 부가 기능을 활성화할 수 있습니다.
개발 스택
개발 언어 및 프레임워크
백엔드 및 데이터베이스
AI 기술
디자인 및 모델링
버전 관리 및 협업 도구
앱 아키텍처
Swift와 SwiftUI를 기반으로 MVVM 패턴을 적용하여 코드의 유지보수성과 테스트 용이성을 높였습니다. 데이터 바인딩과 상태 관리를 효율적으로 구현했습니다.
백엔드 구성
Firebase를 활용하여 사용자 인증, 실시간 데이터베이스, 스토리지를 구현했습니다. 서버리스 아키텍처로 빠른 개발과 안정적인 서비스를 제공합니다.
AI 대화 시스템
Google Vertex AI를 이용한 자연어 처리로 사용자와 다마고치 간의 감성적 대화를 구현했습니다. 감정 상태에 따른 응답 생성 로직을 개발했습니다.
앱 이미지 갤러리
홈 & 메인 기능
캐릭터 성장 단계
상호작용 기능
캐릭터 관리
상점 시스템
업데이트 예정
팀 구성
함께 만든 구릉이 개발팀을 소개합니다
회고 및 한계
실시간 처리 어려움
AI 응답 생성 시 지연 시간으로 인한 UX 저하 문제가 있었습니다. 향후 캐싱 및 최적화를 통해 개선할 예정입니다.
UI 미완성
일부 화면의 UI가 완성되지 않아 사용자 경험이 일관적이지 않은 부분이 있습니다. 디자인 시스템 구축으로 해결할 계획입니다.
중복 펫 생성 처리 문제
특정 상황에서 펫이 중복 생성되는 버그가 있었습니다. 데이터 모델 및 상태 관리 로직을 개선하여 해결 중입니다.
앱 멈춤 현상
대용량 데이터 처리 시 메인 스레드 블로킹으로 인한 앱 멈춤 현상이 발생했습니다. 비동기 처리 로직을 강화할 예정입니다.
Apple Watch 연동 미구현
HealthKit API를 활용해 사용자의 건강 데이터와 연계하고, 워치 페이스에 펫 애니메이션을 표시하는 기능을 계획했으나 시간 제약으로 구현하지 못했습니다. 향후 업데이트에서 워치 컴플리케이션을 통해 실시간 펫 상태 확인 및 상호작용 기능을 추가할 예정입니다.
캐릭터 애니메이션 부족
캐릭터 제작 워크플로우를 구축하기까지도 시간이 꽤 걸렸지만, 이를 반복하는 과정에서도 물리적 시간이 많이 필요하다는걸 알았습니다. 부트캠프 이후에도 지속적으로 제작하여, 메인 캐릭터의 애니메이션을 완성도 있게 구축하고, 추가 캐릭터들도 제작 예정 중입니다.