bnbongbnbong
Back to projects

rickTcal_DayLife

Archived

PyQt6로 구현한 팬 메이드 데스크톱 상호작용 앱

bnbong / rickTcal_DayLifeView on GitHub

PyQt6로 구현한 팬 메이드 데스크톱 상호작용 앱

PythonPyQtDesktop Application

rickTcal_DayLife

개요

rickTcal

릭트컬 데이라이프는 트릭컬 리바이브 게임 캐릭터의 볼따구를 잡아당기는 상호작용을 데스크톱 위젯 형태로 옮긴 팬 메이드 프로젝트다. 학회 워크샵 대체 과제로 진행했다.

저장소

https://github.com/bnbong/rickTcal_DayLife

프로젝트 목표

이 프로젝트는 범용 생산성 앱이 아니라, 데스크톱 애플리케이션에서 직접적인 상호작용 감각을 구현해 보는 것 이 목표였다. 워크샵 요구사항도 명확했다.

  • PyQt6 사용
  • 삶의 질을 높이는 프로그램 개발
  • Windows / macOS / Linux 지원

왜 PyQt6였는가

데스크톱 앱 과제였기 때문에, 크로스 플랫폼 GUI 프레임워크가 필요했다. PyQt6는

  • Python 기반으로 빠르게 상호작용 실험이 가능하고
  • 이벤트 처리 구조가 명확하며
  • 배포 결과물을 만들기에도 비교적 수월

하다는 점에서 잘 맞았다.

왜 팬 메이드 프로젝트를 선택했는가

과제로 주어진 '삶의 질을 높이는' 이라는 관점에서 사람들의 삶의 질을 높일 수 있는 요인으로 스트레스를 낮추는 것을 생각했다. 그리고 스트레스 해소에 도움이 되는 요소 중 하나로 귀여운 것을 보면 스트레스가 낮아진다는 연구결과가 떠올랐다. 그래서 내가 좋아하는 게임 캐릭터의 귀여운 상호작용을 데스크톱 앱으로 옮기는 프로젝트를 선택했다.

구현 포인트

핵심 인터랙션

인게임 데스크톱 구현
ingame desktop

핵심 기능은 캐릭터 볼따구를 클릭/드래그/릴리즈하면서 반응을 보여 주는 것이다. 이 프로젝트에서 중요했던 건 입력 이벤트를 즉시 시각적/청각적 피드백으로 연결하는 감각 이었다.

캐릭터 정보와 배치

sado info

우측 하단 버튼으로 캐릭터 설명을 열람하고, 선택한 캐릭터를 바탕화면에 추가할 수 있도록 만들었다. 상호작용 + 선택 + 배치가 함께 있는 데스크톱 앱 구조를 경험할 수 있었다.

릴리스

Windows와 macOS용 실행 파일을 릴리스 형태로 제공했다. 과제 수준 프로젝트라도 실제 실행 파일 배포까지 다룬 점이 의미 있었다.

역할

  • 프로젝트 기획
  • PyQt6 기반 데스크톱 앱 구현
  • 릴리스 정리
  • 문서화 및 테스트

배운 점

  • GUI 앱은 화면을 그리는 것보다 이벤트와 피드백의 연결이 더 까다롭다.
  • 데스크톱 앱은 웹과 다르게 설치/배포 흐름까지 고려해야 해서 완성 비용이 높다.
PythonPyQtDesktop Application2023