2024.05.
결론적으로 해당 기획은 수비 덱의 불리함을 해결하지 못했고, 그리고 덱을 짜는 난이도 자체가 너무 높다는 문제점과 무엇보다 재미가 없어서 새로운 기획으로 변경합니다.
- 전투 시뮬레이터는 게임 기획 내용을 최소한으로 검증할 수 있도록 하기 위해서 만들어졌습니다.
- 수비/공격 세팅을 전부 다 입력해서 플레이 해볼 수 있는 방식입니다.
- 다음과 같은 내용을 확인하고자 합니다.
- 게임으로써 즐기며 플레이 가능한 지
- 너무 어려운 플레이 방식이라 불가하진 않은 지
- 너무 심각한 기획 오류가 있진 않은지
- 기획 변경이 필요한 지
- 전투는 5인으로 진행
- 모든 캐릭터(슈퍼 푸드)는 슈퍼 푸드의 고유 스킬을 사용해서 전투를 진행함. (일반공격은 없음.)
- 전방-중앙-후방 (각 줄에 슈퍼 푸드 최소 한명) 으로 배치 가능함.
- 적팀의 모든 슈퍼 푸드를 죽이거나, 양쪽 팀이 모든 스킬을 다 소진했을때 슈퍼 푸드의 총 합 체력이 더 많다면 승리함. (각 슈퍼 푸드마다의 체력 시스템 존재)
- 게임에 진입하기 전 유저는 각 캐릭터의 행동에 순서를 정할 수 있음.
- 스킬
- 가드 전환
- 모든 캐릭터는 가드 상태를 게임에 진입하기 전에 지정해둘 수 있음.
- 하단 가드를 하면 하단 공격에 데미지를 10%만 받고 중단 공격 데미지를 100% 받음.
- 중간 가드를 하면 중단 공격에 데미지를 100%로 막고 하단 데미지를 100% 받음.
- 가드를 하고 있지 않으면 모든 공격에 대해 100% 데미지를 받음.
- 공격하고 있을 때는 가드 불능 상태가 됨.
- A1번 캐릭터의 행동에 10 프레임이 필요하고 B1번 캐릭터 행동에 12프레임이 필요하다면 A1캐릭터의 행동이 먼저 진행됨.
- 만약 A1에 행동프레임이 5이고 A2에 행동 프레임이 3인데 B1캐릭터 행동에 12가 필요하다면 A1 → A2 → B1으로 진행됨.
- 이때 B1의 캐릭터는 공격이 시작 됐으므로 가드 불능 상태임.
- 일부 스킬에는 -프레임(=손해 프레임)을 상대방에게 만드는 기술이 있음.
- 만약 이 스킬에 걸려 -4프레임이 된 상태라면 스킬을 사용할 때 4프레임이 더 필요하게 됨.
- 14프레임의 기술을 사용하면 18프레임이 필요한 것.
- 만약 이 스킬에 걸려 -4프레임이 된 상태라면 스킬을 사용할 때 4프레임이 더 필요하게 됨.
- 단일 대상 스킬의 경우 대상이 정해져 있음
- 체력이 제일 적은 캐릭터 대상
- 체력이 가장 많은 캐릭터 대상
- 첫번째 열 대상 등등
- 짠맛 → 단맛 → 매운맛 → 신맛 → 쓴맛 -> 짠맛
-
앞의 영어 이름은 슈퍼 푸드의
type
입니다. -
JJAJANG
짜장면 (짠맛)스킬 1 (발동 7, 4턴 지속)
- 본인의 방어력을 20 증가시킵니다.
스킬 2 (발동 10, 6턴 지속)
- 단일 공격에 대한 공격을 모두 대신 맞아줍니다 (수호)
스탯
체력: 100
방어력: 50
저항력: 10
회피력: 0
치명타 확률: 0
-
JJAMBBONG
삼선짬뽕 (매운맛)스킬 1 (발동 10)
- 1열에 있는 음식 1개에게 데미지 30을 주고 손해프레임 3을 줍니다.
스킬 2 (발동 15, 2턴 지속)
- 모든 상대에게 5데미지를 주고 방어력을 10 깍습니다.
스탯
체력: 225
방어력: 30
저항력: 40
회피력: 0
치명타 확률: 0
-
CAKE
초코케이크 (단맛)스킬 1 (발동 13)
- 체력이 가장 낮은 상대에게 데미지 35를 줍니다.
스킬 2 (발동 18)
- 1열에 있는 음식들에게 데미지 15를 줍니다.
스탯
체력: 180
방어력: 40
저항력: 0
회피력: 0
치명타 확률: 20
-
MALA_XIANG_GUO
마라샹궈 (짠맛)스킬 1 (발동 10, 3턴 지속)
- 체력이 가장 낮은 음식 하나에게 데미지 10과 방어력 감소 10을 부여합니다.
스킬 2 (발동 18, 중단)
- 체력이 가장 낮은 음식 하나에게 데미지 50 줍니다.
스탯
체력: 80
방어력: 10
저항력: 40
회피력: 30
치명타 확률: 40
-
MILK_SHAKE
밀크쉐이크 (단맛)스킬 1 (발동 5)
- 다음 시전되는 스킬 2의 공격력을 10 증가시킵니다.
스킬 2 (발동 25, 중단)
- 모든 상대에게 데미지 30을 줍니다.
스탯
체력: 100
방어력: 10
저항력: 0
회피력: 0
치명타 확률: 0
-
MALA_TANG
마라탕 (매운맛)스킬 1 (발동 14)
- 1열에 있는 음식들에게 데미지 5와 기절 상태이상을 부여합니다.
스킬 2 (발동 20, 중단)
- 1열에 있는 음식들에게 데미지 60을 줍니다.
스탯
체력: 130
방어력: 20
저항력: 0
회피력: 0
치명타 확률: 0
-
KUNG_PAO_CHICKEN
꿔바로우 (신맛)스킬 1 (발동 15)
- 모든 상대에게 데미지 20을 줍니다.
스킬 2 (발동 15, 중단)
- 모든 상대에게 데미지 10을 줍니다.
스탯
체력: 80
방어력: 30
저항력: 20
회피력: 0
치명타 확률: 20
-
STIR_FRIED_FISH_CAKE
양파 어묵 볶음 (짠맛)스킬 1 (발동 10)
- 체력이 가장 낮은 음식 체력을 30 회복시킵니다.
스킬 2 (발동 15)
- 모든 아군 음식의 체력을 10 회복시킵니다.
스탯
체력: 150
방어력: 0
저항력: 20
회피력: 0
치명타 확률: 0
-
SEASONED_BELLFLOWER_ROOT
두릅무침 (쓴맛)스킬 1 (발동 20, )
- 상대 2열과 3열에 있는 음식들에게 기절 상태이상을 부여합니다.
스킬 2 (발동 12)
- 상대 1열에 있는 음식들에게 기절 상태이상을 부여합니다.
스탯
체력: 80
방어력: 0
저항력: 0
회피력: 0
치명타 확률: 0
-
RED_GINSENG_JUICE
홍삼즙 (쓴맛)스킬 1 (발동 12, 6턴 지속)
본인의 회피력을 30 증가시킵니다.
스킬 2 (발동 10, 4턴 지속)
단일 공격에 대한 공격을 모두 대신 맞아줍니다 (수호)
스탯
체력: 50
방어력: 0
저항력: 0
회피력: 50
치명타 확률: 0
- 수비덱을 충분히 공략할 수 있는지 확인
- 너무 변수가 많아서 힘들진 않은지 확인
- 스펙 차이가 어느정도(20%?) 나면 수비덱을 이길 수 없도록 설정이 가능한지 확인
- 전투 한번 한번의 스트레스가 많진 않은지 확인
- 자동기보? 전투가 가능한지(pve 대비) 확인
- 공격 팀이라고 가정하고, 수비 팀의 데이터를 보수적으로 미리 입력해둡니다.
- 이 데이터를 서로 주고받아보면 좋을 것 같습니다.
- 이제부터 플레이를 진행해보며 수비 팀을 파훼할 수 있는 커맨드를 분석해 승리합니다.
- 화면은 총 두가지로 구성되어 있습니다.
- 가장 먼저 게임을 실행하면 나오는 화면입니다.
- 기본적으로 디폴트 데이터가 설정되어 있어서 그대로 플레이 해도 상관 없습니다.
- 해당 화면에서는 아래 설정을 진행할 수 있습니다.
- 수비 캐릭터 배치, 공격 캐릭터 배치
- 수비 기보, 공격 기보
- 기본적으로 입력 포맷은 json이나,
- 입력 창은 별다른 포맷 프리티파이가 없는 plain text의 형태라서
- 알아서 프리티파이 홈페이지 등에서 정렬해서 오면 됩니다.
- 설정한 데이터를 토대로 게임이 실행되는 화면입니다.
- 캐릭터 위의 인포는 순서대로 다음과 같습니다.
- [속성][아이디] 캐릭터 타입
- 캐릭터 위의 인포는 순서대로 다음과 같습니다.
- 게임의 결과도 해당 화면 안에서 나오게 됩니다. (어떤 팀이 이겼는 지)
- 아래 커맨드 확인 플로팅 화면을 통해 현재 커맨드(스킬, 가드 등) 진행 상황을 알 수 있습니다.
- 총 세 줄로 배치를 진행할 수 있습니다. (전방, 중앙, 후방)
- 총 캐릭터는 5개를 입력하면 되지만, 최소/최대 캐릭터 수에 대한 제한은 없습니다.
- 입력 포맷은 다음과 같습니다.
[
[
// 캐릭터 하나의 배치
{
"id": String
"type": Number
}
], // 전방 캐릭터 리스트
[], // 중앙 캐릭터 리스트
[] // 후방 캐릭터 리스트
]
- 이차원 배열 형태로 데이터를 받습니다.
- 순서대로 전방, 중앙, 후방 입니다.
- 필수적으로 세 개의 리스트를 포함해 보내주어야 합니다.
type
- type은 어떤 슈퍼 푸드 타입을 사용할 건지에 대한 내용입니다.
id
- 특정한 슈퍼 푸드를 식별하기 위해 플레이어가 임의로 지정할 수 있는 number 형식 아이디 입니다.
- 같은 팀 뿐만 아니라, 수비/공격 전체 겹치지 않는 숫자 아이디이면 됩니다.
- 입력 예시는 다음과 같습니다.
[
[
{
"id": 1,
"type": "JJAJANG"
}
] // 전방 리스트,
[
{
"id": 2,
"type": "JJAMBBONG"
},
{
"id": 3,
"type": "JJAMBBONG"
}
] // 중앙 리스트,
[
{
"id": 4,
"type": "CAKE"
},
{
"id": 5,
"type": "JJAMBBONG"
}
] // 후방 리스트
]
- 기보에서는 스킬(1,2번 스킬)과 가드 전환을 진행할 수 있습니다.
- 입력 포맷은 다음과 같습니다.
[
{
"id": Number, // 슈퍼푸드 유니크 아이디
"skill_id": Number, // 스킬 아이디
"meta": Number, // (Optional) 가드 전환을 위한 속성 값
}
]
id
- 캐릭터 배치를 입력할 때 각 슈퍼 푸드에 지정해줬던 유니크 아이디입니다.
- 스킬 혹은 가드 변경을 시도하려는 슈퍼 푸드의 id를 입력합니다.
skill_id
- 사용하려는 행동에 대한 id 입니다.
- 입력할 수 있는 값은 다음과 같습니다.
0
- 가드 전환을 의미합니다.
- 해당 값을 0으로 보낼 때에는,
meta
항목을 항상 함께 보내야 합니다.- 어떤 방향으로 가드를 전환할 지에 대한 값이 필요합니다.
1
- 해당 슈퍼 푸드의 스킬 1번을 사용한다는 것을 의미합니다.
2
- 해당 슈퍼 푸드의 스킬 2번을 사용한다는 것을 의미합니다.
meta
(Optional)- 가드 전환 시, 어떤 방향으로 가드를 전환할 지를 의미합니다.
- 그래서
skill_id
값이0
일 경우에만 해당meta
값을 보내면 됩니다. - 입력할 수 있는 값은 다음과 같습니다.
0
- 가드 하단으로 전환
1
- 가드 중단으로 전환
[
{
"id": 1,
"skill_id": 1
},
{
"id": 1,
"skill_id": 2
},
{
"id": 1,
"skill_id": 0,
"meta": 1,
},
{
"id": 2,
"skill_id": 1
},
{
"id": 2,
"skill_id": 2
},
{
"id": 1,
"skill_id": 0,
"meta": 0,
},
{
"id": 3,
"skill_id": 1
},
{
"id": 3,
"skill_id": 2
},
{
"id": 1,
"skill_id": 0,
"meta": 1,
},
{
"id": 4,
"skill_id": 1
},
{
"id": 4,
"skill_id": 2
},
{
"id": 5,
"skill_id": 1
},
{
"id": 5,
"skill_id": 2
}
]
- 결과에 따라 부족한 부분을 파악하여 커맨드를 수정해나갑니다.
해당 문서는 내부 노션 문서를 그대로 Readme로 옮겼습니다.
사용한 asset은 다음과 같습니다.