7ba58625e18276ac7eb8f68b12d21a1d8c260607cf08




(실제 게임 화면 아님. GPT느님이 뽑아준 상상 화면]

c79df169-e5da-4a69-b9f2-cb12d686a2a762d641cf-bfba-491b-8ac6-1179a2efc116

(개발중인 데모 버젼 화면)


안녕하세요. 초보 개발자입니다.

게임개발 자체는 흥미가 있었지만, 사느라 바빠서 꿈으로만 가지고 있었는데,

GPT느님만 믿고 겁없이 1인 개발을 시작했습니다.


게임이름은 6x6 Cards Dungeon이며

제목에서 알수 있듯이 카드 기반 던젼 크롤링 게임입니다.

플레이어는 한층이 6x6칸으로 이루어진 던젼을 탐험하며 6층까지 올라가서 최종 보스를 물리치는게 게임의 목적입니다.

중간중간 열쇠를 획득하고 몬스터와 전투를 하고, 이벤트를 겪습니다.


이 게임의 핵심은 확률기반 전투입니다.

몬스터를 잡고 스킬을 2~12의 숫자에 배정하고, 주사위 2개를 던져서 나온 눈금에 따라 스킬을 사용합니다.

당연한 말이지만 숫자 7에 해당하는 스킬은 자주사용되고, 숫자 2,12에 해당하는 스킬은 거의 사용되지 않습니다.

거기에 스킬별 코스트까지 고려해서 스킬덱을 짜는것이 게임의 핵심입니다.


설명은 복잡한데 해당 게임 데모버젼 링크를 올려드리니 한번 해보시면 감사드리겠습니다.

한판에 5분도 걸리지 않습니다.


https://drive.google.com/file/d/1L-GEXK1Yz2sbkLkjMnyHkXuh03LB2pkV/view?usp=sharing


참고로 아래는 GPT느님이 작성해주신 게임 소개 입니다.




[소개] 주사위 확률을 설계하라! 전략 로그라이크 [6X6 Cards Dungeon]

안녕하세요! 평소 덱빌딩 로그라이크의 전략성과 보드게임의 변수를 결합해보고 싶어 제작한 "6X6 Cards Dungeon"을 소개합니다.

단순히 "운이 좋아서 이기는 게임"이 아니라, "운이 작용하는 확률 자체를 플레이어가 설계"하는 재미에 집중한 게임입니다.

1. + 핵심 게임 메커니즘: "주사위 확률 커스터마이징"

이 게임의 전투는 주사위 2개를 굴려 합(2~12)에 해당하는 스킬을 발동하는 방식입니다.

확률의 과학: 주사위 2개의 합은 '7'이 나올 확률이 $1/6$($16.6\%$)로 가장 높고, '2'와 '12'는 $1/36$($2.7\%$)로 가장 낮습니다.

전략적 배치: 플레이어는 몬스터를 처치하고 얻은 스킬을 이 2~12번 슬롯 중 어디에 배치할지 결정해야 합니다.

안정형: 자주 나오는 6, 7, 8번에 준수한 성능의 공격/방어 스킬 배치

한방형: 드물게 나오지만, 한 번 터지면 게임을 터뜨리는 필살기를 2, 12번에 배치

코스트 시스템: 모든 스킬에는 '코스트'가 있습니다. 플레이어 레벨에 따라 총 코스트 제한이 있어, 무조건 좋은 스킬만 도배할 수 없습니다. 저확률 슬롯에는 고코스트 스킬을, 고확률 슬롯에는 저코스트 효율 스킬을 섞는 '자원 배분'이 핵심입니다.

2. ?+ 게임의 구조 (System Architecture)

개발자 입장에서 이 게임의 내부 구조는 크게 세 가지 레이어로 설계되었습니다.

① 데이터 레이어 (External Excel Database)

하드코딩을 배제하고 모든 게임 밸런스를 외부 xlsx 파일로 관리합니다.

Player Data: 레벨업 시 HP 성장 곡선 및 코스트 한도 관리

Skill Deck: 공격력($atk$), 방어력($def$), 요구 레벨, 코스트, 그리고 내구도($durability$) 데이터

Monster & Event: 일반/보스 몬스터의 능력치 및 랜덤 이벤트 결과값

특징: 코드를 건드리지 않고 엑셀 수치만 수정해도 게임 난이도와 메타를 완전히 바꿀 수 있는 '데이터 드리븐' 구조입니다.

② 로직 레이어 (Python Logic)

전투 엔진: 주사위 결과 → 스킬 발동 → 내구도 계산 → 몬스터 반격(플레이어 방어력 차감) 순의 턴제 로직입니다.

절차적 맵 생성: 매 층마다 몬스터와 이벤트의 비율을 섞고, 플레이어 시작점으로부터 일정 거리 이상 떨어진 곳에 '열쇠'와 '보스 방'을 배치하여 탐험의 재미를 줍니다.

내구도 시스템: 전투 중 강력한 스킬의 내구도가 다하면 기본 스킬(ini_skill)로 강제 교체됩니다. 이는 한 전투 내에서 '장기전'으로 갈수록 플레이어가 불리해지는 긴장감을 부여합니다.

③ 그래픽 레이어 (Tkinter UI)

Tkinter의 Canvas 객체를 사용하여 실시간으로 그리드를 렌더링합니다.

좌표 기반 시스템으로 플레이어(⚔+), 몬스터(+), 열쇠(+) 등의 아이콘을 배치하고, 하단에는 현재 주사위 테이블의 상세 수치를 직관적으로 표시합니다.

3. 층별 구성 및 최종 보스

1~5층 (성장 구간): 6x6 맵을 탐험하며 열쇠를 찾고, 몬스터를 잡아 덱을 최적화해야 합니다.

6층 (최종 시련): 최종 보스는 '턴수 비례 성장' 메커니즘을 가집니다. 플레이어가 1층부터 6층까지 오기 위해 소모한 총 턴수가 많을수록 최종 보스의 HP와 공격력이 기하급수적으로 강해집니다. 즉, '파밍'과 '속도' 사이의 완벽한 균형이 필요합니다.

+ 소개글 마무리하며

단순한 미니게임처럼 보이지만, 그 안에는 확률 통계와 자원 관리라는 깊이 있는 고민을 담았습니다. 파이썬 환경이 있다면 누구나 소스코드를 수정해 자신만의 스킬과 몬스터를 추가해볼 수 있는 오픈 구조입니다.

로그라이크와 보드게임 전략을 좋아하시는 분들께 즐거운 경험이 되었으면 좋겠습니다! 피드백이나 질문은 언제든 환영입니다.

: 이 게시글을 커뮤니티에 올리실 때, "엑셀 파일에서 스킬 데미지 999로 고치고 보스 한 방에 잡는 법" 같은 짧은 팁을 같이 적어주면 유저들이 "아, 이렇게 데이터가 연동되는구나!" 하고 더 흥미를 느낄 거예요.