본문 바로가기
반응형

개발878

개인생각) 게임 캐릭터를 자산으로 인정하는 판례가 늘고 있다. 게임 캐릭터를 자산으로 인정하는 판례가 늘고 있다. URL : https://www.gamemeca.com/view.php?gid=1641599 게임 캐릭터를 자산으로 인정하는 판례가 늘고 있다 게이머에게 캐릭터는 본인이 플레이를 통해 이뤄낸 결과물이다. 이 시점에서 한 가지 주목해볼 점은 법원에서 게임머니나 아이템을 경제적 가치가 있는 자산으로 인정하는 판례가 늘고 있다는 www.gamemeca.com 해당 뉴스를 보고 개인 생각에 대해 포스팅하고자 한다. 게임에서 이뤄지는 게임 아이템과 게임머니는 법적으로 인정되는 재산이라고 한다. 국내 게임사에서는 약관상 게임 아이템 가치를 인정하기 않지만, 실제 판례에서는 인정을 해주고 있다. 게임 세계에서도 현실 가치에 비례한 거대한 아이템들이 굉장히 많다. 아.. 2020. 8. 22.
알고리즘) 동적 계획법 (Dynamic Programmi 동적 계획법 (Dynamic Programming) 어떤 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 주어진 문제를 풀기 위해서, 문제를 여러 개의 하위 문제(Sub Problem)로 나누어서 푼 다음에 그걸 결합해서 최종적인 목적에 도달하는 것이다. 복잡한 문제를 처음부터 풀기보다는 조금씩 조금씩 만들어서 풀면 쉽게 풀리기도 한다. 동적 계획 알고리즘은 최단 경로 문제, 행렬의 제곱 문제 등의 최적화에 사용된다. 이것은 동적 계획법은 문제를 해결하기 위한 모든 방법을 검토하고, 그중에서 최적을 풀이법을 찾아내기 때문이다. 1. 전체 문제를 작은 문제로 단순화한다. 2. 재귀적인 구조를 활용할 수 있는 점화식을 만든다. 3. 작은 문제를 해결한 방법들을 결합한다. 4. 문제를 해결.. 2020. 8. 22.
Unity) 카메라 화면 안에 있는지 여부 판단(object In the camera) 카메라 화면 안에 있는지 여부 판단(object In the camera) 카메라를 기준으로 카메라밖에 있는 오브젝트인지 판단을 해서 ObjectPool 작업을 진행하려고 한다. 예전에는 화면 밖의 어떤 오브젝트 or 포지션을 기준으로 작업했었는데. 이번에는 카메라 화면 안에 있는지 판단해서 없으면 Object를 Pool에게 되돌려 주려고 한다. 작업된 코드는 다음과 같다. public bool IsTargetVisible(Camera _camera, Transform _transform) { var planes = GeometryUtility.CalculateFrustumPlanes(_camera); var point = _transform.position; foreach (var plane in pl.. 2020. 8. 21.
문제풀이) 프로그래머스)C#) 다리를 지나는 트럭 다리를 지나는 트럭 URL :https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이�� programmers.co.kr 이 코드는 다른 풀이 방식을 참고한 코드로 실제 내가 풀었던 코드는 실패가 난 상황이다. 그런데. 케이스를 찾지를 못한 상황이 생겨서 검색하게 된 코드이다. public int solution(int bridge_length, int weight, int[] truck_weights) { Queue bridge =.. 2020. 8. 21.
문제풀이)프로그래머스)C# 스킬트리 스킬트리 URL :https://programmers.co.kr/learn/courses/30/lessons/49993# 코딩테스트 연습 - 스킬트리 programmers.co.kr 선행되는 스킬을 순서대로 배워야 하는 순위에 대한 처리로 스킬 순서가 있는 skill string을 입력받아서 스킬 트리가 존재하는 데이터와 비교 후 가능한지에 대한 여부를 판단한다. public int Solution(string skill, string[] skill_trees) { int answer = 0; int treeLength = skill_trees.Length; for(int i=0; i 2020. 8. 20.
읽을거리) 슈퍼셀을 경영하면서 배운 10가지 교훈 슈퍼셀을 경영하면서 배운 10가지 교훈 슈퍼셀(Super Cell) 클래시 오브 클랜, 클래시 로얄, 브롤 스타즈, 해이데이 등등 전 세계의 많은 사람들이 즐기는 게임을 만든 회사로 올해로 10주년이 되었다. 10년을 경영하면서의 노하우 및 교훈을 공개를 했는 번역 사이트를 읽고 정리한 포스팅을 간략하게 정리한다. 무한 반복 하는 과정에서 베타 테스트에서 그들이 가장 중요하게 보는 기준은 플레이어들이 얼마나 오랫동안 게임을 플레이하는가입니다. 궁극적으로는 우리 팀이 신경 쓰는 건 오직 그 한 가지입니다. 슈퍼셀리안 중 한 사람은 이를 이렇게 표현했습니다. "리텐션, 리텐션, 리텐션. 초기 리텐션(물론 그것도 필요하지만)뿐 아니라, 신규 기능을 추가할 때에는 장기 리텐션에 더 집중해야.. 2020. 8. 20.
문제풀이)프로그래머스) 프린터 프린터 URL :https://programmers.co.kr/learn/courses/30/lessons/42587#qna 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린�� programmers.co.kr 프린터에 인쇄 요청이 오는데 우선순위(Prioirties)에 따라서 인쇄 순서를 처리한다. 그 과정에서 내가 넣은 데이터(location)가 몇 번째로 인쇄가 되는지 리턴하는 문제이다. public int Solution(int[] priorities, int location) { int answer = 0; Queue queueData .. 2020. 8. 20.
개인생각)애플 '에픽게임즈' 개발자 권한 없앨 것. 애플 '에픽게임즈' 개발자 권한 없앨 것. 위의 제목으로 기사가 있어서 으힝..? 이게 무슨 소리지 하고 기사를 클릭해봤다. 애플이 에픽게임즈의 언리얼 엔진으로 만든 각종 프로그램에 대한 기술 지원을 중단한다고 밝혔다고 한다. 8월 28일부로 개발자 권한을 중단한다고 한다. 8월 28일부터 에픽게임즈는 애플로부터 SDK(소프트웨어 개발 키트), API(프로그래밍 인터페이스)를 비롯한 각종 도구를 받을 수 없고, 사용할 수도 없다. 그렇게 되면 애플에서 제공하는 여러 가지 패킷 데이터부터~ 언리얼의 게임으로 만든 게임의 유지보수 및 업로드 관련되서도 문제가 많을 것이라는 예측이 나온다. 에픽게임즈는 전례없는 압박에 언리얼 엔진에 대한 실존적 위협이 될 것이라고 밝혔고, 애플은 브랜드 가치 및 유저 사이에서.. 2020. 8. 19.
문제풀이) 프로그래머스)C# 체육복 체육복 URL :https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번� programmers.co.kr 전체 학생 중에서 잃어버린 학생의 데이터를 차감 후, 예비 체육복을 가진 친구들이 빌려준다는 훈훈한 이야기의 문제풀이이다. 탐욕 알고리즘은 정해진 알고리즘의 형태가 있기보다는 '현재 상태에서 최선의 수'만 선택한다에 의의를 두면 된다. public int Solution(int n, int[] lost, int[] reserve) { int an.. 2020. 8. 19.
문제풀이)프로그래머스)C# 주식가격 주식가격 URL : https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr public int[] Solution(int[] prices) { int[] answer = new int[prices.Length]; for (int i = 0; i < answer.Length; i++) { for (int j = i+1; j < answer.Length; j++) { if (pr.. 2020. 8. 18.
문제풀이)프로그래머스)C#) K 번째 수 K 번째 수 URL :https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 처음 푼 문제인데. 문제가 너무 난해해서 문제를 파악하는데 오래 걸렸다. array를 commands의 데이터를 기반으로 정렬 후 인덱스를 가져오는 문제였다. public int[] Solution(int[] array, int[,] commands) { int maxCount = commands.GetLength(0); int[] answer = new int[maxCount]; for(int i =0;i.. 2020. 8. 18.
개인생각) 실수를 하게 되는 경우를 고려한 설계 실수를 하게 되는 경우를 고려한 설계 웹 사이트를 보다보니 좋은 개발자의 마인드가 있어서 소개하고자 한다. 사람은 '무조건' 실수를 할 수 있다. 사람이기 때문이다. 그러면 사람은 무조건 실수를 하기 때문에 실수를 했을 때(!)를 위한 대비책이 필요하다. 1. 실수를 했다.라고 알려주는 방식 2. 실수를 하지 못하도록 한다. 3. 실수를 해도 괜찮도록 한다. 이렇게 실수를 했을때 어떤 식으로 대처하는지는 조직이나 시스템에 달려있지만. 기본적으로 개발자의 좋은 마인드라고 생각한다. 나도 개발하는 과정에서 검증이 필요한 요소는 최대한 검증을 하고 진행한다. 결국 이 과정을 거치지 않는 코드들은 사이드 이펙트를 만들거나 예기치 못한 버그를 발생한다. ★★★☆☆ 2020. 8. 14.
기본기)Array 와 List 의 차이점 Array 와 List 의 차이점 작업을 하다보면 Array와 List의 차이를 모르고 사용하는 분들이 종종 계신다. 면접문제에서도 간단하게 물어볼수 있는 항목으로 기본적으로 이해하고 가면 좋다고 생각한다. Array 인덱스를 통한 검색이 용의함 연속적인 메모리의 할당 정적인 표현 * 데이터의 크기가 정해져 있고 추가적인 삽입과 삭제가 일어나지 않는 경우에 사용하는 것을 추천한다. List 불연속적인 메모리 공간 할당 포인터를 통한 접근 동적인 표현 *데이터의 크기가 정해져 있지 않고 추가적인 삽입이나 삭제가 빈번히 일어나고 검색이 적은 경우에 추천한다. ArrayList - Object 클래스를 데이터로 받는 Array와 List를 합친 구조 - Reference Type을 넣으면 상관없지만 Value.. 2020. 8. 11.
Unity) 스키 게임 프로토타입(Ski Game Prototype) 스키 게임 프로토타입(Ski Game Prototype) 샘플로 프로토 타입 만들던 스키 게임 프로젝트가 있어서 포스팅하게 되었다. 게임의 시스템은 간단했다. 스키처럼 움직임이 구현이 되고 나무나 방해물에 부딪히면 게임오버가 되는 결승점까지 가는 것을 반복하는 게임을 밴치 마킹했다. 나무와 아슬아슬하게 닿으면 보너스 점수를 더 주는 시스템이었다. 나무를 기울기 공식에 따른 나무를 배치를 한다. 캐릭터의 움직임에 대한 처리하는 과정이 공들였던 기억이 난다. 나머지 나무와 플레이어는 Collider가 포함되어있고 OnTriggerEnter를 기반으로 처리했다. 개인적으로는 심플하고 간단하게 만든 프로토타입 치고는 게임의 기본 요소는 잘 갖춰진 프로토타입이라고 생각한다. ★★★☆☆ 2020. 8. 10.
Unity) 이미지 픽셀 (Image Pixel) 구분하기 이미지 픽셀 (Image Pixel) 구분하기특정 상황에서 이미지의 Pixel을 구분해서 데이터를 처리해야 하는 경우가 종종 생긴다.어떤 모양(Shape)을 처리하는 과정에서는 이미지를 읽어서 자동화 하는 과정에서 사용하면 굉장히 편할듯하다.이미지를 넣고 데이터화를 시키는 과정을 거치게되면 해당 그림 만큼 데이터화가 가능하다.읽은 데이터는 다음과 같다.이미지는 인터넷에서 아무거나 추출했다. 실제 처리한 데이터는 다음과 같다.Texture를 읽고 해당 데이터의 width, height 를 GetPixel로 Color 데이터를 추출해서 해당 Color 데이터가 특정 기준과 비교를 하는 과정을 처리 했다.이미지를 읽는 과정에서 Read/Write Enabled 설정을 True 로 변경해야 가능하다. 이미지를 .. 2020. 8. 10.
반응형