반응형 개발/기본) 개발용어41 개발용어) 매직 넘버 (Magic Number) 매직 넘버 (Magic Number) 프로그래밍에서 '매직 넘버'는 코드에서 직접 사용되는 숫자 값으로 '매직'이라는 용어는 코드를 읽는 사람에게 숫자의 의미가 즉시 명확하지 않고 왜 이 값이 들어갔는지 의미를 알기 힘든 수치값들이다. public static float WEAPON_ATTACK_DELAY_TIME_SEC = 1f; public static int REVIEW_PLAY_COUNT_INTERVAL = 5; public static int REVIEW_FIRST_PLAY_COUNT = 10; public static int REVIEW_CANCEL_COUNT = 2; public static float WEAPON_SCALE_VALUE = 1.5f; public static float CAM.. 2021. 9. 6. 게임개발) 히트 박스(Hit Box) 히트 박스(Hit Box) 히트 박스는 게임에서 공격 판정이 되는 영역, 즉 공격이 닿는 범위 사각영역 을 말한다. 예시로 대전 격투 게임인 킹 오브 파이터즈 및 길티기어의 판정은 모션 및 캐릭터에 따라 히트 박스가 좀 다르다. 실제 보이는 캐릭터의 모습과는 히트박스가 다른 경우가 종종 있다. 공격 판정의 위치를 알게 되면 좀 더 잘할 수 있지 않을까? 슈팅게임에도 히트박스 영역이 따로 존재하는 경우가 많다. ★☆☆☆☆ 2021. 7. 12. 개발용어) 지표용어 YoY, QoQ, MoM, WoW, %p YoY, QoQ, MoM, WoW, % p 지표 용어로 많이 쓰이는 용어들이라서 한번 정리하려고 한다. YoY (Year on Year) 전년 대비 증감률 QoQ (Quarter on Quarter) 전 분기 대비 증감률 MoM (Month on Month) 전월 대비 증감률 WoW (Week on Week) 전주 대비 증감률 % p 비율과 비율의 비교 증감을 표기 위의 항목과 같이 특정 기간을 기준으로 어떤 비교 수치를 하는 지표 용어들으로 비슷한 형태 구성되어 있어서 이해하기는 쉬운것 같다. 각 사용하는 곳에서 기준과 사용에 의한 계산을 하는 방식은 다르기 때문에 꼭 기준에 대해서 고려해야 한다. ★☆☆☆☆ 2021. 6. 28. 개발용어)CI/CD (Continuous Integration/Continuous Delivery) CI/CD (Continuous Integration/Continuous Delivery) CI/CD(Continueous Intergration / Continuous Delivery)는 지속적인 서비스 제공 및 지속적인 배포를 의미하는 용어로 개발하는 과정에서 완성된 결과를 만드는 일은 굉장히 비일비재한데. 이 환경을 자동화를 진행함으로 최소한의 노력으로 새로운 코드를 배포하는 것을 목표로 한다. 본인은 개인적으로 많이들 젠킨스(Jenkins) 를 통해서 위의 CI/CD 환경을 구축되어있었다. 다른 CI/CD 툴들이 많이(Continuous Integration/Continuous Delivery) CI/CD(Continueous Intergration / Continuous Delivery)는 지속.. 2021. 4. 14. 개발용어) 복셀(Voxel) 복셀(Voxel) 복셀은 3D 공간에서 2D 형태로 표현되는 이미지의 표현으로 Voxel은 (Volume + Pixel)의 합성어로 부피를 가진 픽셀이라고 할 수 있다. 마인크래프트를 대표적인 복셀을 사용한 예시이다. 복셀은 해상도가 올라갈수록 연산량이 기하급수적으로 늘어난다고 한다. ★☆☆☆☆ 2021. 4. 10. 개발용어)데이터 부정합 데이터 부정합 데이터의 부정합이라고 하는 것은 데이터가 연결되어있는 메모리 상에서 변경이 되는 경우 관련된 데이터들이 일괄적으로 값이 일치화 시키는 과정에서 데이터의 값이 다른 경우를 '데이터 부정합'이라는 표현을 쓴다. A의 사람의 통장에는 10,000원이 있고 카드와 통장이 있다고 가정하에 다음과 같은데 A의 카드로 ATM에서 돈을 출금하는 경우, A의 대리인으로 A`가 A의 통장으로 돈을 출금하는 경우, A의 은행앱으로 돈을 이체하는 경우 등 여러 가지 경우가 동시에 일어났을 때 실제 은행 내부에서는 순서대로 해당 결과에 대한 트랜잭션(Transaction) 으로 다른 곳에서 처리되지 않도록 선점을 한다. 그리고 그 다음에 순서에 대한 Job을 실행한다. 데이터의 부정합이 일어나는 경우는 위의 여러.. 2021. 3. 4. 개발용어)프로젝트 포크(Project Fork) 프로젝트 포크(Project Fork) 프로젝트 포크(Project fork)는 개발자들이 하나의 소프트웨어 소스 코드를 통째로 복사하여 독립적인 새로운 소프트웨어를 개발하는 것을 말한다. Open Source를 포크 해서 베이스로 추가 개발을 하거나 Spin Off 를 해야 하는 경우에 프로젝트를 포크 해서 사용한다. 간랸하게 '프로젝트를 통째로 복사' 한다고 생각하면 된다. ★☆☆☆☆ 2021. 2. 17. 잡학지식)RNR(Role & Responsibility) RNR(Role & Responsibility) Role & Responsibility의 약어로 즉, 역할과 책임을 표현하는 말이다. 프로젝트를 진행하는 과정에서 R&R 책임과 역할에 대한 지정을 할 때 사용한다. R&R이 필요한 이유는 여러 사람이 작업하는 과정에서 혼선이나 방치가 되지 않기 위한 일종의 장치이자 정보의 제공이다. R&R를 정하는 건 축구에서의 포지션을 정하는 것과 비슷하다. R&R를 지정하는 항목은 대체적으로 다음과 같다. 업무 분장(Job Description) 조직도 (Organization Chart) 규칙(Role) 서로 약속된 Role과 역활과 책임을 명시하는 것은 중요하다. 사전에 문제를 피하고 논의 및 협의하거나 문제가 생기는 과정에서도 담당자가 정해져 있어야 좀 더 빨리.. 2021. 1. 27. 게임용어) 컴플리트 가챠(Complete Gacha) 컴플리트 가챠(Complete Gacha) 가챠의 방법 중 모든 항목이 완성되어야 보상을 지급하는 방식의 가챠를 말한다. ( 뽑기 + 완성 보상) 갸차의 왕국인 일본에서는 컴플리트 가챠를 규제하고 있을 정도 심각하다. 2020년 현재 일본은 소비자청 고시인 현상에 의한 경품류 제공에 관한 사항의 제한(懸賞による景品類の提供に関する事項の制限) 제5항에 의거하여 컴플리트 가챠를 규제한다.라고 명시되어있다고 한다. 컴플리트 가챠를 도중에 완성을 못하면 아무 소용이 없기 때문이다. ( 더 좋은걸 보상으로 주기도 한다.) 그렇기 때문에 소비자는 결국 끝까지 뽑는 걸 선택한다. 매몰비용을 생각하기 때문이다.(그동안 들어간 재화, 노력 등) 컴플리트 가챠는 조각 시스템 / 빙고/ 별자리 등 여러 가지 방식의 표현으로 .. 2021. 1. 26. 개발용어)전치(전처리), 후치(후처리) 전치(전처리), 후치(후처리) 증감연산자를 처리하는 과정에서 처리 순서를 나타내는 표현에서 사용하는 표현이다. 증감연산자를 문법의 끝인 ; 를 기준으로 전에 처리를 하는 것을 '전치'연산자라고 한다. 예시는 다음과 같다. ex) ++ i 전치(전처리) ex) i ++ 후치(후처리) int i = 0; Logger.LogFormat("{0}", ++i); Logger.LogFormat("{0}", i++); Logger.LogFormat("{0}", i); i 의 변수가 0으로 값을 초기화 한 이후에 전치 연산자를 통해서 1로 증가가된 이후에 두번째 라인에서 후치 연산자로 ; 이후에 2로 증가가되어서 1로 로그가 찍힌다. 그 이후에 i를 출력하니 2가 출력되는 것을 확인할 수 있다. ★☆☆☆☆ 2020. 12. 30. 게임용어)티밍(Teaming) 티밍(Teaming) 티밍(Teaming)이란 일반적으로 팀이 허용되지 않은 게임에서 플레이어들의 서로 공격할 수 있음에도 불구하고 연합, 혹을 맺는 부정행위를 뜻한다. 특히나 서바이벌 게임에서는 이러한 티밍 이슈가 적지 않은 편이었으나, 배틀그라운드, LOL, 도타 등등 공식적인 대회에서도 티밍으로 부당한 이득을 챙기는 사례가 늘면서 부각되었다. ★★★☆☆ 2020. 12. 30. 개발용어)Dice-Rolls in Role-Playing Games (운 요소) Dice-Rolls in Role-Playing Games (운 요소) 어떤 선택지를 하는 과정에서 우선순위를 정하는 가장 보편적인 단순한 방법 중 하나로 주사위를 정해서 우선순위(운)를 결정하는 방식을 말한다. Dice-Rolls을 구성하는 방식은 다음과 같다. 1. 특정 수치를 기준으로 확률 배열을 구성한다. 2. 확률에 대한 배열 을 섞는다.(Shuffle) 3. 확률 배열중 랜덤으로 한 개를 뽑고 우선순위를 비교한다. 게임을 만드는 과정에서의 많이 쓰이는 방식이다. 결국 게임도 어떤 순위에 의거한 경쟁 및 수치에 대한 랜덤 성이 포함이 되어야 재미를 느끼기 때문이다. 미리 알게 되면 흥미가 떨어진다. 재미에서 '운'적인 요소를 말한다. 전문적인 표현이 애매하다보니 찾다 보니 논문 확인 및 명칭을 .. 2020. 12. 23. 잡학지식)알고리즘)Rule - Based System (단순 AI) Rule - Based System (RBS) 규칙 기반 시스템은 특정한 규칙(아이디어)을 포착하고 이를 컴퓨터 내에 구성하는 것이다. 대부분은 특정 많은 조건들로 구성되어 있다. (if - than - else) 이 규칙을 기반한 시스템은 학습능력이 없기 때문에 인공지능으로는 가짜라고 표현할 수 있지만 구성하는 아이디어가 인간의 행동을 비롯해서 구성하기 때문에 가장 단순 형태의 AI로 간주한다. 단순 능력에 대한 시뮬레이터로써는 적합한 방식이다. 구현방식은 다음과 같다. 1. 규칙을 기반해서 우선순위를 지정한다. 2. 우선순위에 의한 가중치를 부여한다. 3. 구성 및 구현부를 진행한다. 4. 검증과정을 진행한다. 참고 URL : occamsrazr.net/view/AboutRuleBasedAi Occa.. 2020. 12. 11. 용어정리) 힌팅(Hinting) 힌팅(Hinting) 글자를 표현할 때는 폰트(Font)라는 걸 통한 데이터를 그래픽 이미지에 씌워서 표현을 한다. 글자의 크기가 변경이 되는 과정에서 '왜곡 없이 출력 결과를 얻게 되는 과정'을 힌팅이라고 한다. 좀 더 뚜렷하게 보이도록 글자의 모양 크기에 따라 조금씩 변경하는 기술이라고 생각하면 된다. 글자의 크기에 따라 글자를 표현하는 두께라던지, 간격이라던지, 세밀한 조정이 된다. 단순하게 스케일만 커지는 것이 아니다. 폰트는 가독성이 좋아야 좋은 폰트라고 할 수 있다. ★★☆☆☆ 2020. 11. 18. 잡학지식) 잠수함 패치(undocumented) 잠수함 패치(undocumented) 서비스의 버전을 업그레이드하는 과정에서 비공식적으로 수치나 기능이 변경되는 패치를 잠수함 패치라고 표현한다. ('잠수함처럼 알지 못하게 적용된다'라는 뜻을 가진 것 같다.) 패치 노트와 업데이트 내역에는 포함되어 있지 않기 때문에 유저들은 모른다고 생각하는 패치인데 실상은 노출되면 문제 및 이슈가 될 패치내역인 경우가 대다수이다. 이런 잠수함 패치는 유저들이 플레이하면서 까발려지는? 케이스가 많다. 공개되지 않는 부분은 잠수함 패치라고 판단되고, 설령 범위에 들어간다 해도 실수로 빼먹는 경우 등등 에도 잠수함 패치 취급을 받게 된다. 사소한 경우에는 개발자의 실수나 공개하기 애매한 내용이라 생각하고 넘어갈 수 있으나, 심한 경우에는 게임에 대한 신뢰도가 떨어지기에 나.. 2020. 10. 28. 이전 1 2 3 다음 반응형