[Unity] 에셋번들 사이즈 줄이기

부제: Assetbundle dependecy를 개선하여 에셋번들 사이즈 줄이기 Unity로 게임 개발을 하다보면 리소스(프리팹, 텍스쳐, 애니매이션, 메터리얼 등)를 대부분 assetbundle로 분리하여 관리하게 된다.  특히, 개발 기간동안 리소스가 점점 많아지게 되면  assetbundle이 중복된 리소스를 포함하는 경우가 생기는데, 이를 정리하는 것은 쉽지 않은 일이다.  중복된 리소스는 어떻게 하면 생기게 되는지, 그리고 어떻게 개선할 수…

[C++] Simple Message Bus

This is about messaging system between components.  I mean that components are like sub-systems.  You can split systems into UI, Sound, Rendering, InGame, etc.  Or it can be more contents like Control, Inventory, Costume, Shop system, etc.  Whatever they are, they need to communicate each other by user inputs or…

[Android] 롤리팝 크래시 원인 / 메모리 관리 방식

부제: Android Lollipop Memory Bug 게임 개발을 하다보면 보통 인 게임과 아웃 게임으로 나뉘어서 리소스를 제어할 때가 많다. 아웃 게임이라고 하면 게임 코어요소를 제외한 로비나 상점, 인벤토리 같은 것을 말하고, 인 게임은 그 외에 게임의 코어한 요소(전투같은..)를 다루게 된다.  그래서 가끔 아웃 게임의 리소스를 메모리에 잔뜩 들고 있는 상태에서 인 게임에…

나에게 적합한 UML툴

나에게 적합한 UML툴을 찾는 것은 언제나 쉽지 않은 일이었다.  내가 원하는 기능이나 뷰나 느낌이나 모 그런 개인적인 것들을 툴이 모두 만족시켜줄 리가 없기 때문이다.  그렇다고 모든 UML툴을 다 써볼 수는 없는 것이고, 제한적으로 검색에 의해 혹은 랜덤하게 선택하여 혹은 회사에서 공통적으로 사용하여 (이런경우는 거의 없긴했다.) 경험하게 됐는데, IDE처럼 매일 사용하는…

[iOS] imageIO_PNG_Data가 메모리에 상주하고 있는 이유

iOS 12버젼이 나오면서 메모리가 늘어났다는 얘기가 나와서 프로파일링을 해보았다.  여기서는 메모리가 OS업그레이드에 따라 올랐다는 내용을 다루려는 것은 아니고, 프로파일링하는 도중에 만난  imageIO_PNG_Data에 대한 이야기이다. 사용 중인 Unity버젼은 2017.4.3f1이고, 이후 버젼에 대해서는 테스트해보지 않았다. 아래의 그림은 XCode의 instrument (Allocation) 툴을 실행하여 메모리가 얼마나 사용중인지 확인중인 화면이다. (XCode의 메뉴에서 Open Developer Tool >…