[Steam] Cloud API 이용하여 클라우드에 게임 저장하기

환경: Unity 2020.3 / Steamworks.NET Steam Cloud를 이용하는 방식은 크게 두 가지이다.  Auto-Cloud와 Cloud API로 나눠 볼 수 있는데, Auto-Cloud는 단어의 의미대로 지정한 폴더를 통째로 동기화 해주는 방식이다.  스팀 메뉴얼 대로 세팅만 잘 하면 문제 없이 연동 가능하다.  아마도 인디 개발을 하면서 빠르게 Cloud 적용이 필요할 때 사용하면 좋을 것 같다.  오늘은 Auto-Cloud가 아닌 Cloud … Read more[Steam] Cloud API 이용하여 클라우드에 게임 저장하기

[Steam] Demo(체험판) 테스트 방법

Steam Demo(체험판)은 출시용(Base) 게임의 일종의 자식으로 만들어진다. 그래서 Demo을 테스트하기 위해서는 몇 가지 사항이 충족되어야 한다. 우선 A 계정에 Demo를 설치했다고 가정해보자. Demo가 설치 된 이후에 Base게임을 설치할 경우 항상 Base게임이 우선시 되기 때문에 (Base게임이 설치되었는데 Demo를 할 이유가 없다라고 함) Demo 버전은 삭제가 되고 Base게임이 노출이 된다. 그 이후에는 Demo 게임을 다시 설치하고자 해도 … Read more[Steam] Demo(체험판) 테스트 방법

[DeepMotion] 동영상으로 애니매이션을 만들어 주는 서비스

광고성 글이 아닌, 개인적인 경험을 바탕으로 작성하였습니다. 아트 출신이 아닌 인디 게임 개발자라면 가장 큰 고민 중 하나가 아트 리소스를 어떻게 제작하고 게임에 반영할지 일 것이다. 그래서 원하는 아트 풍으로 작업이 되기 보다는 수급이 가능한 아트로 제작이 되는 경우도 발생한다. 나 같은 경우 애니매이션의 제작이 원할하지 않아 고민이 많았는데, 우연히 구글링하다 DeepMotion이라는 사이트를 방문하게 되었다. … Read more[DeepMotion] 동영상으로 애니매이션을 만들어 주는 서비스

[macOS] Jenkins 버전 선택하여 설치하기

이 글은 메뉴얼 보다는 기록에 가까울 것 같다.  Mac에서 설치하였고, OS는 Big Sur 11.5.2 기반이다. Jenkins 과거 버전인 2.176 설치를 목표로 했다.  brew install을 통해 jenkins버전을 지정하고 실행하였다. 에러가 발생했다. 뭔가 버전에 대한  formula가 없다고 하는 것 같다.  formula가 무엇인지는 확실치 않다. brew info가 있다는 것을 알았다.  brew info를 해보았다. jenkins 설치 버전은 현재 2.312를 … Read more[macOS] Jenkins 버전 선택하여 설치하기

Github.com에서 svn 사용하기

github.com에서 svn을 지원한다는 것을 최근에 알았다.  svn이 아무래도 git보다는 사용성 면에서 좀 낫기에 svn을 사용해보기로 하였다. Client 툴로는 TortoiseSVN(1.14.1 버전)을 사용하였다. 아래와 같이 MySVNrepo라고 이름을 짓고, 개인용(Private)으로 만들었다. Github 사이트에 있는 안내대로 https의 주소를 복사하여, TortoiseSVN에서 checkout 주소로 넣어보았다. 그러면 User/Password를 입력하라는 팝업이 뜨는데, 아무리 입력을 해보아도 계속 실패로 떨어졌다.  커맨드 라인으로 checkout을 해보아도 결과는 … Read moreGithub.com에서 svn 사용하기

TortoiseSVN의 Shelve기능으로 하던 일 안전하게 저장하기

TortoiseSVN의 shelve기능을 오늘 처음 알게 되었다. 그동안 svn은 git의 stash같은 기능이 없어서 아쉽게 생각했었는데, 혹시나 하고 검색해 보니 shelve라는 기능으로 나와 있었다. 이 기능이 왜 필요한지에 대해 TortoiseSVN 메뉴얼에 잘 나와 있어서 그 글을 한번 가져와 봤다. “More often than wanted, it’s necessary to stop what you were working on and work on something else. … Read moreTortoiseSVN의 Shelve기능으로 하던 일 안전하게 저장하기

svn기반 branch사이에 Merge시 파일 누락 이슈에 대하여

svn을 사용하여 branch를 만들고, merge하는 과정은 실제 개발 과정에서 빈번하게 발생하는 일이다. 하지만 생각보다 merge중에 많은 실수를 하는 것도 사실이다. Conflict발생시 resolve를 잘못 한다던가 tree conflict 발생시 제대로 처리를 못한다던가 branch사이에 주체와 대상을 제대로 알지 못해 theirs와 mine을 혼동하는 일도 있다. 여기서는 trunk와 branch사이에서 발생할 수 있는 파일 누락에 대해 한번 살펴보겠다. trunk,merge, tag의 개념은 … Read moresvn기반 branch사이에 Merge시 파일 누락 이슈에 대하여

[iOS] Error: SDK tried to perform a networking task before being initialized

Google Mobile Ads Unity Plugin을 사용할 때는 연관되어 있는 SDK나 라이브러리와의 버전 호환성을 체크해야 한다. 버전 하나 차이나 가장 최신 버전이 항상 동작하는 것은 아니기 때문이다. Google Mobile Ads Unity Plugin v5.4.0을 사용하면서 광고가 로드 되지 않는 버그를 발견하고 디버깅을 해보았다.광고 로드가 실패할 때의 Message는 OnAdFailedToLoad 이벤트를 등록하여 받아볼 수 있다. 이전부터 광고를 사용해 왔기 … Read more[iOS] Error: SDK tried to perform a networking task before being initialized

[macOS] /usr/local/bin/svn: Argument list too long

Jenkins로 iOS빌드를 진행하던 중에 튀어나온 에러 메세지.  Jenkins의 Execute Shell Command를 통해 svn add를 실행하던 참이었다.  평소에도 문제없이 사용하고 있었는데, 갑자기 argument가 너무 길다니… 뭔가 잘못 됐나보다.  Command는 보통때와 다르지 않았다. 해당 폴더로 가서 ls를 실행해 보았다. 아무 문제가 없었다.  하지만, 절대경로로 실행해 보니 역시 같은 에러가 났다. command의 종류가 영향을 끼치지는 않는 것으로 보인다.  … Read more[macOS] /usr/local/bin/svn: Argument list too long

[iOS] Crashlytics에 수동으로 dSYM 올리기

위와 같은 Warning이 떴다면, 크래시가 발생된 빌드에 대한 심볼 파일이 없다는 의미이다.  Crasylytics가 정상적으로 설치 됐는지 확인이 필요하고, XCode의 Build Phases에 ‘Crashlytics Run Script’가 존재하는지도 체크해보자. XCode 12부터는 Run Script의 옵션이 생겨서 빌드상의 특정 조건에서 변화가 없다면 Script 실행을 스킵할 수도 있다.  만약 항상 Script의 실행을 원한다면 옵션을 off 해야한다.  어쨌거나 누락된 dSYM을 올리는 방법은 Firebase 메뉴얼에서 … Read more[iOS] Crashlytics에 수동으로 dSYM 올리기