꽤 넓은 맵에서, 전투를 자주 발생시키기 위해서 그냥 단순히 몹을 많이 소환하면 되겠지만, 이 경우에는 조절을 조금 잘못하면 진짜 끊임없이 전투가 발생하고 존나 피로해지는 문제가 발생함...
그래서, 몹 수는 줄이는 대신 전투의 밀도를 높이기 위해서 구역 시스템을 기획함...
이런 식으로 맵의 구역을 에디터상에서만 보이는 타일맵을 통해 나누어줌
흰색은 도로 부분으로, 구역으로 취급되지 않고, 적 스폰을 좀 줄여서 어쩌다가 한 두 개체 정도를 만나는 수준으로 만들것이며, 이 도로에서는 무한히 적이 스폰됨.
나머지 색칠한 부분은 모두 구역이고, 여기서는 사전에 내가 랜덤한 4~5 개체가 배정된 분대 편성 몇가지를 넣고, 스폰시킬 예정.
게임의 모든 루팅 포인트는 구역 안에 밀집되어있고, 따라서 플레이어는 구역으로 들어가서 전투를 시행, 그리고 안의 재료들을 파밍하는 형태로 플레이하게 될거임.
이렇게 되면 도로에서는 간간히 적을 마주하다가, 마음에 드는 파밍 포인트로 들어가 조금 더 어려운 전투를 시행하고, 안에 있는 재료들을 파밍하는 형태가 되겠지? 모든 구역을 파밍할 필요는 없겠지만, 많은 로그라이크/트에서 등장하는 일종의 "노드" 시스템처럼 작동하게 될거임.
코드는 대충 이런 식으로 짰음. 의도한 동작은 아래와 같음
1. 턴 종료시 클리어가 되지 않은 구역에 플레이어의 유닛이 한명이라도 들어가 있을 시, 해당 구역을 다음 작전 구역으로 설정
2. 작전 구역이 활성화 될 때 까지 3턴의 유예가 있으며, 3턴의 유예 후에는 구역 밖의 모든 플레이어 유닛의 체력이 턴당 1 감소함.
3. 아직 구현되지는 않았지만, 작전 구역의 모든 적을 섬멸하면, 작전 구역 해제.
위의 코드를 실행 시켜보면 실제로 아래처럼 동작함
우측의 슬라임이 구역 안에 들어있는채 턴이 종료되어서, 구역의 외곽선 부분에 구역을 알리기 위한 주황색 + 보라색의 선이 표시되기 시작. + 왼쪽 아래에 3턴 이내에 구역으로 들어가라는 알림
이렇게 3턴동안 안들어가고 밖에서 뻐기면 매 턴 피해를 입히고
구역 안에 있던 유닛이 나가도 피해를 입음
이런 식으로 애초에 구역에 안 걸치면, 작전 구역이 안생기는것도 확인 가능함
이제 이 구역마다 적을 배정하고, 해당 구역이 클리어 되었는지 확인하는 시스템을 만들어야한다...
이거 롤코타4인가요
어케햇누