#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에게 있답니다.

개인보관용도는 상관없습니당 'ㅡ'〃


반응형

+ Recent posts