본문 바로가기

스크래치27

쿠키런 같은 게임 만들기 3. 지형만들기 이번 포스팅에서는 지형을 만들고 인식하도록 합니다. 다른 제작과정보다 상당히 난이도가 높은 부분입니다. 어디부터 손을 대야 할지 난간할 수 있습니다. 저도 이걸 만드는데 어디부터 설명을 하고 만들어야 하나 좀 고민을 했어야 했습니다. 일단 순서는 1. 땅을 만들어서 2. 인식하는 것입니다. 1. 땅 만들어 주기 일단 지형을 만들어 줄 스프라이트들을 만듭니다. 바로 이 검정색 막대기는 지형을 만들어 줍니다. 여기서 1이면 땅이고 0이면 공중으로 만들어 줍니다. 따라서 맵은 11110111... 이런식으로 숫자의 배열로 되고, 이걸 순서대로 땅으로 채워주면서 만드는 것이 이번 스크립트 제작의 목표가 됩니다. 땅을 만들어 주는 스크립트는 위와 같이 됩니다. 땅은 자신의 크기와 위치에 맞게 복제가 되고 자신의 .. 2017. 12. 10.
쿠키런 같은 게임 만들기 2. 함정 만들기 이번에는 고양이가 피해야 할 장애물을 만들어 봅니다. 장애물의 모양은 여러가지가 있겠지만 일단 그리기 귀찮으니 공모양의 스프라이트로 시작해 볼까 합니다. 추가적으로 '스테이지'라는 스프라이트도 추가했는데 이것은 장애물이나 지형을 순차적으로 만들어 줄 스프라이트입니다. 현재는 장애물 만들어 주기 위한 용도로만 사용할 것입니다. '트랩' 스프라이트는 여러 개를 사용하기 때문에 복제하여 사용됩니다. 트랩은 복제해서 사용하기 때문에 초기값으로는 '숨기기'와 복제된 개체와 구별하기 위한 변수를 초기값을 결정해 줍니다.그리고 무한 반복속에서 트랩을 만들어 주는 요청을 하면 트랩의 특성을 결정해주는 지역변수 @trap_type을 결정해주고 복제하기 해줍니다.리스트를 삭제해 줌으로써 복수의 트랩이 만들어지지 않도록 합.. 2017. 12. 5.
쿠키런 같은 게임 만들기 1. 기본 캐릭터 만들기 안녕하세요. 승승이 입니다. 이번에 만들 프로젝트는 '쿠키런 같은 게임 만들기'입니다. 만들고자 하는 게임의 유형은 장애물을 회피하고, 아이템을 먹으면서 달리는 게임류입니다. 해당 프로젝트를 만들면 이런 모습이 될 것입니다. 이것도 일종의 미니게임으로 하드코어하게 만들거나 해도 될 거 같네요. 게임을 만들기 전에 어떻게 만들지 정리해봅니다. 1. 캐릭터- 캐릭터는 아이템을 먹거나 장애물을 피할 수 있어야 합니다. 점프와 지면의 인식이 핵심적인 부분입니다.2. 장애물- 장애물이 캐릭터에 닿으면 게임이 끝납니다. 돌이나 가시같은 장애물과 웅덩이와 같은 낙사용 장애물, 새와 같이 공중에 있는 장애물로 3가지정도가 있습니다.3. 아이템- 아이템은 기본적으로 동전과 같이 점수 획득용이 있고, 속도가 빨라지거나 무.. 2017. 12. 4.
똥피하기 게임 만들기 4. 아이템 만들기(끝) 안녕하세요. 승승이 입니다. 똥피하기의 마지막으로 아이템을 만들어 보겠습니다.아이템은 몇초에 한번씩 떨어지게 하고, 그 아이템을 먹으면 좋은 효과를 발생하도록 하는 것으로 만들 예정입니다.그래서 생각해봐야 할 것은 아이템을 먹으면 어떤 효과를 나게 할 것인지 정리해봐야 하는데요, 일단 생각해 둔 기능들은 다음과 같습니다. 1. 멈추기2. 속도 느려지게 하기3. 모두 사라지기4. 똥을 모두 작아지게하기 4가지정도면 적당할 것 같네요. 그 외의 복잡한 기능들에 대한 아이디어가 있다면 한번 만들어 보는 것도 좋습니다. 이제 아이템을 만들어 보는데, 스프라이트를 새로 만들어서 아이템으로 정하도록 합니다. 아이템은 게임이 시작하면 주기적으로 '복제하기'를 통해 만들어 냅니다. 메인 함수들은 위와 같습니다. ite.. 2017. 11. 25.
똥피하기 게임 만들기 3. 난이도 만들기 안녕하세요. 승승이 입니다. 이제 게임의 재미의 요소로 난이도의 증가 설정 및 아이템이나 다른 기타 여러가지의 이벤트 발생을 추가적으로 만들어 볼까 합니다.이전까지는 기본적으로 간단하게 똥피하기를 만들었다면, 여기부터는 제작자의 창의성이 요구되는 부분입니다. 즉, 난이도를 어느정도로 설정할까, 아이템은 어떻게 만들까 등등이 될 것입니다. 난이도는 제작자와 테스터들이 계속해서 플레이 하면서 적당한 난이도를 만들어 줘야 하기 때문에 어떻게 만드느냐는 제작자의 몫입니다. 가장 좋은 것은 처음에는 쉽다가 서서히 어려워지면서 플레이어의 도전정신을 자극하는 것이 좋습니다. 처음부터 어려우면 재미가 없고, 후반까지 쉬우면 게임을 공략하는 재미가 반감될 것입니다. 이런 똥피하기 류의 미니게임류는 플레이 시간이 1분 수.. 2017. 11. 21.
똥피하기 게임 만들기 2. 충돌처리(~에 닿았는가), 사망처리 안녕하세요. 승승이 입니다. 지난번에 만든 똥피하기에서 똥을 맞았을 때 캐릭터의 게임오버, 그리고 똥이 바닥에 들어가면 사라지기 등등의 게임의 기본적인 틀을 이어서 만들어갈 예정입니다.게임의 요소중에서 가장 기본적인 틀 들을 만들 것인데요, 게임의 규칙과 게임오버 조건 등을 만들어 볼 수 있습니다. 이번 똥피하기 게임에서 가장 중요한 룰은 똥에 맞지 않는 것입니다. 이전 포스팅에서는 단순히 똥을 만들어 내서 떨어진다면 여기서는 그 똥을 맞으면 게임 오버가 되는 것이 핵심 요소가 됩니다. 그래서 똥에 닿았는가 아닌가를 판단하는 것이 중요한데, 게임을 단순하게 만들기위해서 일단 가장 간단한 방법으로 소개하기로 하였습니다. 1. 똥의 충돌 처리일단 똥이 캐릭터에 맞았을 때를 판단해야 하는데요, 일단 블록중에 .. 2017. 11. 20.
스크래치로 물리실험하기-7. 물체의 충돌 구현 안녕하세요. 승승이입니다.이번에는 약간의 상상력도 필요한 이야기입니다. 우리가 물체가 분자로 이루어져 있고 그 안에 원자로 구성되어 있고 더 나아가서는 더 작은 물질들로 이루어져 있다는 이야기는 상식으로 알고 있습니다. 그 물질들의 대부분의 공간은 빈 공간입니다. 그런데 빈 공간에서 어떻게 우리가 물체를 만지고 잡을 수 있을까요? 우리가 보고 있는 실체는 99%가 빈 공간이기 때문에 눈으로 보는 세상과 실제로 만지는 느낌들은 단순히 뇌에 자극으로 들어오는 것이고 실체가 없는건 아닌가 하는 이야기도 있습니다.과학적으로 보면 물체가 색을 가지는 것은 원자 껍데기에 있는 전자가 빛을 받아서 들뜬 상태로 되다가 다시 안정화 되면서 빛을 발산한 것을 눈으로 보기 때문입니다. 그러면 물체를 만지는 것은 어떻게 될까.. 2017. 11. 15.
스크래치로 물리실험하기-6. 두개의 인력 안녕하세요. 승승이입니다.이번에 스크래치로 실험할 이야기는 '인력'입니다.인력은 잡아당기는 힘인데, 중력도 있고 자기력도 있고 전기력도 있고 여러가지가 있기 때문에 무난하게 '인력'이라고 칭하고 시뮬레이션을 만들어 봅니다. 처음에는 2개에 대해서 잡아당기는 것을 만들 예정인데, 이것을 여러 개 만들어 볼까 합니다. 즉, 프로그램상에서 여러 개의 상호작용을 어떤식으로 구현하는게 좋을지 고민을 해볼 시간입니다. 먼저 2개의 물체만을 생각해봅시다. 여기서 각 물체의 번호를 n이라고 칭하고, 순서대로 1과 2인 물체를 생각합니다. 각각 작용하는 힘은 거리의 제곱의 반비례, 그 힘의 크기는 물체 질량 곱의 비례한다고 가정합니다. 네, 중력과 같은 공식입니다. 여기서 상수 kg는 임의로 사용하기로 합니다. 여러 개.. 2017. 11. 12.
스크래치로 팔라독 같은 게임 만들기- 8. 캐릭터 애니메이션 추가(끝) 안녕하세요. 승승이 입니다. 지금까지 모든 뼈대를 만들었습니다. 이제는 살을 이어 붙일 시간이네요. 게임에서 어지간히 중요한 기능을 만들면 이제 없어도 되는 그러한 부가적인 것들을 추가해야합니다.그 중 하나가 애니메이션입니다. 오히려 프로그래밍의 외적으로 많은 시간을 들이게 되서 개인적으로는 이 부분이 시간도 너무 많이 먹고 진행도 주춤하게 되는 요인이 되어서 좀 더 효율적으로 그래픽 작업하는 방법도 연구가 필요할 거 같습니다. 이 프로젝트에서는 애니메이션에 많은 투자를 안하고 간단하게 2개 모션만 사용해서 만들어 볼까 합니다. 이동모션이나 공격모션이 그림이 2장만 사용하는 것입니다. 이 모션들은 여러 개 만들수록 더욱 부드러워지고 퀄리티가 좋아지겠지만 그만큼 작업량이 많아질 것입니다. 애니메이션에 사용.. 2017. 11. 10.
스크래치로 물리실험하기-5. 두개의 물체의 스프링 작용 안녕하세요. 승승이입니다.스크래치로 물리실험하기 5번째입니다.이번에는 2개의 물체를 가지고 실험해보겠습니다. 지난 시간에는 매우 간단하게 영점(0,0)에 고정된 스프링에 대해서 질량 m의 물체를 적용하였습니다. 이번에 2개를 물체를 사용한다면 어떻게 해야 할까요? 각각의 물체에 적용하는 자신의 위치, 속도, 가속도를 각각 따로따로 계산을 하고, 단지 두개에 적용되는 힘을 서로 스프링의 힘으로 인해 반작용으로 작용시키면 됩니다. 물체를 각각 1번과 2번으로 정의해 봅니다. 여기서 외부힘을 가하는 공은 오로지 2번공이라고 가정합니다. 역시 좌우키를 누름에 따라서 외부힘은 왼쪽 또는 오른쪽으로 힘을 가하도록 되어 있습니다. 이 스프링이 늘어나는 길이를 x2-x1로 정하면 2번공에 가해지는 스프링 힘은 -k(x.. 2017. 11. 8.