묻고 답해요
144만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
버그에대한 썰
현재 프로젝트를 진행하는 과정에서 버그를 어떻게 발견했으며 문제의 코드를 어떻게 추적했고어떠한식으로 수정했다 그래서 느낀점은 이렇다등의 기억에 남는 버그가 있다면 짧게나마 썰을 풀어주시면 그것또한 큰 도움이 될것같아서 제안드립니다 ^^;
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
포탈 프로젝트에 서버 코드에 에러가 뜨네요
포탈 프로젝트에 ELeavType이 없다고 에러가 뜨는데 어떻게 하면 되나요?
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
아이템 수량에 관해서 질문입니다.
DB에서 겹쳐지는 아이템 하나의 컬럼에 수량 1000개를 그대로 저장하고 클라에게 1000개 그대로 보내서 1000개를 50개씩 20개로 쪼게는 부분은 클라딴에서 처리하는 방식은 안되는건가요?
-
해결됨2. 유니티가 어려운 입문자를 위한 입문용 게임 제작
오류 관한 질문입니다.
안녕하세요. 최근에 배우고 있는 수강생 입니다.오류에 관한 질문이 있습니다.강사님의 배우는 대로 코드를 작성했는데NullReferenceException라는 오류 문자가 나왔습니다.다시 코드를 작성 했는데 오류문자가 사라지지 않습니다.어디가 문제인지 모르겠습니다.
-
해결됨[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
Stateless서버에서의 유저인스턴스
session방식이 아닌 토큰방식을 쓰는데유저 요청시 정보를 매번 DB에서 긁어와야 할까요? 아니면 Service마다 accountId를 키로해서 각 유저 정보를 저장해놓고 사용하는게 좋을까요?메모리에 일부 정보를 저장해 두었다가 유저 요청시, DB에 접근하지 않고 검증할 수 있는 부분은 메모리 단에서 거르는 방식으로 DB접근 오버헤드를 줄이면 좋을거 같은데유저 정보를 메모리에 들고있는다고 하면 Stateful방식을 쓰지 Stateless방식을 쓰는 이점이 있나 해서 질문드립니다
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
퀘스트 누적 클리어 횟수에 대해 여쭤보고싶습니다.
퀘스트 시스템에 같은 코드네임의 퀘스트의 누적 클리어 횟수를 넣어주려고 하는데 어떻게 해야할까요 저장할때 가져오는 퀘스트는 클론이라 퀘스트에 정수 변수를 만든다음 추가하는 방식이 불가능하고퀘스트가 저장될때마다private JArray CreateSaveDatas(IReadOnlyList<Quest> quests, string key){ // 기존 데이터 로드 JArray saveDatas = LoadExistingSaveData(key); // 기존 세이브 파일에서 JArray 로드 foreach (var quest in quests) { Debug.Log("before " + quest); if (quest.IsSaveable) { Debug.Log("after " +quest); QuestSaveData saveData = quest.ToSaveData(); // 기존 데이터에서 같은 codeName 찾기 var existingData = saveDatas.FirstOrDefault(item => item["codeName"]?.ToString() == saveData.codeName); // 누적 퀘스트 카운트 계산 saveData.questClearCount = GetQuestClearCount(saveDatas, quest.CodeName); if (existingData != null) { saveData.questClearCount++; // 기존 데이터 갱신 existingData["questClearCount"] = saveData.questClearCount; } else { // 새 데이터 추가 Debug.Log("처음"); saveDatas.Add(JObject.FromObject(saveData)); } // 현재 퀘스트의 카운트 업데이트 quest.questClearCount = saveData.questClearCount; } } return saveDatas;}private JArray LoadExistingSaveData(string key){ if (File.Exists(saveFilePath)) { // 파일에서 JSON 데이터를 읽어옵니다. string jsonString = File.ReadAllText(saveFilePath); var root = JObject.Parse(jsonString); // 저장된 특정 경로 데이터(JArray)를 반환 if (root[key] != null) { return (JArray)root[key]; } } // 기존 파일이 없거나 해당 키가 없으면 빈 JArray 반환 return new JArray();}private int GetQuestClearCount(JArray saveDatas, string codeName){ // JArray에서 해당 codeName을 가진 항목 찾기 var questData = saveDatas.FirstOrDefault(item => item["codeName"]?.ToString() == codeName); // 항목이 존재하고 "questClearCount"가 있을 경우 반환 if (questData != null && questData["questClearCount"] != null) { return (int)questData["questClearCount"]; } // 항목이 없거나 "questClearCount"가 없는 경우 기본값 반환 Debug.LogWarning($"Quest with codeName '{codeName}' not found or questClearCount is missing."); return 0;}기존의 세이브파일에서 참조해서 추가하는 방식으로는 다른요소로 저장할때마다도 추가가 됩니다.계속 어떻게 수정해야할지 고민중이긴한데 어떻게 해야할지 모르겠습니다.저장할 퀘스트의 id를 퀘스트DB에 있는 id와 비교해서 원본 퀘스트를 찾은 다음 그 퀘스트를 가져와서 원본 퀘스트의 변수를 수정해주는 방식이 좋을까요
-
미해결C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)
기존에 있던 스크립트에 워링이 새로운 스크립트에서도 콘솔에 뜹니다.
안녕하세요.덕분에 재미있게 공부중입니다. example 폴더에 있는 기존 스크립트 들에서전역에 변수를 지정후 사용을 안할경우 워링이 뜹니다. 문제는 워링이 뜨던 스크립트를 게임오브젝트에서 연동 제외하고 새로 게임오브젝트에 다른 스크립트를 연동해도 기존에 스크립트에 오류뜨던게 같이 뜹니다. 맞는건가요? 지역변수는 상관없고 전역변수에서만 워닝이 뜨네요.프로젝트 폴더에 있는건 유니티에서 상시 다 읽어들인다고 보면 될까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Dependency Injection(DI)
웹 개발에서는 DI를 통해 객체를 관리하는 경우가 많은데, 게임 프로젝트에서도 DI를 활용해 객체를 관리하는 사례가 많을까요? 아니면 강의에서 소개된 것처럼 Managers 객체를 통해 관리하는 경우가 더 일반적인가요
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
퀘스트 관련 질문 드립니다.
안녕하세요. 강의를 보다가 퀘스트 관련해서 몇가지 궁금한 점이 생겨 글을 남깁니다.QuestTask 정보를 string화 해서 DB에 저장하시던데, 저럴 경우 운영적인 측면에서는 이슈가 없을까요? (DB 마이그레이션이라던지)Dialogue의 진행은 클라이언트에서 진행되고 Dialogue가 완료되면 Interaction을 서버로 요청하던데, 이럴 경우 클라에서는 Dialogue가 진행됐지만 서버에서 실패할 수 있는 상황이 생길 것 같은데요. Dialogue 같은 건 원래 클라이언트가 주도적으로 진행을 하나요?일반적인 MMO를 보면 Quest가 완료된 후에 Dialogue가 출력되거나 Npc가 특정 위치로 이동을 하거나 특정 지역으로 Pc가 Teleport를 하는 등 서버에서 동기화를 맞출필요가 있는 일들이 여럿 발생하던데.. 이런 처리는 일반적으로 어떻게 구현 할까요?언제나 좋은 강의 감사드립니다~
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
프로퍼티 사용 질문입니다.
안녕하세요. 강의 잘 듣고 있습니다.특별히 다른 작업이 필요하지 않는 변수들도 프로퍼티를 사용하시는데 혹시 그 이유가 있을까요?
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
파이어베이스로 가챠시스템을 연동시키는 것과 관련해 질문드립니다
안녕하세요! 강의를 시청하면서 가챠시스템을 배웠는데요다름이 아니라 클라이언트에서만 가챠시스템을 운용한다면 위조나 보안에 취약하다는 생각이 들었습니다따라서 앞서 배운 강의내용인 파이어베이스와 연동을 해서가챠시스템을 연동하면 좋겠단 생각을 했는데그럴 경우, 어떤 식으로 내용을 구성해야 효율적으로 관리할 수 있을지의견을 여쭙고자 합니다.
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
안녕하세요 소스코드를 다운 받고 싶은데요.. 언제 제공 받을 수 있을까요?
안녕하세요. 게임 구현 중에서 일부분적으로 이해가 안되는 부분이 있어서 강의 학습을 시작하였습니다.다 따라쳐서 하는 기초 목적으로 수강하지 않아서, 일단 유니티 에디터에서 플레이는 되게하고 응용해보고 싶은데요. 강의 종료 후 제공된다고 글이 있는 것 같은데요.. 지금 커리큘럼이 출시?로 보이는데 다 끝난건지, 소스 코드가 언제 제공되는지 궁금합니다 ...
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
Task 에서 Object 타입 사용
안녕하세요! 강의 잘 듣고 있습니다. Object 타입을 사용하면 박싱 - 언박싱이 발생할 것 같은데 큰 문제는 없는 건가요? 박싱과 언박싱을 지양하라는 글을 많이 봐서 그런지 거부감이 큰 것 같습니다. 성능에 안 좋다는데 사용해도 될지 의문입니다.
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
섹션 4(SaveData, HeroList, ItemData, ItemHolder)에 일부 항목들에 대한 재생오류 해결 부탁드립니다.
섹션 4Project M1 - 성장 컨텐츠 제작(재화, 성장, 아이템, 퀘스트, ...) 에속한 SaveData, HeroList, ItemData, ItemHolder 이쯤부터 전부 재생이 안됩니다.꽤 종종 이런 재생 오류 문제가 발생합니다.한주에만 이런문제를 겪은게 3회정도 된거같습니다.다음날 재생하면 또 되는경우가 존재하고, 너무 불편합니다. 인프런 운영사분들 제발 쾌적한 재생환경을 부탁드려요 ..강의듣는 와중에, 흐름이 끊길때마다 너무 불편합니다... 강의는 잘듣고 있습니다..
-
해결됨두고두고 써먹는 유니티 VR
vr조작과 컴퓨터 조작 플레이 동시에 구현하는 부분에서 조언을 얻고 싶습니다!
안녕하세요 강의를 이제 막 듣기 시작하면서 가능할까 의문이 들어 질문 드립니다. 우선 제가 만들고자 하는 게임이 비대칭 vr 같이 vr과 데스크탑(모니터, 키보드, 마우스 ) 조작으로 2인 로컬플레이 게임을 만들고자 합니다. 먼저 드는 생각은 일단 vr 기능으로 만든 플레이어에 키보드 마우스로 플레이하는 플레이어와 이 플레이어에 해당하는 카메라를 추가해서 2인이서 플레이할 수 있도록 만들 생각중인데 vr 기기와 컴퓨터 화면, 키보드 마우스 입력으로 동시에 플레이하는게 가능할까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
비주얼스튜디오 질문있습니다
강좌에서는 코드에 빨간줄이 그였을때 잠재적수정사항 표시란게 뜨는데요. 제 비쥬얼스튜디오에서는 잠재적수정사항 표시가 안뜨는데 어떻게 해결해야할지 궁금합니다
-
해결됨[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
스포닝풀 작업하는거 질문드려요
제가 강의를 놓친걸수도 있는데 질문드려서 죄송합니다.스포닝풀을 스크립터블 오브젝트로 관리하는데 (M1 에서는 타일맵에 찍어서 관리 했었던걸로 기억합니다)스크립터블 오브젝트로 Pivot PosX , Pivot PosY 를 어떻게 직관적으로 보고 작업 할수 있나요? 그냥 찍어서 좌표 확인하는건지 아니면 더 편한 방법이 있는건지 궁금해서 질문남겨요
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
안녕하세요. 일전에 질문 드린 포폴 준비 관련 질문의 추가 질문입니다!
루키스님 안녕하세요. 한 달 전에 올린 질문에 추가 질문드립니다.서버는 C++, 클라이언트는 유니티 조합으로 준비하고 있다는 질문이었고,루키스님이 답변을 해주셨었습니다. 그 답변 이후로 열심히 C++ 서버 공부하고 있어요.오늘 들어와서 답변을 다시 살펴보니까, C# 강의에서 들어야 할 강의 중에,C# Part4 게임 서버도 써주셨더라고요.C++ 서버만 듣는 건 부족해서 C# 서버도 들어보라고 하신 걸까요~?아니면 강의 마지막에 유니티 연동 관련한 부분 때문에 그러신 걸까요~?C++ 서버 강의 너무 좋은데완강하는데 많은 시간이 걸려서 살짝씩 멘탈이 흔들리지만 다잡으면서 가고 있습니다.늘 좋은 강의 감사합니다.
-
해결됨[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스
유니티6로 배우는 실전 멀티플레이 디펜스의 [로비생성] 편에 질문있습니다.
이전까진 문제없이 잘 이해하고 코드도 실행되었습니다. 그런데 [로비생성] 강의를 보고 따라했더니 오류가 발생했습니다. Unity.Services.Lobbies.LobbyServiceException: lobby code 'BARB6QOAUYDBBMLVUPZQBE' contains an invalid character 'O' (U+004F) at index 6 ---> Unity.Services.Lobbies.Http.HttpException`1[Unity.Services.Lobbies.Models.ErrorStatus]: (400) HTTP/1.1 400 Bad Request...생략...... 호스트는 잘 만들어지는데요, 다른 플레이어로 조인하려고 하면 저런 빨강 글씨의 오류가 발생합니다.인터넷에 찾아보니 외국 포럼만 나오는데요, 버그같기도 하고 그러네요. 제가 고치기 힘들어서요. 혹시 중간강의에서 코드를 통째로 올려주실 수 있나요? 저 오류때문에 코드를 실행하진 못하고, 코드 따라치면서 논리만 이해하는 식으로 공부하고 있습니다.코드를 실행하면서 게임을 돌려보는 실습까지 해보면 재밌긴 하겠지만요. 강의는 재밌게 잘 보고 있는데, 저 오류가 아쉽네요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
PacketFormat 빌드 관련
PacketFormat.cs 파일을 빌드 하고 GenPacket.bat파일을 실행시키면 어떤때는 잘되고 어떤때는 안되네요 말씀하신대로 스크립트 내용 다 지우고 빌드해도 내용 안바뀐상태로 빌드됩니다.. 도대체 뭐가 문제일까요