3줄 요약
1. int는 정수형을 표현할 수 있지만 8비트
2. bool은 true, false 밖에 표현할 수 없지만 1비트
3. 용도에 따라 잘 사용하면 파라미터 절약에 좋음
SDK 3.0 들어오면서 16개의 파라미터 제한이 128비트의 메모리 제한으로 바뀌었음
int와 float은 8비트
bool은 1비트
생각보다 어려운 개념 아니고
쓰기에 따라 파라미터 절약에 존나 좋음
int가 정수(1,2,3,4,5...같은거)를 사용 가능하고
float은 소수 (0.1,0.2,0.3,0.5...같은거)를 아용 가능하고
bool은 딱 켜기(true) 끄기(false) 밖에 사용 못함
다만 int,float은 8비트라 얘네들로만 이루어진 파라미터를 짜면 16개 밖에 만들지 못함
그런데 bool은 1비트만 사용하기에 bool로만 파라미터를 짜면 128개를 만들 수 있음
이렇게 보면 "bool로만 짜면 존나 좋은거 아니야?" 할 수 있겠지만 그렇지만은 않아...
일단 설명은 int와 bool로만 진행하겠음
float의 경우 소수점을 사용하는 기능이 아니면 쓸 일이 잘 없을테니까 ㅇㅇ
ex) 색 변경 등...
우리가 만약에 오른손에 무언가를 토글하는 기능을 만든다고 보자
대부분 갤럼들이 이렇게 쓸텐데 이렇게 8비트를 가진 int하나 가지고 9개의 기능을 만들 수 있어
이후에 다른 토글을 추가한다고 해도 8비트 하나 가지고도 많은 걸 추가할 수 있지
근데 bool은 true false 밖에 안된다고 했잖아?
그러니까 bool로 이루어진 파라미터 9개를 만들어야 해
근데 이렇게 해두니까 int보다 나은게 하나도 없어
트랜지션 조건 짜는 것도 귀찮게 됐고 파라미터가 너무 많아져서 관리도 힘들어졌어
그리고 중요한건 위의 int는 8비트 하나로 9개의 기능을 만들었는데 여긴 9개를 만드니까 9비트가 되버렸어
만약에 저기서 다른 토글이 추가한다면 그 토글만큼 추가되겠지?
즉 1비트라는 장점이 무색하게 되버렸어
그러면 이딴 놈을 어따가 쓰느냐
이번엔 상의와 하의를 벗고 입을 수 있는 토글을 만든다고 보자
bool 두개 있으니 2비트 밖에 필요없고 간단하게 끝나지?
근데 int로만 만드니까 파라미터 두개인건 똑같은데
8비트 두개를 쓰니까 16비트가 되버렸어
지금은 상의 하의만 있지만 만약에 스타킹, 신발, 장신구 같은걸 토글한다고 하면 배로 늘어나겠지
물론 int 하나로 어떻게 노력해서 하나씩만 벗기게 만들 수 있겠지만 그러면 굉장히 복잡해지겠지?
그러니까 모두 int와 bool을 잘 조합해서 재밌는 캐릭터를 만들어보자