Develop

· Develop/TIL
Minimax 알고리즘이 뭐에요?Minimax는 두 플레이어가 번갈아 가며 수를 두는 게임에서 많이 사용되는 알고리즘이다.AI는 최대한 좋은 선택을 하려하고 (Maximizer)상대방은 AI에게 최대한 불리한 선택을 하려고 한다 (Minimizer)이 때 가능한 모든 경우의 수를 탐색해서 최적의 수를 결정하는 방식이다.모든 경우의 수를 내다 보고 가장 높은 점수가 나온 수를 고르는 방식으로 복잡한 게임일수록 계산하는데 오래걸릴 수 있음!Tic-Tac-Toe로 알아보는 Minimax 알고리즘깊이 우선 탐색을 수행하며 끝까지 탐색한 뒤 결과에 따라 점수를 부여한다.즉, 발생할 수 있는 모든 경우의 수를 탐색한 뒤 결과에 점수를 부여해서 가장 높은 점수를 획득하는 수를 두는 방식이다. 모든 경우의 수를 탐색하..
· Develop/TIL
Unity 프로젝트에서 메인 화면에서 게임 모드를 선택해 씬을 전환할 때, 이전 게임 상태가 유지되어 예상치 못한 동작이 발생하는 문제가 있었습니다.이번 포스팅에서는 그 원인과 해결 방법을 공유합니다.🚨 문제 상황메인 화면에서 싱글 플레이를 선택 후 게임을 진행한다.게임을 끝내거나 중간에 종료해 다시 메인 화면으로 이동한다.2인 플레이(Co-Op)를 선택하면 AI가 수를 두는 문제가 발생한다.👀 즉, 게임 모드를 변경했음에도 이전 상태가 유지되는 문제!✍ 기존 코드// ... public enum GameType { SinglePlayer, CoOpPlayer } private GameType currentGameTypeState; public void ChangeToGameScene(GameT..
싱글톤이 뭐에요?간단히 말해, “하나의 클래스 인스턴스만 존재하도록 보장하고, 그 인스턴스를 전역적으로 공유하자!” 라는 철학이 담긴 디자인 패턴이에요.우리 게임에서 사운드 매니저, 게임 매니저 같은 애들은 굳이 여러 개가 있을 필요가 없잖아요. 여기저기서 귀찮게 FindObjectOfType 같은 거 돌리지 말고, 하나만 확실하게 잡아놓고 전역으로 꺼내 쓰자… 그게 싱글톤입니다.왜 싱글톤을 써야할까?전역 접근"어디서든" Manager.Instance 이런식으로 호출할 수 있어서 편해요.특히 공통 데이터나 시스템은 여기저기서 참조가 많이 필요한데, 그럴 때 아주 간단하게 불러올 수 있어요.중복 방지사운드 매니저나 게임 매니저가 두 개, 세 개씩 생겨서 꼬이는 일을 없게 만들어줘요."이미 만들어진 싱글톤이..
· Develop
Git LFS가 뭔가요? Git LFS(Git Large File Storage)는 Git으로 관리하기에는 너무 큰 파일(이미지, 동영상, 디자인 소스 등)을 좀 더 효율적으로 다루기 위한 확장 기능이다.Git은 파일 변경 이력을 전부 저장해서, 용량이 큰 파일이 자주 바뀌면 저장소 용량이 기하급수적으로 커져버린다.Git LFS는 커밋할 때 실제 파일 대신 포인터만 집어 넣고, 진짜 무거운 파일은 따로 보관해서 저장소가 너무 커지는 것을 막아준다.쉽게 말하면,"Git에는 파일의 짜잘한 정보(포인터)만 남기고, 실제 큰 데이터는 LFS 서버에 보관한다."이렇게 생각하면 된다.왜 써야하죠?대형 파일을 몇번만 수정해도 용량이 기하급수적으로 커지기 때문에 지구를 위해서라도 쓰자.1. 큰 파일로 인한 저장소 비대..
CodeFiore
'Develop' 카테고리의 글 목록
Mastodon