던전 크라울 알파 릴리즈

별거 아닌 듯 한 개인 프로젝트입니다.

디아블로틱한 터미널 로그라이크를 만들고 싶었습니다. 실시간으로요. 어쩌다보니 엔진 작업까지 하느라 골때리게 시간 쏟아부었던거 같네요.

간단한 전투와 스킬, 직업 특성중 일부는 구현되어 있습니다. 아직 완벽하게 직업 특성이 구현된 건 아닙니다.

맵 이동도 약간 이상해서 막아 두었습니다. 작업 할 내용도 꽤 많이 있습니다.

그래도 전투 가능하고 스킬 사용가능하고 레벨업 가능합니다. 아이템 사용도 가능합니다.

엔진으로는 알파 정도 된 거 같아서 자랑삼아 올려보네요.

접두사 접미사 시스템은 아직 완벽하게 검증이 되지 않았습니다. 그점 참고해 주시고 플레이 해주시면 감사하겠습니다.

에러가 있으면 꼭 알려주세요. 저 혼자 테스트하려니 시간이 너무 모자랍니다.ㅠㅠ

참고: 이 프로젝트는 Gemini를 페어 프로그래밍 도우미로 사용하여 개발되었습니다.

상태: 현재 밸런스 테스트 진행 중…

주요 기능

핵심 게임플레이

  • 실시간 전투 시스템 - 턴 기반 메커니즘

  • 절차적 생성 던전 - 다양한 층 타입

  • 영구 사망 - 진정한 로그라이크 경험

  • 캐릭터 성장 - 스킬 사용에 따른 동적 직업 시스템

  • 직업별 특성화: 각 직업별 고유 무기 보너스 (로그 활, 바바리안 양손무기, 소서러 지팡이)

전투 & 스킬

  • 18개 디아블로 1 스펠 (4개 티어):

    • 1티어: 파이어볼트, 차지드 볼트, 치유, 홀리 볼트, 인페르노

    • 2티어: 파이어볼, 라이트닝, 석화 저주, 플래시, 페이징

    • 3티어: 체인 라이트닝, 플레임 웨이브, 가디언, 텔레포트

    • 4티어: 마나 실드, 노바, 골렘, 아포칼립스

  • 스킬북 시스템 - 지수 레벨링 (3^n 진행: 1→3→9→27권)

  • 속성 시스템 - 가위바위보 메커니즘 (물 > 불 > 나무 > 흙 > 물)

  • 특수 데미지 타입 - 독, 언데드 보너스(둔기), 원거리 공격

아이템 & 장비

  • 99개 이상의 기본 아이템:

    • 30개 무기 (검, 도끼, 둔기, 활, 지팡이)

    • 26개 방어구 (투구, 방패, 갑옷)

    • 2개 액세서리 (반지, 목걸이)

    • 18개 스킬북

    • 다양한 소비 아이템 및 스크롤

디아블로 1 스타일 시스템

  • 마법 아이템 시스템 - 접두사/접미사 조합:

    • 22개 접두사 (날카로운, 흑요석, 용의 등)

    • 17개 접미사 (황도십이궁의, 천상의 등)

    • 11개 액세서리 전용 접두사 (비취, 루비, 사파이어 등)

    • 2개 액세서리 전용 접미사 (달의, 재생의)

  • 내구도 시스템 - 전투 중 장비 마모

  • 강화 시스템:

    • 무기/방어구용 오일 강화

    • 신전 강화 (0 ~ +10) - 성공/실패 메커니즘

  • 신전 시스템 - 2층마다 등장, 복구 또는 강화 옵션

고급 기능

  • 스테미너 시스템 - 이동 및 스킬 사용 시 소모

  • 자원 관리 - 식량, 물약, 인벤토리 제한

  • 상점 시스템 - 아이템 구매/판매 및 수리

  • 사운드 시스템 - 행동에 대한 오디오 피드백

  • 더블 버퍼 UI - ANSI 색상을 사용한 부드러운 터미널 렌더링

  • 저장/불러오기 - 영구 게임 상태

TODO 리스트

높은 우선순위

  • [/] 디아블로 1 보스 시스템:

    • 보스 소환 매커니즘 (체력 50% 시 지원군 소환)

    • 공격적 보스 AI (모든 보스가 플레이어를 추적)

    • 최종 보스: 디아블로 (99층에서의 대결)

    • 다른 유니크 보스들 (도살자, 레오릭 등)

    • 보스 대사 시스템 (“Ah… Fresh Meat!”)

    • 보스별 유니크 아이템 드랍 보장

    • 보스 전용 고정 맵 (99층 목표 달성)

  • 지팡이 전투 시스템 - 이중 모드 무기 메커니즘:

    • 물리 타격 공격 (근접, 내구도 소모, STR 기반 데미지)

    • 마력 충전 모드 (소서러의 경우 MP 대신 지팡이 충전 횟수 소모)

    • 지팡이에 랜덤 스펠 할당

    • ‘S’ 키로 스펠 모드 활성화 + 방향키로 시전 (현재 퀵슬롯으로 통합됨)

  • 특수 스킬 효과 (12개 스킬 구현 필요):

    • 홀리 볼트 - 언데드 추가 데미지

    • 인페르노 - 지속 화염 벽

    • 석화 저주 - 석화 효과

    • 페이징 - 랜덤 텔레포트

    • 체인 라이트닝 - 연쇄 공격

    • 플레임 웨이브 - 화염 파동 공격

    • 가디언 - 터렛 소환

    • 텔레포트 - 방향 지정 텔레포트

    • 마나 실드 - 마나로 데미지 흡수

    • 노바 - 전방향 공격

    • 골렘 - 골렘 소환

    • 아포칼립스 - 화면 전체 공격

