본문 바로가기
반응형

개발/게임) 개발관련168

개발환경)젠킨스(Jenkins) Mac 설치하기 젠킨스(Jenkins) Mac 설치하기 젠킨스는 DevOps(개발환경)을 구축하는 도구 중 한 개로 빌드 환경을 구축하는 과정에서 많이 쓰이는 도구이다. 맥에서 젠킨스를 설치하기 위해서는 HomeBrew가 설치되어있어야 한다. https://brew.sh/ Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 터미널에 해당 내용을 붙여 넣기 하면 HomeBrew가 설치가 된다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 그 이후에는 젠킨스를 설치해야 한다. brew install jenkins 설치 가다 되면.. 2020. 8. 23.
게임개발)테스트 케이스(Test Case : TC) 테스트 케이스(Test Case) 테스트 케이스는 어떠한 제품의 의도된 목적과 결과물에 대한 품질 검사에 해당되는 프로세스이다. 결과물에 대한 테스트이기 때문에 제품의 후반부에서 지속적인 확인이 필요하다. 게임 개발에서는 QA(Quality Assurance)라는 그룹에서 제품을 검사할 때 여러 가지 의도된 프로세스와, 예외상황에 대한 시나리오를 작성하는데 이 과정에서 사용하는 경우의 수들이 '테스트 케이스'이다. 테스트 케이스는 성격에 따라 여러 가지가 존재하는데 공통된 항목은 다음과 같다. 식별번호 사전조건 수행절차 기댓값 결과 비고 설명 이동 테스트 케이스 TC1: 플레이어가 이동 키를 눌렀을 때 캐릭터가 정확히 한 칸씩 움직이는지 확인한다. TC2: 캐릭터가 장애물이나 .. 2020. 7. 21.
Tip) Power Code 적용법! (+자신감은 덤..?) 7Power Code 적용 법! (+자신감은 덤..?) 예전에 초창기에 사용하고 안사용하던 확장 기능인데. 매일같이 일하는 일상에서 조금 더 재미를 주기 위한??이라고 표현하기에는 프로세스가 조금은 잡아먹기 때문에 효율성을 생각하시는 분들께는 비추드리는 'Power Code'에 대해서 포스팅하고자 한다 기능을 간략하게 설명하자고 하면. VSCode에서 타이핑을 하는 순간마다 이펙트가 생겨나는 기능이다. 파워 코딩?을 할 수 있게 해 준다. 사용법은 VScode에서 Extenstion에서 'Power Mode'를 검색하고 Install 해준다. 적용을 하려면 설정을 들어간다. 항목 중에서 Enabled를 체크를 하면 현 바로 적용되는 것을 확인해볼 수 있다. Power Mode는 여러 가지 기능을 지원하는.. 2020. 7. 2.
개발)훌륭한 프로그래머 되는법(Becoming a Better Programmer) 훌륭한 프로그래머 되는 법(Becoming a Better Programmer) 좋은 프로그래머가 되기 위해서는 코드에 신경 써야 한다. 어떤 환경에서 단지 작동하는 것처럼 보이는 코딩을 거부해야 하고 올바르게 작동하는 훌륭한 코드를 짜도록 노력해야 한다.(+ 올바른 작동을 테스트하고 검증하는 테스트 환경도 갖춰야 한다) 보이는 것은 강력하다. 코드 에러를 줄이고 사이드 이펙트를 줄이려면 영리하게 짜는 것보다 명확하게 짜는 것이 더 중요하다. 읽기 어려운 코드는 작업하기 어렵다. 다른 사람을 위해 코딩하는 것을 잊지 말자 작업하기 전에 일관성에 대한 이야기를 해라. 한 번에 모든 레이어를 적용하기는 힘들다. 이후에 도입하는 것도 힘들다. 어디서부터 어디까지 변경해야 하는지 곤란하다. 이럴 땐 템플릿을 사.. 2020. 6. 3.
게임개발) 갸챠(랜덤 선택연출) 갸챠(랜덤 선택연출) 확률을 기반으로 갸챠(Gacha)의 연출을 하는 작업들을 굉장히 많이 한다. 이번에 한 연출을 정리하려고한다. 작업은 여러 개의 데이터를 연출로 표현 랜덤으로 선택이 되다가 천천히 느려져서 선택이 되는 연출을 하려고 한다. 연출의 조건은 다음과 같다. 1. 모든 후보자 데이터들이 한번 이상은 선택이 되어야 한다. 2. 천천히 느려져서 결정된 데이터를 선택이 되어야 한다. 3. 선택이 된 데이터를 제외한 나머지에 대해서 연출을 진행한다. 작업된 영상은 다음과 같다. 선택이된 상태(빨간색) / 결정된 상태(노란색) / 결정이안된 상태(흰색) 간단하게 테스트를 해봤는데 다른 곳에서도 잘 사용할 수 있을 것 같아서 이렇게 정리하게 되었다. 어디에서든 갸챠(뽑기)에 대한 연출은 쪼는 맛이 있.. 2020. 5. 13.
게임개발)컷신(Cut Screen) 컷신(Cut Screen) 비디오 게임에서 특정 순간 연출을 말한다. 컷신, 이벤트신, 시네마틱, 인게임 무비 등으로도 불리기도 하고 각기 연출을 다르게 표현하기도 한다. 모바일 게임에서는 대체적으로 궁극기나 무게가 있는 장면에서 화면에서 주로 사용한다. 컷신을 잘 사용하면 스토리나 그 상황에서 몰입감을 주게되지만 적절하게 사용하지 않으면 이질적으로 느끼게된다. ★☆☆☆☆ 2020. 2. 13.
Tip) VSCode - Getter and Setter 생성 VSCode - Getter and Setter 생성 VSCode에서는 기본적으로 Getter 와 Setter 를 생성을 해주는 기능이 없다. 어쩔수없이 마켓에서 찾아봤는데 Getter and Setter Generator가 있어서 소개하고자 한다. 마켓에서 설치하면 사용방법은 다음과 같다. 짠!. 이렇게 쉽게 Getter 와 Setter가 생성된다. 접근제한에 대한 고려로 인해서 필수로 작업하는 기능이기 때문에 한번 설치해서 사용하면 편리하다. ★★★☆☆ 2020. 1. 31.
게임개발) 레이싱 길 만들기 - 방법론 레이싱 길 만들기 - 방법론 길을 만드는 과정에는 여러가지 방법이 존재한다. 이번에 레이싱 길 처럼 곡선으로 이어진 길을 만들어야하는 상황이 생겼다. 레이싱 길을 만드는 과정은 다음과 같다. 1. 라인을 그린다. 2. 라인사이의 중점 지점을 일정한 간격으로 재생성한다. 3. 중심 라인의 양 방향(좌 , 우)의 폭(Width)만큼의 갭으로 2가지의 선을 만든다. 4. 두가지 선을 기준으로 정점 벡터를 생성한다. 5. 삼각형 폴리곤의 정점들을 연결한다. 레이싱 길은 이런형태로 만들어진다. 그냥 노가다 방법으로 만드는과정도 있긴하지만 대체적으로 게임은 특정기준으로 생성이되는 에디터 형태가 되어야한다. ★★★★☆ 2020. 1. 14.
게임개발) 피킹(Picking)기법 피킹(Picking)기법 개발에서 피킹(Picking)이라는 기법은 클릭된 곳의 객체들을 선택해주는 기능이다. 대부분의 툴에서 Viewing 된 영역에서 편의성을 위해서 쉽게 선택을 하는 방법이다. 2D 인 스크린좌표를 통해서 해당 오브젝트를 판별하기 때문에 여러가지 충돌 및 판별 로직이 들어간다. 대략적인 구현론은 다음과 같다. 2D 스크린 좌표를 월드 좌표로 변환 2D 스크린 좌표를 기준으로 Ray를 쏜다. Ray에 모든 충돌되는 오브젝트들을 판별한다. 오브젝트들중에서 가장 Depth가 적은 오브젝트를 반환 피킹의 기법에서 가장 중요한건은 좌표계의 일치화와 충돌에 대한 판단이다. ★☆☆☆☆ 2020. 1. 10.
Tip) Cocos Creator 안드로이드 실시간 디버깅 방법 Cocos Creator 안드로이드 실시간 디버깅 방법 콘솔 커맨드창 cd C:\Users\drehzr\AppData\Local\Android\Sdk\platform-tools adb.exe forward tcp:5086 tcp:5086 앱실행 - Connected chrome-devtools://devtools/bundled/inspector.html?v8only=true&ws=127.0.0.1:5086/00010002-0003-4004-8005-000600070008 --------- ※주의사항 -디버그 모드만 됨. URL : https://medium.com/@nwigi/cocos-creator-how-to-debug-native-android-58a8ac899fea Cocos Creator — H.. 2019. 12. 27.
게임개발) io 게임장르 io 게임장르 요즘 모바일이나 유튜브 같은 플레이 영상들을 보다보면 xx .io 으로 게임이 나오는 경우가 꽤나 많다많다. 작성일 기준 19.01.30일 구글(인기 차트- 무료 게임)순위이다게임) 순위이다. 통칭 io 게임이라고 불르는 게임은 뭘까? io 게임의 원조라고 불리리는 agar.io (아가리오)의 게임이 있다. http://agar.io Agar.io The smash hit game! Control your cell and eat other players to grow larger! Play with millions of players around the world and try to become the biggest cell of all! agar.io io 게임은 특정 장르를 지칭하지는 .. 2019. 12. 6.
게임개발) 레퍼 클래스(Wrapper Class) 레퍼 클래스(Wrapper Class) 레퍼 클래스(Wrapper Class)는 참 조형을 한다는 클래스로 래퍼를 표현하는 클래스를 '레퍼 클래스'라고 표현한다. 기본 자료형에 대해서 객체로 인식되도록 한번더 감싼다라는 뜻으로 생각하면 되는데. 상황에 따라 컴파일러가 자동으로 처리하기 때문에 오토박싱(AutoBoxing)이라고 한다. 래퍼 클래스를 사용하는 경우는 다음과 같다. 객체 또는 클래스가 제공하는 메소드를 사용하기 위해서 숫자, 문자로의 형변환 또는 진법 전환하기 위해서 기본형 타입 Wrapper Class byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean void .. 2019. 12. 3.
게임개발) 랜덤(Random) 랜덤(Random) 임의의'라는 뜻을 가진 영어단어로 '무작위'로 선택하는 것을 랜덤이라고 한다. 정해지지 않는 상태를 말하는 표현인데. 많은 무작위의 상태를 표현하기 위해서 사용을 한다. 확률이라던지, 상태라던지 등등 여러 상황에서 같은 패턴이 아닌 다른 변수를 만들기 위해서 사용한다. 코드에서 쓰는 기본적인 Seed 방식의 랜덤은 Time Clock을 기반으로 생성된다. 게임에서는 확률을 많이 사용하기 때문에 랜덤에 대해서 알고 사용해야 한다. 참고 URL : https://youtu.be/BLZKiAhf2UY ★★☆☆☆ 2019. 11. 25.
게임지식) 데브 옵스-DevOps (Developement + Operations) 데브 옵스(DevOps) 데브 옵스는 소프트웨어의 개발 (Develoment)와 운영(Operations)의 합성어로 소프트웨어 개발팀이 더 빠르고 안정적으로 소프트웨어를 개발하기 위한 방법론으로 자동화빌드, 테스트 및 릴리즈 할수 있도록 프로세스를 자동화하는 일련의 과정이다. 데브 옵스 환경을 구축하기 위해서는 서로의 상호 협의된 과정에서 이슈를 빠르게 해결하고 같은 업무를 반복해서 개발하지 않는것을 원칙으로 한다. 데브 옵스의 목적과 장점은 다음과 같다. 협업과정의 신뢰및 안정성 더 빠른 릴리즈 및 업무시간의 단축(Tim to market) 문제 해결시간 및 통합 적용 운영 프로세스의 예측, 유지보수의 극대화 단순한 프로세스들은 데브 옵스 환경을 구축해서 자동화하면 좋다. 데브 옵스 환경은 여러가지로.. 2019. 11. 21.
게임개발) Dps (Damage Per Second) Dps (Damage Per Second) 이름 그대로 '초당 피해량'으로 해석이된다. 즉, 1초당 얼마나 많은 양의 피해를 입힐 수 있는지를 측정하는 척도이다. 게임에서는 수치화된 정보가 필요한 경우가 굉장히 많다. 예시로 밸런스에서도 수치가 있어야 어떤결과가 나올지 예측이된다. DPS 를 계산하는 방식은 1초라는 것을 기준으로 데미지를 말하는 공식인데 1분 또는 1시간을 기준으로 데미지의 총량을 계산해서 초로 나눠서 표현한다. 1분을 기준으로 = 60/총 데미지량 = DPS ★★★☆☆ 2019. 11. 20.
반응형