게임 만드는 구조에 관한 질문인데

아래와 같은 메인 루프가 있으면
GameLoop
{
    if( 충돌 )
    {
         꽝;
    }
}

게임에서는 꽝 한다고 그 객체를 바로 소멸 시킬 순 없잖아. 그 과정을 사람이 봐야되기 때문에

sprite 여러개를 붙이든 투명도를 낮추든, 뭔가 서서히 변하면서 없어져야 하잖아.

여기서 질문이 생기는데

크게 두가지로 구현을 할 수 있잖아

GameLoop
{
    if( 충돌 )
    {
         꽝;
    }
    if(꽝 했는가)
    {
          서서히 사라지는 에니메이션코드;
          주절 주절 주절 주절;
          sdfasdf;
          fdafadf;
    }
}


이 방법과

GameLoop
{
    if( 충돌 )
    {
         꽝; // 
         소멸시키는 에니메이션을 위한 쓰레드 생성;
    }
}

newThread
{
      소멸 처리;
}

이렇게 크게 나누면 대충 이렇게 되는데... 또 거시기 한게. 쓰레드로 넘긴다고 해도 실제 게임에서 여러개의 쓰레드가 만들어질텐데
쓰레드를 어떻게 관리 하느냐... 그리고 어느 객체인지 어떻게 받을것이냐, 등등의 문제가 있을거잖아. (windows 같은 경우엔 LPVOID 로 오지만, 그러한 방법론을 묻는게 아냐.)

각 scene 마다 gameloop 가 있는 상태인데 지금.
전체적인 게임구조에 대한 공부를 하고 싶어. 가장 좋은 방법은 탄탄한 게임엔진을 하나 두고 분석하는건데 그건 너무 지금 현실성 없고 ㅡㅜ

동생 가르친다 치고 댓글좀 냄겨줘~~ 추천서적도 괜찮고 추천문서도 좋고...