#09. ACABattleShip - 모듈시스템
그동안 티스토리 업데이트를 너무 안했더니 분량이 많네요.!
▲ 3연장을 이렇게도 올릴 수 있겠지만 주포는 아니고, 나중에 프로토타입으로 출현할 예정이에요. ( 개틀링이 아니에요 )
▲ 모듈화 작업 완료된 모습이에요. 아래 빨갛게 이쁘게 들어간건 SuperHE 탄!
▲ 인터넷에서 주은 텍스쳐의 저부분이 밋밋한 것 같아요. 노말맵을 좀 먹이면 이뻐질 것 같지만... 사실 전투가 시작되면 저런거 보이지도 않지요!
▲ 아웃라인 셰이더를 먹이면 저렇게 되버려요 ㅠㅠ. 메쉬가 저렇게 떨어져있어서 아웃라인 느낌이 살지 않네용.. 제가 모델러가 아닌지라(다시 실드시전)
▲ 스토리지입니다! 이곳에 모듈을 보관하고 수리하고 업그레이드(미정) 할 수 있는 장소.
ㄴ 텍스처는 차근차근 제손으로 다 덮을거에요.
▲ 이곳이 바로 스토리지뷰입니다(!) 판매 / 수리가 가능한 말 그대로 창고!
▲ 사용되어지는 슬롯 갯수입니다. 버튼등을 통합해 슬롯 하나로 만들수도 있겠지만,
ㄴ 그 옵션으로 인해 슬롯 하나하나 무게가 실릴 것 같아 차라리 이렇게 분리합니다(!). 필요한 오브젝트만 존재하니 퍼포먼스는 나을 것 같네요!
▲ 이 게임의 핵심. 스테이지 시스템이에요. 퀘스트방식으로 진행되고, 의뢰를 받아 출정하는 방식이지요.
ㄴ 이 화면을 띄우기 위해 뒷작업이 오오올마나 많은지 생각하면 (...캄캄)
▲ 미사일 시스템이에요! 터치앤슛이 아닌 자동발사시스템이기에 큰 스릴은 없을거같아요.
ㄴ "발사합니까 함장님?", "좋아. 발사해!", "발사~~~~" 의 느낌은 없지요 (!)
▲ 드디어 울 랑글린에도 AAGUN 모듈이 붙었네요.
ㄴ 사실 AAModule이 나중에 개발된지라 이제 붙은 모듈(!)
▲ AAModule의 기본 AAGun 12mm 대공포.
ㄴ 인게임에서는 이 2연장만을 인식해 간소화한 대공사격을 실시합니다. 퍼포먼스나 이것저것 고려. ( 우두두두는 없어요! )
▲ 미사일 MM-120 입니다. 강력한 화력과 화재율을 가지고 있지만 AAGun에 무참히 폭사되는 미사일이지요.
ㄴ 상대의 AAModule들이 파괴되거나 제기능을 못하고.. 대공엄호가 없다면 그 배들은 그대로 바다에 가라앉을거에요.
▲ 파밍의 핵심. 아이템루팅 시스템이에요. 해당 아이템에 근접해서 정지해 있어야만 수거가 진행되고, 완전히 수거가 되어야 바다에 떠있는 아이템을
ㄴ 내 스토리지로 옮길 수 있지요.
ㄴ 이 파밍의 핵심 시스템으로 인해 머뭇거리는 플레이어쉽을 노려 적들의 추가공격 ( 증원 )이 이루어지는 시스템이랍니다.
▲ 모듈시스템의 UI. 한눈에 알아보기 불편하시죠?
▲ 막대기로 바꾼 뒤 훨씬 보기 편해진 모습이에요.
이 UI에 들어가는 로직들을 조금 소개해드릴께요.
아래의 빈공간 스페이스를 가지고 텍스트는 한줄 넘어갑니다.
이렇게 아래로 내려간 뒤 그 아래는 원형이므로 반대로 올라가면서 빈공간을 채워주면 되는 로직이지요.
암산으로 하면 좋겠지만, 102x492를 트라첸버그 암산법을 쓰지 않는 한 종이에 풀어내는게 정확하고 시간을 절약할 수 있지요.
풀어보면 아래와 같습니다.
▲ 코드에 적용하면 요렇게 됩니다 (!)
※ i가 0 1 2 3 4 5일때는 결과가 0 1 2 3 4 5... 로 같이 올라가다가,
※ i가 6 7 8 9..로 갈때는 결과가 5 4 3 2.. 이런식으로 반대로 내려가는 형식이므로 위같은 코드가 작성됩니다.
▲ 생각보다 모듈갯수가 너무 우글대서 폰트사이즈도 줄이고 최종 공백을 넣은 화면.
▲ 이뿌게 색상도 넣어줍니다.
▲ 나중에는 모듈명만 넣는게 차라리 알아보기 편한 것 같더라구요. 플레이어는 저 HP바의 갯수를 보고 이게 무슨모듈인지 대충 예상을 할 수 있을거에요.
구축함A급과 에어베이스A급의 모듈화면.
항공모함은 앞으로도 비행체가 모듈을 차지할텐데 큰일이네용..
D6 모듈을 강제로 제외해야할 것 같네요 ㅠㅠ
아래는 영상입니다.
▲ 모듈 스토리지 화면의 수리장면
▲ 배틀쉽A급의 MM-120 x 8 세트의 위용.
MM-120 미사일 날아가는 부분의 구현은 참 재밌게 구현했답니다.
1) 처음 미사일이 사일로에서 날아갈때는 미사일 덮개가 개방됩니다.
2) 미사일이 발사되면서 AirUnit 리스트에 등록이 됩니다. -> 즉, 상대방의 대공레이더에 관측되어 대공사격대상이 될 수 있습니다.
3) 최초 날아가는 미사일은 안정날개가 펼쳐지지 않았기 때문에 랜덤한 위치로 추력이 발생하게됩니다.
※ 그 결과 그 미사일은 바다로 직행할 수 있습니다. ( 물론 내가쏜 미사일을 내가맞을수도 있습니다 달달... )
4) 날개안정기는 서서히 펴지며, 완전히 펴지면 제대로 된 유도력을 가지고 적쉽의 윗쪽을 향해 날아갑니다.
5) 추력은 서서히 증가하며, 특정추력에 달하면 유지합니다.
6) 회전력은 서서히 증가하며 5)와 동일합니다.
7) 폭파되지 않은 미사일은 적 근처에 접근하면 적 상공까지 유도하던 유도점은 적 배로 유도점이 고정되어 배로 직접 날아가 터집니다.
발사가 완료된 사일로는 덮개가 3초 후 닫힙니다.
다음에도 좀 더 완성도있게 만들어 찾아뵐께요^ㅡ^〃
#ACABerry copyrights all reserved <2018>
이 포스팅의 제작물은 재가공 및 상업용도로 사용하실 수 없어요.
모든 저작권은 ACABerry에게 있답니다.
개인보관용도는 상관없습니당 'ㅡ'〃
'`2017 > BattleShip' 카테고리의 다른 글
#10. ACABattleShip - ZOOM, HELI AI (2) | 2018.07.21 |
---|---|
#08. ACABattleShip - 도크시스템 (0) | 2018.05.14 |
#07. ACABattleShip - UIresize/버프/호밍/풀/최적화... (0) | 2018.03.19 |
#07. ACABattleShip - 간판소녀 [슈슈] (2) | 2018.02.08 |
#06. ACABattleShip - 워터스플래시 이펙트 (0) | 2018.02.01 |