본문 바로가기

스크래치/스크래치 디펜스8

스크래치로 팔라독 같은 게임 만들기- 8. 캐릭터 애니메이션 추가(끝) 안녕하세요. 승승이 입니다. 지금까지 모든 뼈대를 만들었습니다. 이제는 살을 이어 붙일 시간이네요. 게임에서 어지간히 중요한 기능을 만들면 이제 없어도 되는 그러한 부가적인 것들을 추가해야합니다.그 중 하나가 애니메이션입니다. 오히려 프로그래밍의 외적으로 많은 시간을 들이게 되서 개인적으로는 이 부분이 시간도 너무 많이 먹고 진행도 주춤하게 되는 요인이 되어서 좀 더 효율적으로 그래픽 작업하는 방법도 연구가 필요할 거 같습니다. 이 프로젝트에서는 애니메이션에 많은 투자를 안하고 간단하게 2개 모션만 사용해서 만들어 볼까 합니다. 이동모션이나 공격모션이 그림이 2장만 사용하는 것입니다. 이 모션들은 여러 개 만들수록 더욱 부드러워지고 퀄리티가 좋아지겠지만 그만큼 작업량이 많아질 것입니다. 애니메이션에 사용.. 2017. 11. 10.
스크래치로 팔라독 같은 게임 만들기- 7. 체력바 시스템 안녕하세요. 승승이입니다.hp를 만들어 봅시다. 새로운 스프라이트 하나 만듭니다.스프라이트를 만들고, hp바의 모양은 0부터 100까지 11단계로 만들었고, 크기는 10x3의 크기로 좀 작게 만들었습니다. 만드는건 그림판으로 도트 찍어 만들어서 사용하였습니다.깃발을 누르면 원본은 숨겨주시고 초기화 할 명령어를 별도로 만듭니다. 각 체력바들은 번호를 부여 받아야 하는데, 그 변수를 @HP번호 로 명명하여 사용합니다. @복제됨 변수는 복제된 개체와 원본을 구별하기 위해 사용합니다. 방송하기를 사용하면 반드시 복제된 개체들이 수행되지 않도록 @복제됨 의 변수를 따져서원본만이 수행하도록 합니다. @HP번호 를 증가시키면서 복제합니다. 복제가 되면 @복제됨 변수를 1로 놓고,y좌표를 정해주는것은 hp바가 여러 개.. 2017. 11. 6.
스크래치로 팔라독 같은 게임 만들기- 6. 공격시스템 안녕하세요. 승승이입니다.이제 공격시스템을 만들어야 하는데요,어떻게 만들어야 할지 정리부터 해보겠습니다.1. 적이 공격범위안에 들어감 (공격모드)2. 공격 개체 리스트를 생성(x위치, 공격력, 공격범위)3. @딜레이를 추가함4. @딜레이가 0이될때까지 -1을 함, @딜레이 가 0이되어야 공격가능그러면 피격시스템도 같이 만들어야 하는데요1. 공격개체 리스트에서 자신의 위치와 범위가 얼마나 되는지 확인2. 자신이 해당 범위 안에 들어오면 데미지 받음3. 데미지를 받으면 해당 리스트를 삭제함 버그가 있을 가능성이 있지만 이정도로 정리해볼까 합니다. 6.1 공격시스템- 적의 공격리스트 생성공격을 하면 조건(@공격함=1, @공격딜레이=0)이 부합하면 공격하기 위한 리스트에 추가합니다. 공격딜레이가 0이 아니면 -.. 2017. 11. 6.
스크래치로 팔라독 같은 게임 만들기- 5. 기본 스텟 만들기 안녕하세요. 승승이입니다.이제 유닛의 기본적으로 필요한 몇가지 사항을 만들어 볼까 합니다.유닛의 기본적으로 1. hp2. 공격력3. 방어력4. 이동속도5. 공격속도6. 공격범위이정도 되겠네요. 혹시나 더 있다면 스킬이라던지, 회피율이라던지 그런게 있겠네요. 캐릭터에 따라서 공격력이 쎈 것도 있고 hp가 쎈 것도 있고 그럴 겁니다.그래서 스텟들을 구분하였는데요, 일단 캐릭터 1의 스텟을 다음과 같이 만든다고 가정합시다. 1. hp: 1002. 공격력: 103. 방어력: 04. 이동속도: 35. 공격속도: 5 6. 공격범위: 10 이와 같은 데이터를 따로 정리하기 위해서 db스프라이트를 만들어 줍니다. db스프라이트들은 미리미리 정해둘 데이터들을 저장할 공간으로 사용할 예정입니다. 캐릭터 1에 대한 스텟을 .. 2017. 11. 3.
스크래치로 팔라독 같은 게임 만들기- 4. 이동 조건 만들기 안녕하세요. 승승이입니다.캐릭터가 이동하는 조건을 만들어서 이동할지 안할지 결정해줍니다.앞에 적이 없다면 이동, 적이 있다면 멈춰서 싸우겠죠?즉, 적이 앞에 있냐 없냐를 판단해 주는것이 이번에 만들고자 하는 내용입니다. 이제 이동조건에 @공격함 을 넣습니다. 상대가 공격범위에 들어가면 @공격함 을 수행합니다.공격할지 이동할지의 조건도 만들어 주는데요,이동조건은 아군유닛의 모든 x좌표와 비교해서 그 차가0보다 작고 (유닛이 0보다 왼쪽에 있고)-10보다 크면 (-10보다 오른쪽에 있으면) 공격하는 것으로 만듭니다. 아군도 동일하게 만들어 줍니다. 단지, 공격범위 대상이 좌우대칭하는 조건으로만 바꿔주면 됩니다. 이걸 깜빡했는데, 여러번 수행하는 블록들은 ‘화면 새로고침없이 실행하기'가 필수입니다. 이제 유닛.. 2017. 11. 1.
스크래치로 팔라독 같은 게임 만들기- 3. 적 스프라이트 만들기 안녕하세요. 승승이입니다.적유닛은 플레이어 유닛과 싸우는 인공지능 탑재한 개체입니다.하지만 플레이어와 다른 점은 컴퓨터가 움직인다는 것 뿐이고 나머지는 같습니다.적 유닛은 사실 아군 유닛을 많이 만들고 난 다음에 스프라이트 복제하여 사용하는 것이 좋은데요,일단 이동 조건을 수행시키기 위해서 적을 만들어 줍니다. 적은 지금까지 만든 아군 유닛 스프라이트를 복제합니다. 여기서 햇갈리지 않게 명령문의 이름을 바꿨습니다.바꿔주어야 할 부분은 가장 먼저 ‘전역변수'의 이름인데요, 아직은 단 한개뿐이 사용을 안했으니 그다지 복잡하지 않네요. 적은 적이 사용하는 위치 리스트를 만들어서 바꿔주면 됩니다. 적도 똑같이 어떤 규칙에 의해 소환된다면, 오른쪽에서 왼쪽으로 이동하게 만들어 줍니다. 일단 아래와 같이 반대쪽에서.. 2017. 10. 31.
스크래치로 팔라독 같은 게임 만들기- 2. 복제 유닛 기본설정 안녕하세요. 승승이입니다.이번에는 복제된 유닛들이 알아서 움직이게 하는 것입니다.소환된 유닛은 알아서 움직이게 해야합니다. 일단 이동을 하는 명령어를 만들어 보도록합니다. 복제되면 이동을 수행시킵니다. 이동속도는 무엇이 될지 모르겠지만 일단 1로 해봅니다. 소환하는대로 오른쪽으로 쭉~ 갑니다. 이것은 적의 위치가 닿을 때까지 이동시켜야 하는데요, 적의 위치를 나타내기 전에 자신의 위치를 나타내기 위한 시스템을 만들어야 합니다. 2.2 유닛 기본 시스템-번호복제된 개체들이 여러개일 경우에는 고유 번호를 만들어 주어야 따로따로 구분하기 쉽습니다. 따라서 번호를 넣어주어야 하는데요,@번호 변수를 만들어서 원본이 0으로 초기화 시켜주고소환할 때 @번호 가 1만큼씩 증가시켜서 자신의 번호를 부여합니다. 이렇게 순.. 2017. 10. 31.
스크래치로 팔라독 같은 게임 만들기- 1. 스프라이트 복제 안녕하세요. 승승이입니다.스크래치로 팔라독과 유사한 게임을 만드는 프로젝트를 만드는 강좌를 올려볼까 합니다. 팔라독이라는 게임을 아시나요?그것과 비슷한 게임을 만드는 것이 프로젝트의 목표입니다.무엇부터 해볼까요?일단 게임의 가장 큰 특성을 파악해봅시다. 1. 유저가 유닛을 소환하면2. 소환된 유닛은 앞으로 가고3. 상대방이 범위 내에 있으면 공격4. 자신이 죽으면 사망처리5. 상대가 없으면 계속 이동6. 상대방 기지를 파괴하면 승리 아직 완성은 안됬지만 작성중인 프로젝트를 미리 보고 싶다면 아래 링크를 확인해주시기 바랍니다.https://scratch.mit.edu/projects/181091765/ 이정도가 되겠네요.물론 더 자세하게 쓴다면 여러가지 룰을 더 파악해야겠지만 일단 만들면서 무엇이 필요할지.. 2017. 10. 31.