Print Friendly and PDF

전체 글 229

[3매치 게임] 스코어

이번 시간엔 블록 매치에 성공하면 점수를 획득하도록 하겠습니다. public class UI_Match_Block : MonoBehaviour{ [Header("점수")] [SerializeField] int _score; public int GetScore() => _score; public static event Action _mathcomplte_event; //..이하 생략}- 우선 인스펙터에서 점수를 조정해줍니다. using System;using UnityEngine;public class ScoreManager : MonoBehaviour{ public static event Action _add_score_event;//스코어 획득 이벤트 int _curr..

[3매치 게임] 매치 가능 블록 체크

이번 시간에는 매치 가능한 블록이 있는지 체크하는 기능을 만들려합니다.매치가 불가능하면 특수블록을 제외한 모든 일반 블록을 랜덤으로 다시 타입을 바꾸도록 해야합니다. 플로우차트:- 모든 블록을 한번씩 상하좌우 한칸씩 이동하여 매치가 되는지 체크하여 없다면 모든 블록의 타입을 재셋팅하는 방식으로 할 예정입니다. 시뮬레이션 매치 기능 //MatchManager.csbool SimulationBlockMatch(Dictionary matchblockdic, int width, int height) { _ismatching = true; (int x, int y)[] simurationkeylist = new (int x, int y)[5]; simurationkeyl..

[3매치 게임] 블록 이동 및 재생성

이번 시간엔 블록이 매치되고 난 후에 블록 이동 후 빈 공간만큼 블록 재생성하는 것을 만들어 보겠습니다.플로우 차트- 이동이나 블록이 매치된 후에 먼저는 있던 블록을 전체적으로 이동 시켜줍니다.- 이동시킨 후 빈 공간만큼 블록을 새로 생성한 후 다시 전체 이동을 진행해주면 끝입니다. 블록 재셋팅 함수 //MatchFiledManager.csasync UniTaskVoid FiledReSetting() { _issetting = true; //모든 기능이 다 종료되었을때 진행 await UniTask.WaitUntil(() => (bool)_match_setting_check_event?.Invoke() == false); //새롭게 생성해야할 블록이 있는지 체..

[3매치 게임] 블록 이동 및 개별 매치

이번 시간엔 블록 이동과 이동된 블록을 기준으로 매치하는 기능을 만들려고 합니다. 이 기능 또한 플로우 차트로 설명하기에 뭔가 난해한 것 같아 글로 간략하게 적거 지나가도록 하겠습니다. 구현 설명:1. 블록 클릭 시 정보를 저장합니다.2. 클릭한 상태로 드래그하여 다른 블록으로 이동하여 해당 블록에 마우스(손가락)이 닿아 Trigger Enter이 됐을 때3. 두 블록의 위치를 이동 시킨 후 매치 기능 실행 코드를 보겠습니다.public void Event_Point_Down() { _point_down_event?.Invoke(this); } public void Event_Point_Up() { _point_up_event?.Invoke(); } ..

[3매치 게임] 매칭 기능

이번 시간엔 매칭 기능을 제작하려 합니다. 매칭의 경우 플로우 차트보단 그림으로 그리는 것이 좀 더 이해가 쉬울 것 같아 그림으로 대체 하였습니다. 시스템 그림- 필드에 이렇게 블록이 있을 겁니다. 1. 하나의 블록을 선택 합니다.2. x값부터 한칸씩 오른쪽으로 이동하며 체크3. x값을 체크 했다면 y값 한칸씩 체크 이렇게 해서 전체 블록을 체크하는 방식 입니다. 실제 코드를 보겠습니다. 전체 블록 매치 기능void AllBlockMatch(Dictionary matchblockdic, int width, int height) { //블록이 아닌 슬롯의 정보를 저장하여 위치값 계산할 예정 var maxcount = matchblockdic.Count; int k..

[3매치 게임] 3매치 필드, 슬롯, 블록 생성

이번 시간엔 3매치 게임에서의 필드와 슬롯, 블록을 생성하는 걸 만들어보려 합니다. 필드란?- 현재 이 맵을 3x3으로 할지 4x4로할지 데이터를 받아오는 역할로 사용하려 합니다. 슬롯이란?- 블록 뒤쪽에 있는 검정색 슬롯을 얘기합니다. 얘를들어 3x3이면 가로 세로 3개씩 만들어질 것이고 4x4면 4개씩 생성되는 일종의 맵?이라고 보면 될 것 같습니다. 블록이란?- 빨간색 별과 같은 것들을 얘기합니다. 플로우 차트1. 간단한 흐름을 우선 만들었습니다. 필드에서 현재 챕터와 스테이지에 맞는 데이터를 가져옵니다.2. 가져온 데이터를 이용해 슬롯을 만듭니다.3. 슬롯 위치를 기반으로 블록을 최상단에 생성합니다.4. 생성이 완료되었으면 블록을 전체 이동처리한 후 마무리 합니다. 위 흐름을 관리하고 처리하는 건..

[3매치 게임] 3매치 게임 제작

안녕하세요 이번엔 3매치 게임 제작을 진행해보려고 합니다. Git Link : 바로가기 GitHub - leehyoenjong/PuzzleGame: 퍼즐게임 포트폴리오퍼즐게임 포트폴리오. Contribute to leehyoenjong/PuzzleGame development by creating an account on GitHub.github.com 목차1. 3매치 필드, 슬롯, 블록 생성2.블록 위에서 아래로 떨어지는 기능 추가3. 3매치 기능 추가4. 블럭 터치를 이용해 이동 기능 구현5. 빈 블럭만큼 재생성 추가6. 스코어 추가7. 클리어 조건 추가8. 4칸 매치 - 가로,세로 모든 블럭 제거 특수블럭 추가9. 5칸 매치 - 터치한 색 모두 제거하는 특수블럭 추가10. +자 매치 - 정사각형 ..

[디펜스 게임] 데이터 디자인 툴

이제 왠만한 모든 작업이 끝났습니다. UI좀 더 다듬거나 화면 뷰를 조금 다듬는 것 정도와 대망의 레벨 디자인이 남은 것 같습니다. 그래서 이번 시간에 레벨 디자인 툴을 제작하는 과정을 담아보려 합니다.저는 레벨 디자인에 대해 잘 모르기 때문에 왠만한 과정 자체를 AI(Cursor)을 이용해 작업하려고 합니다. 저는 항상 Ai를 사용할때 작은 단위로 작업을 끊어 요청합니다.GPT, Cluade, Cursor 등 다양하게 사용해보았지만 한번에 모든 작업을 완성 시키기엔 아직 부족함도 있고 그만큼 디테일이 많이 떨어져 원하는 결과물을 담기가 어렵기 때문입니다. 그래서 이번 시간 또한 레벨 디자인 툴 제작할때 하나씩 단위별로 작업하고 넘어가는 것을 담겠습니다.단, 프롬프트는 길거나 답변 내용을 모르면 이해하기..

[디펜스 게임] 패치 서버

이번 시간엔 패치서버 추가를 진행해보려 합니다.Addressable추가 후 Remote모드로 해서 패치 여부 확인한 다음 패치하도록 해보겠습니다. 자세한 어드레서블 내용은 여기를 확인해주세요 Addresaable 추가- Addressable을 추가한 후 그룹 설정을 해줍니다. 이제부터 어떤 것을 패치할지 생각해보겠습니다.일단 DataManager에서 불러오고 있는 테이블 데이터를 패치하면 좋을 것 같아 넣어보겠습니다. 테이블 데이터 어드레서블 추가- Insapertor에 체크하면 Groups에 추가 됩니다.- 추가 후 불러올 각 키 명을 넣어주면 좋습니다. 전체 추가 해보겠습니다.- Skill이나 개별 hero/monster들은 할 필요 없습니다. 왜냐하면 최상단인 Table에서 모두 참조하고 있기 때..