겨울팥죽 여름빙수
[알고리즘] 이진트리 만들기
게임을 만들자/C++ 2021. 5. 22. 15:22

프로그래머스 문제를 풀다보면, 간혹 이진트리를 만들어 풀어야하는 경우가 있다. 깊이우선 탐색, 너비우선 탐색, 힙 정렬 등이 있다. (힙 같은 경우 배열로 할 수 있다.) 갑자기 이진트리를 만드려고 하니, 순간 머리가 멍해지는 느낌이 있어서, 아무래도 한번쯤 정리해야겠다는 생각을 하게 됐다. struct Node{ int value = 0; Node* left = nullptr; Node* right = nullptr; Node* parent = nullptr; }; 우선 노드는 위와 같다. 왼쪽, 오른쪽 그리고 부모를 가르키는 포인터를 두었다.(사실 부모를 가르키는 것은 안둬도 된다.) void addNode(queue& add_queue, int value) { //큐에서 노드를 꺼낸다.(제거하지 않..

article thumbnail
애드센스 미국 세금 설정. 2021-5-31일까지 !!
게임을 만들자/기타 2021. 5. 8. 16:18

최근 블로그, 유투브에서 구글 광고 소득을 얻을 시, 미국 원천 징수 한다는 내용으로, 많은 유투버, 블로거 사이에서 이슈가 되고 있다. 핵심은 따로 설정하지 않으면, 일괄적으로 24%세금 적용 따로 설정 하면, 미국 사용자에 대해서만 30%세금 적용.(대한민국은 미국과 조약한 국가로, 더 감면 받을 수 있다.) 때문에, 미국 세금 설정을 하는 것이 유리하다. 위 두번째 그림 같이, 미국세금 정보를 설정하지 않으면, 빈칸으로 돼 있다. 수정 버튼을 누르고, [세금정보 추가] 버튼을 누르자. 개인, 아니오, W-8BEN 선택 후 다음으로 이동. 시민권을 보유한 국가 - 대한민국 선택 외국인 TIN - 사업자 번호 입력 사업자 번호를 입력해야, 조세조약 혜택을 볼 수 있다. 사업자가 없으면, 원천징수세율 3..

article thumbnail
Unity, Tilemap 검은 선 없애기.
게임을 만들자/Unity 2021. 4. 19. 20:05

유니티 Tilemap을 쓰면, 카메라 이동 시, 아래 그림과 같이 가느다란 실선이 생겼다 없어졌다하는 것을 볼 수 있다. 아마 타일 셀 사이에 것이 제대로 채워지지 못한 것 같은데, 저해상도 폰에서는 크게 문제 되지 않는데, 고해상도 폰에서는 저 선이 지저분하게 나타난다. 1. Material 생성 해결방법은 기본 default material를 쓰지말고, 아래와 같이 새로 만들어서 tilemap에 적용하면 된다. 우선 material를 새로 생성하고, 오른쪽 그림과 같이 Pixel snap을 체크해주자. 이제 이걸 tiledmap에 적용해주면 된다. 2. Tiledmap에 새 material 적용 Tiledmap Renderer에서 Material를 눌러, 새로 만들 material로 교체하면 끝이다...

article thumbnail
Admob, app-ads.txt 설정, 파이어베이스 이용
게임을 만들자/기타 2021. 4. 7. 15:02

Admob으로 광고 수익을 올리던 중, Admob 페이지에서 app-ads.txt를 홈페이지 루트에 올려놓으라는 경고가 떴었다. 문제는 난 따로 관리하는 홈페이지가 없었다. 혹시 티스토리는 되나? 알아봤는데, 아직은 불가능하다(애드센스는 알아서 해주는 듯?). 다른 방법으로 구글 블로그를 이용하는 것도 있었는데, 뭔가 블로그를 새로 만들기 귀찮다. 쉬운 방법이 없을까 찾아보던 중, 파이어베이스를 이용하면 쉽게 홈페이지를 만들고, app-ads.txt를 올릴 수 있다는 것을 알게 됐다. 1. Firebase설치 우선 터미널로 들어가 sudo npm install -g firebase-tools CLI툴 설치 후, 아래 명령어를 입력하자. firebase login 로그인 명령어를 치면 인터넷 창이 뜨고, ..

article thumbnail
Unity Simulator 사용하기
게임을 만들자/Unity 2021. 4. 3. 18:51

유니티 에디터로도 물론 Ui창 크기를 테스트 해볼 수 있지만, 실제 폰에서 어떤지 궁금할 때가 많다. 실제 서비스하다보면, 일부 폰에서 ui가 깨진다는 소릴 듣곤한다. 하지만 안드스튜디오 처럼, 시뮬레이터나, 애뮬레이터 기능이 없어, 테스트 해보기 애매했었는데, 유니티에 시뮬레이터 기능이 있다는 것을 듣고 사용해 보게 됐다. 1. 패키지 설치 패키지 매니저로 들어가서, Device로 검색해, Device Simulator를 설치하도록 하자. 2. 실행 설치 후 -> Window -> General -> Deive Simulator가 있을 것이다. 실행하면 아래와 같이 창이 뜬다. 원하는 기기 종류를 선택해 Play버튼을 누르면, 기존 Game창이 아닌 시뮬레이터 창에서 실행되는 것을 볼 수 있다.

article thumbnail
개인 PC 서버, 내부 IP, 외부 IP 확인하기.(IPTIME)

게임 테스트 개발 할 때, 서버 테스트 비용을 줄이기 위해, 내 개인 피씨를 서버로 띄우는 경우가 많았다. 서버 개발 초보이다 보니, 내 IP주소 설정 및 확인하는데 몇시간 걸린 듯 하다. 그래서 올리게 됐다. 서버를 띄울 때, IP 설정을 잘못하면 위와 같은 에러메시지가 나온다. 이때 만약 IPTIME을 사용 중이라면, 인터넷 주소창에 [192.168.0.1]을 쳐서 아래와 같은 화면을 띄우도록 하자. 창이 뜨고 나면, 관리도구를 누르자. 시스템 요약 정보에 들어가면, 외부 IP주소가 있다. 이 주소로, 외부 클라이언트가 접속 할 수 있다. 따로 메모 해 두도록 하자. 그럼 내부IP주소는 [192.168.0.1]인가? 라고 첨에 생각했는데, 아니다. 아래 그림을 보도록 하자. [고급 설정 -> 내부네트..

article thumbnail
c#, SocketAsyncEventArgs 메모리 릭 현상

SocketAsyncEventArgs 객체를 이용해 데이터를 송수신 할 때, Buffer를 사용하게 된다. 문제는 이 Buffer를 사용하고 조치를 취하지 않으면, 가비지 컬렉션이 알아서 가져가지 않는다. 맨 처음 서버를 실행시키면, 100메가 정도 사용하던 메모리가 좀 오래 되면, 1기가 넘게 쌓여있다. 대충 계속 살펴보면 1~2기가 사이를 왔다갔다한다. SocketAsyncEventArgs 메모리 릭에 관련해 검색 해보니, SocketAsyncEventArgs객체를 풀링해서 사용해야 한다고 돼 있고, 또한, 사용 후 Dispose()함수를 호출 해, 리소스를 날려줘야 가비지 컬렉션이 수거 해 간다고 한다. 정리 해보면 SocketAsyncEventArgs 사용 후, Completed에 [-=]으로 콜..

C#, 외부 프로세스 실행

한 서버에서, 채널관리를 위해, 서버 프로세스를 포트를 달리해, 여러 개 띄우고 있다. 이때, 이런 서버 프로세스 관리를 위한 프로그램을 따로 두는데, 그곳에서 자동으로 서버 프로세스를 띄우고 있다. Process process = new Process(); #if UNITY_EDITOR_OSX || UNITY_STANDALONE_OSX //ios 운영체제 process.StartInfo.FileName = "mono"; process.StartInfo.WindowStyle = ProcessWindowStyle.Normal; process.StartInfo.CreateNoWindow = false; process.StartInfo.UseShellExecute = true; process.StartInfo..

article thumbnail
Unity + Firebase + GooglePlayGameService 로그인 연동하기
게임을 만들자/Unity 2021. 2. 28. 18:30

매번 앱을 출시 할 때 마다, 헷갈리게 되고, 문제가 생기면 제법 시간을 많이 잡아 먹어, 정리하게 됐다. 1. Unity Firebase세팅 github.com/google/mechahamster google/mechahamster Mecha Hamster is a game where you roll through customizable environments that you can share with your friends. - google/mechahamster github.com 여기서 sdk를 다운 받고, FirebaseAnalytics.unitypackage FirebaseAuth.unitypackage 이 두개만 임포트 한다(나머지 기능은 안쓰고 있어서..). 여기서 중요한 건, Fireba..

article thumbnail
Unity, Google Play Game Service 인증 무한 로딩 현상
게임을 만들자/Unity 2021. 1. 24. 04:02

이틀동안 삽질 했었다. Google Play Game Service 인증 시 아래와 같이 무한 로딩하는 현상이 발생했는데, 해결방법이 뚜렷히 보이지 않았다. 우선 확실한 원인 파악을 위해 확인해 본 것을 정리 해 보면, - sha-1 앱서명 키 값이 올바르게 적용 돼 있는지 - 플레이 게임이 출시 돼 있는지 - 베타테스트 트랙이 등록 돼 있는지 보통 위의 것들을 확인 해 보면 된다고 했는데, 나는 모두 올바르게 돼 있었다. 단 한가지를 뺴고 ㅠㅠ 바로 앱서명 동의화면이 테스트 단계로 돼 있던 것이었다. 위의 앱 게시를 눌러, 프로덕션 상태로 만들면, 잘 동작하게 된다.