분류 전체보기
-
(17) Json으로 배경색 조절 & 고정구체 배치Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 30. 17:48
(14) Json으로 스테이지에 적 배치하기전 글에서 올바르게 스테이지를 찾아간뒤, 현재 스테이지의 인덱스값(chooseStage)까지인게임창에 전달하는것을 성공했으니 이번에는 그 스테이지의 인덱스값을 이용하여 적 유닛을 배치해보겠다sangeun00.tistory.com사실상 이 글의 연장선이나 다름없고 이번엔 Json으로 배경색을 조절하고 고정구체까지 배치해보도록 하겠다 이것만 배치를 달리 해줘도 스테이지의 컨셉이나 느낌이 확확 달라질수 있다원래는 고정구체 요소들도 적 유닛처럼 내가 직접 하나하나 배치해주려 했으나, 아무리 생각해봐도 그건너무 효율성이 떨어져 차라리 미리 맵을 몇개 만들어놓은뒤 Json 아이디에 따라 미리 만들어놓은 스테이지를배치시키기로 했다 가장 기본 스테이지. 아무것도 배치시키지 않..
-
(16) 1차 스테이지맵 보완 및 완성Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 30. 15:39
플레이어가 맵을 돌아다니며 본인이 플레이할 스테이지를 고를수 있는 장소를 이제부터 스테이지맵이라고 하겠다스테이지맵은 스토리의 진행도에 따라 1차 스테이지맵과 2차 스테이지맵으로 나뉜다. 지금 보고 있는건 1차 스테이지맵으로 이번글에서는 1차 스테이지 맵을 완전히 완성시켜보도록 하겠다원래 튜토리얼용 씬이 따로 존재하긴 하지만 이 1차 맵까지가 튜토리얼의 연장선이었고1차맵이 끝나면 진짜 메인인 2차 스테이지 맵으로 전환하도록 하겠다 가장 먼저 대화 지문을 넘길때, 예전에는 지문이 전부 출력되어야만 클릭으로 넘길수 있었으나이제는 출력되고 있는 중간에 클릭시 출력중이던 지문이 전부 드러나게 되고거기서 한번더 클릭하면 다음 지문으로 넘어간다 텍스트를 출력하는 ShowText 스크립트에 bool타입 변수 isT..
-
(15) 일반보스 & 중간보스 제작Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 29. 18:00
지금까지는 일반 유닛들이었다면 지금부터는 보스급의 유닛을 만들어보려고 한다분류를 쉽게 하기 위해 보스급은 총 3종류로 나누었다 1. 일반보스 : 스테이지 중간중간에 가끔씩 보이는 보스. 공격형 유닛과 함께 배치될 수 있음2. 중간보스 : 모든 스테이지에서 2~3번 배치할 예정. 서포터형 유닛과 함깨 배치될 수 있음3. 최종보스 : 마지막 보스. 그 누구와도 함께 배치되지 않음 이번글에서 만들어볼것은 일반 보스이다 중간보스급부터는 여러 유닛의 능력이 섞여져 강해진거라면 일반보스는 한가지의 능력이 매우 강하다고 생각하면 되겠다말로하면 되게 이해하기 어려운데 지금부터 한번 만들어보겠다 일반보스는 총 4개, 중간보스는 2개로 계획중에 있고 최종보스는 스토리에 따라 제작방향이 달라질것 같으므로우선 보류한뒤 스토리..
-
(14) Json으로 스테이지에 적 배치하기Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 29. 15:28
전 글에서 올바르게 스테이지를 찾아간뒤, 현재 스테이지의 인덱스값(chooseStage)까지인게임창에 전달하는것을 성공했으니 이번에는 그 스테이지의 인덱스값을 이용하여 적 유닛을 배치해보겠다 적 배치 역시 Json을 사용할 예정이고, 예전에 한번 아주 간단하게 연습해본적이 있으나이번에는 실전이니 제대로 해보겠다 우선 Json 파일을 만드는데 쓸 엑셀 파일부터 만들어주겠다 이제 예전처럼 id, x, y만 달랑 적어놓고 단순하게 출력만 하지 않고 조금 더 구체적으로 작성하였다 id는 당연히 스테이지를 나타내는것이고, enemies/0/type은 1번째 생성될 적 유닛의 종류,그 뒤에오는 x,y는 생성될 위치값이다. 이렇게 한 사이클이 돌고나면 배열값에 1이 더해져 이것을 반복하게 된다.한 스테이지에 둘 이..
-
(13) Json으로 알맞는 스테이지창 불러오기Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 29. 02:04
이제 스테이지 선택씬에서 선택한 스테이지 번호에 알맞는 스테이지 정보를 출력하고해당 스테이지를 불러오려 한다 플레이어 공과 스테이지 구체가 닿으면 출력되는 UI인 StageBox이제 충돌이 일어날때 해당 스테이지에 맞춰 저 위의 번호가 바뀌도록 해볼것이다 우선 스테이지는 각자의 이름을 뒤에 붙는 번호로 구분해두었다. 그리고 이걸 이용할 예정이다스테이지 하나마다 태그를 달아줄순 없으니...스테이지의 이름으로 구별하여 StageBox를 출력해보자 우선 플레이어의 공을 담당하는 StageBallController에 chooseStage라는 int 타입 변수를 선언해주자굳이 또 이 코드에 변수를 추가하는 이유는스테이지 구체 하나하나마다 스크립트를 달아주는건 너무나도 비효율적이기 때문 그리고 충돌한 오브젝트의 ..
-
(12) 각종 수정 & 싱글플레이 패배조건 추가Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 23. 17:45
본론에 들어가기 전, 각종 사소한 수정부분을 기술하겠다 가장 먼저 게임을 개발하는 내내 느낀게 있다면 화면이 너무 비좁다는것이다. 만들어놓은 적 유닛만 14개인데 정작 플레이 화면에는 2~3개만 놓아도 꽉 차 보인다 그래서 원래는 카메라를 더 축소시켜야하나 생각했었는데 그럴게 아니라 모든 오브젝트들을전체적으로 더 작게 만들면 되는 일이었다 그래서 고정 구체도 작게 만들고 초소화 유닛을 제외한 모든 유닛의 크기를 0.7로 줄여주었다 아 드디어 숨이 트인다 이제 유닛들도 폰트사이즈를 조절할 수 있다. 총알 폰트사이즈는 해놓고 이건 왜 여태 안했나 싶다 근데 이렇게 해놓고 보니 굳이 IsShowHP라는 기능이 필요가 없었다그냥 폰트사이즈를 0으로 해두면 보이지 않는것이었다 귀찮아서 걍 냅둘려다가 코드가 한..
-
(11) 패배씬 만들기Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 23. 16:08
이번엔 게임에서 패배했을때 뜨게될 창을 만들도록 하겠다사실 멀티플레이 같은 경우는 임시이긴 하지만 상당히 간단하게 만들었었다텍스트 하나 띄워놓고 아무곳이나 클릭만 하면 다시 인게임 씬으로 넘어가게 했었지만이번엔 좀 더 참신하게 만들어보도록 하겠다 만들기전, 당연히 싱글플레이 인게임창에 있는 Deadzone에 패배판정이 일어나는 순간 "Fail" 씬으로 변환하게 해주었고씬 등록도 해두었다. 이제 한번 만들어보자 원래는 아무것도 움직이지 않는 정적인 화면에 "다시 하기""메인메뉴로 돌아가기""스테이지로 돌아가기" 이 3가지 버튼을 만들어주려 했었다 (12) Start Scene #배경화면이번엔 게임을 시작할때 볼 수 있는 게임시작 화면을 구현해보도록 하겠다우선 시작화면에 가장 필요한 핵심요소는 버튼과 배경..
-
(10) 적 유닛 추가 제작 #3 & 총정리Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 23. 02:05
추가로 더 떠오른 아이디어가 있어서 몇가지 유닛들을 더 추가하겠다 이름 : Enemy1최소/최대 내구도 : 2/4최소/최대 발사시간 : 3/5최소/최대 발사속도 : 1/1.5사용 총알 : Normal Bullet특징 : 총구가 짧고 Muzzle이 총구와 가까움. 발사를 매우 약하게 하여 본인 주변으로 총알 방어막을 만듦공격보다는 수비형 유닛 그리고 새로운 형식의 유닛, 탱커를 추가했다.탱커의 특징은 서포터처럼 공격하지 않는 대신 크기와 체력이 높아 총알받이로 쓰인다 이름 : TEnemy1최소/최대 내구도 : 3/10특징 : 고정되어 움직이지 않음 이름 : TEnemy2최소/최대 내구도 : 3/5특징 : 다른 공과 충돌지 위치에는 변화가 없지만 z축으로 회전한다 이런 느낌이라고 생각하면 되겠다 이제 유..