최근에 DeveloperPayload(개발자가 임의로 만든 payload값) 기능이 구글에서 없어졌습니다. 때문에 해당 부분을 삭제했습니다. (2021-1-8) 서버 검증을 위해, 구글에 계정 만들고, 개발자 페이지에서 p12 파일 만들고 그러는 거는 검색해 보시면 쉽게 보실 수 있어요. 아래 페이지에 잘 정리 돼 있더라구요. http://theeye.pe.kr/archives/2570 여기서는 c#으로 서버를 개발 했을 경우, 서버 검증하는 코드를 넣었습니다. 서버 검증은 3가지 방법이 있는데, https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth#oauth-2.0-protocol 여기서는 [ServiceAccountCreden..
게임을 만들자/게임 서버(C#) 검색 결과
일부 게임에서는 유저와의 통신이 매우 빠르게 이루어져야 하는 것들이 있다. 롤, 스타크래프트 등 빠른 반응을 보여야 하는 경우, 패킷을 모아서 보내는 것이 아닌 바로바로 보내도록 설정해야 한다. 기본적으로 윈도우 운영체제에서는 패킷을 버퍼에 모아, 보내는 것이 효율이 좋아 그렇게 하도록 돼 있다. 그래서 아래와 같이 세팅을 하지 않으면, 핑이 들쑥날쑥 할 때가 많이 있다. 앞서 말 한 것 처럼, 빠른 반응성을 보이고 싶다면, TCPNoDelay, TcpAckFrequency 값을 레지스터에 등록해야 한다. 1. regedit 위 그림과 같이 regedit을 쳐 레지스트 창을 띄운다. 그 다음 아래 경로로 이동하도록 하자. 컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe..
간혹 벡터(vector)를 라디안으로 변환하거나, 라디안(radian) 값을 각도(angle, degree)로 변환해야 하는 경우들이 생긴다. 간단한 코드지만, 매번 구현하는 것 보다 유틸리티 코드로 구현해 놓고 사용하면 꽤 편하다. //벡터를 각도로 변환 public static double VectorToDegree(Vector2 vector) { double radian = Math.Atan2(vector.y, vector.x); return (radian*180.0/Math.PI); } //벡터를 라디안으로 변환 public static double VectorToRadian(Vector2 vector) { return Math.Atan2(vector.y, vector.x); } //라디안을 각도..
물리, 수학적 처리를 하다보면, 점과 선분 사이의 거리를 구해야 할 때가 있다. 직선과 점의 거리와는 다르게 선분과 점 사이의 거리는 조금 더 까다롭다. 아무튼 중고등학생 때의 기억을 되짚어보면서 구현 해 보았다. 1. 원리 이해 선분 SE, 점 P가 있다. 우선 점 P를 SE로 수선의 발을 내렸을 때, 그 안에 포함 되는지, 아니면 밖에 있는지 구분해야 한다. 이것을 구분하기 위해선, 벡터의 내적을 이용해야한다. - 내적 > 0 이면, θ < 90 - 내적 < 0 이면, θ > 90 - 내적 = 0 이면, θ = 90 즉 - (벡터 SE와 벡터 SP의 내적) * (벡터 ES, 벡터 EP) >= 0 이면 위 그림 왼쪽과 같이 수선의 발이 선분위에 존재한다. 그 외에는 - SP의 거리, EP의 거리 중 작..
게임을 만들다 보면, 특히 물리 관련된 기능을 구현하기 위해서, 다각형의 무게중심을 알아야 하는 경우가 생기기 마련이다. 나 같은 경우, 강체역학을 그대로 전부 적용하기 보다는 얼추 비슷하게? 구현하고 있다. 강체역학을 그대로 전부 적용하면 코드도 복잡하고, 성능상에도 좋지 않다고 판단해서이다. 물론 그렇게 해도 되는 게임이기에 가능한 얘기다. 다각형의 무게 중심을 구하기 위해서는 우선 다각형의 넓이를 알아야 한다. 아래는 다각형 넓이 공식이다. 이 넓이를 이용해 아래와 같이 무게 중심을 구할 수 있다. 이 공식을 바탕으로 코드를 작성 해 보자. 우선 다각형을 정의한 클래스부터 살펴보자. public class jdPolygon { public Listm_points = new List(); public..
최근댓글