중간 우선순위

  • 아이템 드롭 시스템 개선:

    • 드롭 확률 공식 (일반 15-25%, 보스 100%)

    • 등급 결정 (Normal 85%, Magic 14.5%, Unique 0.5%)

    • 몬스터 레벨 기반 아이템 제한

    • 매직 접사 롤링 (접두사 40%, 접미사 40%, 둘 다 20%)

    • Magic Find (MF) 시스템 (장신구)

    • 보스 전용 드롭 테이블

  • 언어 선택 메뉴 - 시작 시 한글/영어 선택

  • 동적 직업 시스템 - 최고 레벨 스킬에 따라 직업 자동 변경

  • 플레이어 행동 쿨다운 - 입력 처리에서 쿨다운 강제

  • 밸런스 조정 - 실시간 게임플레이에 맞춰 난이도 조정

  • UI 개선:

    • 쿨다운 표시

    • 실시간 HP/MP 바 애니메이션

    • 몬스터 행동 예측 표시

낮은 우선순위

  • 보스 특수 패턴 - 고유한 보스 행동

  • 추가 캐릭터 클래스 - 4개 이상으로 확장

  • 멀티플레이어 지원 - 협동 게임플레이

1개의 좋아요

python3 test_classes.py 하시면 샌드박스 모드에서 모든 스킬과 아이템을 소지한채로 테스트할 수 있습니다.
python3 Start.py 하시면 게임 모드를 실행하실 수 있습니다.

1개의 좋아요

깃헙 스크린샷 디렉토리에

게임 테스트 영상도 부탁드려요^^^

PNG 파일 그림만 보고서는 감이 안오기에

영상 한번 부탁드림미다~

갱장하고 소중한 프로젝트 감사합니다!!! 진심))//

1개의 좋아요

영상 와 끝내주네혀 ㄷㄷㄷ

1개의 좋아요

감사합니다

버그 고치는 중이에요 계속 충돌이 일어나네요

1개의 좋아요

바바리안의 고유 스킬을 제대로 만들어놨습니다. 최대 레벨로 스킬을 올리면 전체 맵에서 마구 몹들이 밀려오게 만들어놨어요.

신전 시스템도 구현했습니다. 신전에서 회복과 장비 내구도를 회복시키거나 장비들을 업그레이드 시킬 수 있게 만들어두었습니다.

이 두개 하는데 하루가 다 갔습니다. ㅋ

1개의 좋아요

어지간한 스킬과 맵 이동, 그리고 보스들이 구현되어 있습니다. 그중 첫번째 보스인 도살자입니다.

벨런싱 하는데 시간이 좀 걸리겠네요.

보스전만 직접 해보고 싶으신 분들은

소스 다운 받으시고

PLAY=1 python3 sandbox_test.py

하시면 됩니다.

보스가 있는 곳은

25층 도살자

50층 레오릭

75층 리치킹

99층 디아블로입니다.

샌드박스 모드에서

캐릭터 레벨 조정은 Shift+L 하시고 원하는 레벨을 입력하시면 됩니다.

맵 이동은 Shift+J 하시고 원하는 레벨을 입력하시면 됩니다.

Shift + w 하시면 임의의 아이템들이 ( 레벨 25 상당 ) 인벤토리에 들어가게 됩니다.

감정 스킬을 익힌 후 감정 해보시면 아이템을 감정하실 수 있습니다.

I는 인벤토리 입니다.

C는 캐릭터 정보창입니다. Shift+W 하신 후 보너스 포인트를 임의 분배하실 수 있습니다.

로그를 보시면 보스는 중간 중간 대화를 칩니다. 지금 벨런싱을 좀더 해야 할 거 같긴 하지만 어느 정도 게임 플레이가 가능한 수준까지 온 거 같습니다.

1개의 좋아요

거의 모든 기능이 구현되었습니다.

보스만 남았어요. 길었습니다.

스킬들 역시 모두 구현되었습니다.

기능들만 있는 - 산개탄, 여러곳으로 갔다가 모이는 탄환 같은 것들은 코드 상으로는 구현이 되었습니다.

레벨업 가능하고 아이템 쓸 수 있고 스킬 배워 쓸 수 있습니다.

자잘한 UI 상의 편의 기능들이 남아 있고 버그들이 남아 있습니다.

혹 즐기실 분들은

git clone GitHub - dogsinatas29/dungeon: Diablo like real time rogue for terminal
cd dungeon

pip install readchar

sudo apt install alsa-utils

python3 Start.py

하시면 게임을 즐기실 수 있습니다.

효과음은 빈약합니다. 음질이 그닥 좋지 않아요. 조만간 이것도 손볼 예정입니다.

모두 즐거운 새해 보내세요.

1개의 좋아요