adsense



탄막(?) 구현 테스트

난사
서클 갭
서큘레이션
멀티웨이

...탄막 게임으로 만들 생각은 아닌데 구현하다보니 재밌어져서..



덧글

  • 안녕하세요 2013/12/06 23:43 # 삭제 답글

    슈팅게임 만들고 있는 사람인데요
    난사랑 서클갭 소스가 어떻게 되는지 궁금한데 알려주실수 있나요?
    가능하시면 lll158@naver.com으로 부탁드립니다
  • 펭귄대왕 2013/12/07 06:49 #

    일단 총알을 360도, 원하는 degree로 발사할 수 있도록 총알 처리가 가능해야 합니다.

    http://icegeo.egloos.com/183632
    여기서 소개하는 소스에 총알을 원하는 degree로 발사하는 방법이 있습니다. (Bullet 객체를 생성할 때, 발사각과 탄속을 넣어주면 해당 각도와 속도로 탄의 위치를 변화시켜줍니다)
    그러고 나서,

    난사는 일정 범위 내의 랜덤값으로 degree를 주면 간단하고.

    서클갭은 한 번에 360도 전방향으로 탄을 쏘는데, 이때 발사할 때마다 지정 위치의 각도만 쏘지 않게 하면 됩니다.
    예를 들면 10프레임에 한 번 아래와 같은 발사 명령을 호출한다고 가정합니다. (cnt는 매 프레임마다 1씩 증가하는 값)

    for(int i=0;i<360;i++8){//8도마다 1발씩이니까 한 번에 45발이 발사된다
    if( (cnt/10)%45==(i/8)) continue;
    //i 방향으로 총알 발사
    }

    해설하자면, cnt가 10일 때 호출되면 (cnt/10)%45는 1 이므로 i/8==1 이면(i는 8) 총알을 쏘지 않고 건너 뜁니다.
    다음에 발사명령이 호출될 때는 cnt가 20입니다. 그럼 (cnt/10)%45는 2 이므로 i/8==2 일 때(i는 16) 총알을 쏘지 않고 건너 뜁니다.
    다음엔 i가 24일 때, 32일 때, 40일 때.. 이렇게 호출될 때마다 다음 각도의 총알 한 발을 쏘지 않습니다.

    즉, 총알을 생성할 때마다 순번대로 순환하는 특정 각도의 총알 한 발을 쏘지 않아 빈틈을 만들어주는 것입니다.

    여러가지 탄 발사 방법을 소개한 책으로 '탄막-최강의 슈팅게임을 만들자' 라는 일본책이 있습니다.
    게임 매니악스 슈팅게임 알고리즘의 후속권 격인데, 아직 번역서는 나오지 않았지만 조만간 나올 것으로 알고 있습니다.
    이 책에 다양한 탄막 구현 방법이 소개되고 있으므로 한 번 참고해보시면 좋겠습니다.
댓글 입력 영역


Books

Geek라이프

게임 매니악스 슈팅 게임 알고리즘
마츠우라 켄이치로,츠카사 유키 공저/손정도 역/박민근,Pope Kim 감수

게임 매니악스 퍼즐 게임 알고리즘
마츠우라 켄이치로,츠카사 유키 공저/김병국 역

핵심강좌! Cocos2d-x
이재환 저

될 수 있어! SE 13
나츠미 코지 저/Ixy 그림/김경훈 역
예스24 | 애드온2