전체 글 408

숫자의 신 개인 프로젝트 9일차

구현 내용1. 인벤토리 장착 구현 Inventory Block 클릭 시, 장착Equip Block 클릭 시, 장착 해제  InventorySlot 스크립트private bool IsEquip(int num){ if (_slotNum >= 1 && _slotNum = 1 && _slotNum  획득한 숫자인지, 장착한 숫자인지를 판별하는 함수를 작성했다. 위 함수를 통해, 숫자의 장착, 해제를 구현했다.  회고오늘은 인벤토리를 모두 구현 완료했다. 반복문을 통해 DataManager의 배열을 탐색해서 판단하여 인벤토리를 나타내고 장착을 구현했다. 내일은 장착한 숫자가 게임에서 사용될 수 있도록 적용하고, 상점을 구현하겠다.

숫자의 신 개인 프로젝트 8일차

구현 내용1. 데이터 저장https://kkln2486.tistory.com/408 데이터 저장 (Easy Save 에셋)Easy save데이터를 쉽고 빠르게 저장 가능모바일 기기에서도 빠른 속도 JSON 및 XML과 비교하여 훨씬 빠르고 훨씬 적은 메모리 사용효율적이고 안전한 데이터 암호화빠른 개발과 오래된 지속적인 업kkln2486.tistory.com  데이터 저장은 Easy Save 에셋을 사용했다. 에셋을 통해 쉽고 안전하게 데이터를 로컬 저장할 수 있다. 전체적인 데이터는 모두 에셋을 이용해서 로컬에 저장하고, 랭킹 관련 데이터만 뒤끝 서버를 이용할 것이다.  2. 인벤토리 구현  현재 획득한 Number 확인 가능숫자 범위 별, 칼라 적용장착 버튼 미구현  DataManager 스크립트[Sy..

숫자의 신 개인 프로젝트 7일차

구현 내용1. ChangeButton 2회까지 사용 가능한 ChangeButton 구현계산식을 변경추가 Item 구현 예정  2. Item 추가 ChangeCount를 1증가 시키는 Item을 추가 구현  3. LobbyScene 생성  다운 받았던 UI 에셋을 활용해서 LobbyScene를 생성했다.    회고오늘로 게임 플레이에 관련된 기능들은 모두 구현했다. 플레이 종료 UI나 게임 밸런스 조절은 나중으로 미뤘다. 그리고 로비씬을 생성하고 기본적인 틀을 생성했다. 내일은 게임 데이터 저장 기능과 인벤토리, 상점 기능을 구현하도록 하겠다!

숫자의 신 개인 프로젝트 6일차

구현 내용1. Block Item 구현 Hp Item / Time Item / Destroy Item 추가일정 확률로 Block이 Item을 가지고 스폰Dotween Pro 에셋 적용  Block 스크립트public enum Item{ None, Hp, Time, Destroy,}private void SetItemType(){ int value = Random.Range(1, 101); int value2 = Random.Range(1, _itemTypes.Length); if (value  각각 Item 이름을 enum으로 설정, 오브젝트를 활성화 할 때 마다, Item의 종류를 랜덤으로 설정했다.  Destroy Itemprivate void ItemAbilit..

숫자의 신 개인 프로젝트 5일차

구현 내용1. 사운드 매니저 구현https://kkln2486.tistory.com/213 SoundMangerSoundManger BGM을 담당하는 AudioSource 1개, Player SFX를 담당하는 AudioSource 1개,  그 외 SFX를 담당하는 AudioSource 여러개를 가지고 있음BGM과 SFX의 사운드가 모두 SoundManger에서 재생MainCamera 자식 오브젝트kkln2486.tistory.com 사운드 매니저 구현 후, 사운드 적용  2. Block 추가 좌우로 움직이는 Block 추가회전하는 Block 추가Boss Block 추가 Block에 int형의 Hp를 추가하고, 0이 되면 사라지도록 했다. BossBlock 일 경우, Hp가 2, 1 일 때는 Scale 값..

숫자의 신 개인 프로젝트 4일차

구현 내용1. 오브젝트풀 구현 디펜스 게임 특성 상, Block의 생성 파괴가 계속 반복된다. 프리팹의 Instantiate, Destroy 함수는 비용이 크기 때문에 오브젝트를 미리 생성해서 재사용하는 ObjectPool을 사용해서 최적화 했다.  ObjectPoolControllerpublic GameObject CreateBlock(string poolName, Vector3 startPosition){ GameObject block = ObjectPool.SpawnFromPool(poolName); block.transform.position = startPosition; block.SetActive(true); return block;}  ObjectPool[System.S..

숫자의 신 개인 프로젝트 3일차

구현 내용1. Block 생성 일정 시간마다 Block 프리팹을 반복해서 생성Block은 수평, 수직 방향으로 이동Block이 벽에 닿으면 수평 이동 방향 변경Destroyline에 닿으면 Block 파괴 2. Blcok 파괴 생성된 Block들 중, 계산 결과가 있다면 Block 파괴 후, Score 획득Block을 끝까지 계산 못하면 HP 감소  GameController 스크립트public Dictionary Blocks;IEnumerator COCreateBlock(){ while (true) { SetBlockNumber(10); yield return new WaitForSeconds(BlockCreateTime); }}private void Creat..

숫자의 신 개인 프로젝트 2일차

구현 내용1. GameScene 기본 UI 생성  2. 숫자 버튼 구현 클릭 시, 계산식 UI에 차례대로 입력C 클릭 시, 초기화  CalculationFormula 스크립트public void EnterNumber(int num){ if (_fillNumberFrames == _numberFramesCount) return; _numberFrames.transform.GetChild(_fillNumberFrames).GetChild(0).GetComponent().text = num.ToString(); _fillNumberFrames++;}public void ClearNumber(){ ResetNumberFrames(); _fillNumberFrames = 0;}  Cal..

숫자의 신 개인 프로젝트 1일차

프로젝트1. 초기 와이어프레임  2. 프로젝트 설명1. 제목 : 숫자의 신2. 장르 : 2D 하이퍼캐주얼 퍼즐 수집형 디펜스3. 설명 : 사칙연산을 통해 내려오는 블록을 막는 게임4. 목표 : 애드몹 보상형, 배너, 전면 광고 넣기, 구글 플레이 등록, 랭킹 구현, 누구나 쉽게 플레이 할 수 있는 게임 구현5. 목표 기간 : 4주  회고새로운 개인 프로젝트를 시작했다. 목표는 기본적으로 이전 프로젝트와 비슷하고, 이번에는 조금 더 짧은 개발 기간을 잡았고, 남녀노소 즐길 수 있는 간단한 게임 개발을 목표로 했다. 지난 멀티 게임을 개발 후, 느낀점은 PVP와 같이 실시간 멀티 게임은 유저가 적기 때문에 유저들이 즐길 수 없다는 것이다. 그래서 PVP 보다는 싱글 플레이의 Score를 랭킹에 적용되는 방식..