개요 벽돌이나 벽을 향해 공을 조준할 때, 조준선이 없다면 원하는 방향으로 조준이 되었는 알 수 없죠. 그렇기에 조준선은 벽돌깨기 게임에서 중요한 역할을 하고 있어요. 공을 쏜 뒤 공이 모두 회수된 상태를 1턴이라고 가정할 때, 턴이 끝나고 벽돌이 움직이지 않고 제자리에 있어도 충분히 게임 진행이 가능하겠지만, 긴박감이 없어 게임이 루즈해지죠. 그래서 이번엔 조준선을 추가하고 매 턴마다 모든 벽돌이 1칸씩 아래로 이동하는 기능을 작업했어요. 조준선 조준선은 최대 1회 꺾인 선(벽이나 벽돌을 부딪힌 다음의 동선)으로 적용했어요. 조준선 작업을 하면서 착오가 있어서 해결하느라 시간이 걸렸는데, 역시 해결하고 나서 보니 간단한 문제였죠. 조준선이 길게 패턴으로 출력이 되야하는데 계속 점 하나만 출력되는 거예요..
개발 이야기
-
[개발일지] 벽돌깨기 레트로 (가제) - 005 조준선 & 벽돌 이동
개요 벽돌이나 벽을 향해 공을 조준할 때, 조준선이 없다면 원하는 방향으로 조준이 되었는 알 수 없죠. 그렇기에 조준선은 벽돌깨기 게임에서 중요한 역할을 하고 있어요. 공을 쏜 뒤 공이 모두 회수된 상태를 1턴이라고 가정할 때, 턴이 끝나고 벽돌이 움직이지 않고 제자리에 있어도 충분히 게임 진행이 가능하겠지만, 긴박감이 없어 게임이 루즈해지죠. 그래서 이번엔 조준선을 추가하고 매 턴마다 모든 벽돌이 1칸씩 아래로 이동하는 기능을 작업했어요. 조준선 조준선은 최대 1회 꺾인 선(벽이나 벽돌을 부딪힌 다음의 동선)으로 적용했어요. 조준선 작업을 하면서 착오가 있어서 해결하느라 시간이 걸렸는데, 역시 해결하고 나서 보니 간단한 문제였죠. 조준선이 길게 패턴으로 출력이 되야하는데 계속 점 하나만 출력되는 거예요..
-
[개발일지] 벽돌깨기 레트로 (가제) - 004 이펙트(1)
개요 공이 이동할 때 자취를 남기면서 이동하면 좀 더 역동적인 표현이 가능하죠. 벽돌에 공이 충격을 받을 때, 이펙트를 넣어 주면 타격감이 생기죠. 또한 벽돌이 부숴질 때, 이펙트가 들어가면 밋밋함이 사라지게 되겠죠? 이번에는 이러한 이펙트들을 추가하는 작업을 진행하였습니다. 공 트레일 트레일이란 오브젝트의 이동 경로에 자취를 남기며 따라니는 꼬리 같은거예요. 공의 좌취를 남김으로서 역동적으로 보이게 하는 거죠. 별똥별이 떨어질 때, 별이 지나온 길에 꼬리가 달면 떨어지는 느낌이 더 풍부해지는 것과 같아요. 공 뒤에 흩뿌려진 점들이 보이시나요? 저 점들이 공이 움직인 좌취를 따라 흩뿌려지도록 만들었어요. 이번 트레일은 Trail Renderer를 이용하지 않고, Particle System을 이용하여 파..
-
[개발일지] 벽돌깨기 레트로 (가제) - 003 벽돌 체력, 외형 변화
개요 벽돌의 체력은 1에서 많게는 몇 천까지도 부여하기도 하죠. 그만큼 공의 개수도 늘려서 게임 플레이를 하지만요. 그런데 벽돌의 체력을 표기하지 않으면, 도대체 벽돌이 언제 깨지는건지, 깨지기는 하는건지 전혀 알 수가 없죠. 이번 작업은 벽돌의 체력을 숫자로 표기하고, 체력에 따라 벽돌의 상태를 변형할 거예요. 벽돌 체력 벽돌의 체력은 벽돌의 중앙에 숫자로 표기했어요. 유니티에서 텍스트를 게임 오브젝트로 생성하려면 텍스트 메쉬(Text Mesh)를 이용하는데요. 작은 사이즈의 이미지로 이루어진 이번 게임에는 어울리지 않았어요. 그리고 숫자만 사용할 거라 폰트의 크기도 클 필요가 없었죠. 그래서 숫자 폰트를 직접 이미지로 제작하고, Sprite로 변환하여 출력하는 기능을 만들기로 결정하고 스크립팅을 시작..
-
[개발일지] 벽돌깨기 레트로 (가제) - 002 맵 에디터
개요 이번 벽돌깨기에는 스테이지를 클리어하는 타입의 게임이예요. 그러다보니 스테이지를 제작하여 저장해야 하죠. 스테이지를 저장하는 방법으로는 일일이 오브젝트를 직접 배치하여 프리팹으로 만들거나, 텍스트 파일 혹은 픽셀 이미지를 이용하여 파일로 저장하는 방법등 개발자에 따라 다양한 방법을 이용해요. 저는 이번에 유니티의 커스텀 에디터(Custom Editor)와 스크립터블 오브젝트(ScriptableObject)를 이용하여 맵 에디터를 제작하여 사용하기로 했어요. ※스크립터블 오브젝트(Scriptable Object) 란? 일반적으로 오브젝트는 어떠한 물체를 가르키고, 유니티에서는 대부분 게임오브젝트 형태를 가르켜요. 스크립터블 오브젝트는 저장하고자 하는 속성값을 물체화 하여, 다른 스크립트에서 프리팹을 ..
일상 이야기
-
[모동숲] 모여봐요 동물의 숲 구매! & 0일차
2020년 3월 20일 모여봐요 동물의 숲(이하 "모동숲")이 국내에 정식 발매가 되었어요! 저도 트랜드에 맞춰 잽싸게 타이틀을 구매하였습니다. 타이틀 패키지 모동숲은 지난 시리즈와 다르게 무인도 생활이라는 컨텐츠를 다루고 있어요. 패키지 앞면은 자급자족을 표현하고 있네요. 생활에 필요한 도구부터 가구까지 모두 재료를 모아 제작할 수 있어요. 뒷면에는 게임 컨텐츠에 대한 간단 설명이 표기되어 있어요. 플레이 인원수가 1인에서 최대 4인 가능이라 조금 놀랐어요. 아직 동시에 해보진 않았지만 함께 섬을 꾸며가는 재미도 쏠쏠할 것 같아요. 타이틀 패키지 안쪽에는 특별한 구성 없이 타이틀 한개가 포함되어 있었습니다. 비행기를 타고 친구의 섬에도 놀러 갈 수 있다는 것을 표현한 듯한 배경 이미지네요. 모여봐요 동..
-
[사용기] 필터 교체형 KF94 마스크 "AEGIS 마스크"
요즘 마스크 구하기가 하늘의 별따기네요. 필자가 금번에 인터넷을 통해 구매한 마스크도 약 3주를 기다려 도착했어요. 소개할 마스크는 "AEGIS 마스크" 입니다. 제품을 알아보니 산업용 분진마스크도 제작하는 회사 같아요. 제품 구성은 사용 설명서, 필터가 장착된 마스크, 여분의 교체 필터 1개 입니다. 마스크 안쪽에 필터가 장착되어 있습니다. 필터는 실리콘 패드안에 넣어서 사용하는 방식입니다. 실리콘 패드는 코와 입 주변에 밀착되도록 만들어져 있습니다. 실리콘 패드는 마스크에 탈부착 가능합니다. 실리콘 패드의 바깥쪽 중앙에는 마스크에 부착하기 위한 부직포가 있습니다. 아마 비슷한 재질의 다른 마스크에 실리콘 패드를 부착해서 사용 할 수 있지 않을까요? 실리콘 패드와 필터를 분리해보았습니다. 필터 장착과 ..
-
[리뷰] 슈피겐 강화유리 9H 액정보호필름
닌텐도 스위치를 구매하고, 악세서리로 제일 먼저 찾은 것은 액정 보호 필름이었어요. 평소 스마트폰 케이스나 액정 보호 필름을 슈피겐에서 구매하여 사용해왔기에 닌텐도 스위치용 보호 필름 역시 슈피겐에서 구매했어요. https://shopping.naver.com/play/play/stores/1000009993/products/2340776605?NaPm=ct%3Dk4v83hv9%7Cci%3Dcheckout%7Ctr%3Dppc%7Ctrx%3D%7Chk%3Da865c9cf96b68cc0ef231f623b58ce050e1b326c 닌텐도 스위치 강화유리 글라스tR슬림 보호필름 (2매) 슈피겐 shopping.naver.com 구성품으로 강화유리 2장, 먼지제거 스티커 2장, 액정클리너 2장, 천 1장, 기포제..
-
[리뷰] 닌텐도 스위치 언박싱
오래전부터 구매하고 싶었던 닌텐도 스위치를 이번에 구매하게 되었습니다. 제품은 "닌텐도 스위치 마리오카트8 디럭스 패키지"로 마리오카트8 디럭스 게임팩이 포함된 제품입니다. 본체는 배터리 개선판인 HAD 제품이 동봉되어 있습니다. 이마트몰에서 온라인 구매하였는데 배송도 빠르고 상품 상태도 양호하였습니다. http://www.ssg.com/item/itemView.ssg?itemId=1000031330642&siteNo=6001&salestrNo=6005 (현재는 품절인 상태네요) 1. 언박싱 패키지 상자에는 닌텐도 스위치 본체, 독, 조이콘, 조이콘 그립, 그리고 마리오카트8 디럭스 이미지가 프린팅 되어 있네요. 옆면에는 구성품과 중요한 공지, 그리고 보증서가 적혀있습니다. 보증서 부분에는 "제품 박스를..
스터디
-
주문 선택하기 | OrderSelect ()MT4 : MQL4 2020.02.28 17:11
1. 인자 설명 bool OrderSelect( int index, // 인덱스 혹은 티켓번호 int select, // 참고 종류 (티켓인지 인덱스인지) int pool=MODE_TRADES // 참고 리스트 ); index : 인덱스 혹은 티켓 번호 입력 (두번째 인자인 select의 종류에 따름) select : 티켓번호로 인지할 것인지 인덱스로 인지할 것인지 입력 (아래 추가 설명 참고) pool : 거래중인 리스트에서 선택할지, 거래중이 아닌 (청산 혹은 취소된 주문)에서 선택할 지 결정 2. select SELECT_BY_POS 다음 인자인 pool에서 리스트 순서에서 index 위치의 주문을 선택합니다. SELECT_BY_TICKET 다음 인자인 pool에서 리스트에서 티켓번호를 찾아 선택합..
-
거래 주문 청산하기 | OrderClose ()MT4 : MQL4 2020.02.27 12:32
인자 설명 bool OrderClose( int ticket, // 티켓 (주문 고유 번호) double lots, // 청산량 double price, // 청산 가격 int slippage, // 슬리피지 color arrow_color // 화살표 색상 ); ticket : 티켓 (주문 고유 번호) lots : 청산하려는 랏수 price : 청산 단가 slippage : 슬리피지 (OrderSend () 참고) color : 차트에 표시되는 청산점 화살표 색상 출처 : https://docs.mql4.com/trading/orderclose