분류 전체보기 205

(1) 버튼 UI(Filter Mode,Pixels Per Unit, Sprite Mode), 글꼴

이 게임을 해보면 알겠지만 거의 99%의 버튼과 UI 디자인은 하나의 버튼으로 돌려쓰고 있는것을 알 수 있다예전에는 어떻게든 다 다른 버튼, 화려한 효과들을 넣어보려고 했었는데 인디게임, 특히 이런 간단하게 즐길 수 있는 픽셀 그래픽의 게임의 경우 이 방법이 가장 효율적이고 영리하다고 생각한다 그래서 나도 조원들과 이 돌려쓸 하나의 버튼을 찾게 되었고(사실상 직접 만들어도 될만큼의 퀄리티긴 함)가장 원작과 비슷해보이는 버튼을 찾은 결과 최종적으로는 위에 보이는 샘플중 윗줄 세번째에 있는 체크버튼에서 체크 표시를 지운뒤이렇게 색상을 바꿔 여기저기 사용하는 방식을 채택했다.  왜 굳이 하나씩 가져왔냐면, 버튼 여러개를 하나의 이미지 안에 넣어 자르려니너무 크기가 작아서 그런건지 색상이 살짝씩 변형되며 이미지..

(1) 프로그램 실행 & 기본적인 것들

주로 Empty Views Activity를 선택해 프로젝트를 만든다. 공부용으로 쓸 경우엔 프로젝트 설정에서 언어를 Java로 설정해주자 Tool > Device Manager에 들어가면 내가 가상으로 쓸 수 있는 폰의 기종과 레벨이 나온다난 사전이 설치를 했으니 보이지만 없으면 설치하도록 하자. 보통 Pixel 2가 가장 적당하다  AVD 이름을 설정하고 필요에 따라 Show Advanced Settings를 선택AVD를 생성하고 업데이트해서 적용되는데 약간의 시간 소요 가능  위에 보이는게 프로젝트 구조이다 manifests - AndroidManifests.xml : 애플리케이션 수행에 필요한 필수 정보java : 소스코드res : 각종 리소스 저장 폴더drawable :  그려질 수 있는 객체 ..

(3) 게임 클리어/오버 판정, 상점과 다음레벨 구현(임시)

이번에는 핸드 가능 횟수를 다 사용하기전에 목표점수를 넘으면 게임클리어,다 사용했는데도 목표점수를 넘지 못한다면 게임 오버 판정이 나보도록 하고 게임 클리어 > 게임클리어 알림 + 돈 정산 > 상점창 띄우기게임 오버 > 게임오버 알림 + 다시하기 & 메인메뉴로 이동버튼 이 순서로 게임이 진행되도록 해보겠다  우선 정말 임시로 쓰일 클리어와 게임오버 창을 만들어주었다일방적인 게임은 아예 다른 씬으로 넘어갈수도 있겠지만 원작은 최대한 씬 변환을 최소화한게 보이기에나도 그대로 따라가기로 했다 using System.Collections;using System.Collections.Generic;using UnityEngine;public class GameOverManager : MonoBehaviour{ ..

(2) 기본 시스템 개발 - 2 (핸드플레이 버튼,엔티,라운드,핸드와 버리기 사용제한, 애니메이션 최적화(DOTween))

이번글에서는 핸드플레이 버튼 기능을 만들어보려고 한다  물론 그와 함께 점수를 계산하고 저장하는 기능도 연계하여 만들 예정이다 그전에 카드를 플레이했을때 카드 위로 각각 숫자에 맞는 점수가 활성화 되었다가 사라지는 기능부터 구현해보자2~10까지는 각 숫자에 맞게 점수가 부여되고 JQK는 10점, A는 11점을 부여받는다 그럴려면 카드 위에 각자의 숫자에 맞게 점수가 올라와야 하는데 이걸 하려면 카드의 프리팹 구조를 수정해야 한다우선 카드 프리팹의 밑으로 캔버스와 텍스트 파일인 PointText를 만들어주었다당연히 텍스트는 캔버스 요소이므로 캔버스가 위에 필요하고  각각 캔버스와 PointText의 Inspector창이다우선 캔버스를 보면 Render Mode - World Space로 되어 있는데 이게 ..

Canvas RenderMode 정리

늘 유니티를 하며 헷갈렸던 부분 중 하나. 게임 오브젝트는 인게임 요소고, 텍스트는 캔버스 요소라 둘은 완전 다른 위치에 있는데,만약 텍스트를 게임 오브젝트 요소처럼 쓰고 싶다면 어떻게 해야할까?  결론부터 말하면 Canvas의 Render Mode를 - World Space로 변형해주면 된다그럼 도대체 이 World Space모드가 무엇이고, 다른 모드는 무엇이 있는지 정리해보도록 하자 더보기🔹 1. Screen Space - Overlay (기본값)📌 UI가 항상 화면의 맨 위에 그려지는 모드카메라에 상관없이 화면 픽셀 좌표에 고정가장 성능이 좋음 (UI 전용 렌더링 패스 X)멀티캠 지원 X (항상 게임 화면 위에 고정)🔹 특징✅ UI가 항상 화면 크기에 맞게 유지됨✅ 카메라 거리와 상관없이 항..

객체지향 프로그래밍, 클래스, 생성자, 정적필드(static), this 키워드

클래스를 이야기하려면 먼저 객체지향 프로그래밍이라는것을 먼저 알아야한다사실 예전에도 객체지향에 대해 정리해둔 글이 있다   클래스와 오브젝트는 객체지향의 핵심이다.객체지향은 '사람이 현실 세상을 보는 방식'에 가깝게 프로그램을 완성하는것'이다 클래스 : 표현하고 싶은 대상을 추상화하여 대상과 관련된 변수와 메서드를 정의하는 틀이다(추상화 : 대상의 핵심적인 개념과 기능을 추려내는것) 오브젝트 : 물건의 설계도인 클래스와 달리 그 설계도로 만들어낸 실제 존재하는 물건(실체)이다  그림을 보면 더 이해가 쉬울 것이다 Human이라는 설계도(클래스)를 이용해철수와 영희라는 사람(오브젝트)를 만들어내는 원리인 것이다.  마치 전세계에게 몇십억의 인구가 있지만 모두 '인간'으로 분류되듯 아무리 많은 오브젝트들이라..

Notion

한창 졸업작품 준비로 바쁠때, 처음으로 다른 조원들과 호흡을 맞춰야하기 때문에 1인개발때는 사용하지 않았던개발 협업툴을 사용할 때가 되었다. 가장 많이 추천하는것은 이렇게 3가지로,주로 게임회사에서는 지라를 많이 사용한다고 하지만 대규모 개발에 어울리며 입문용으로는 조금 어렵다고 한다.. 그래서 이런 소규모 게임개발에는 노션+트렐로를 주로 추천하지만 우리는 노션을 최종적으로 사용하기로 했다 그래서 간단하게 노션의 사용방법을 적어보도록 하겠다.    우선 노션에 들어갔을때 가장 먼저 보게 될 화면이다. 제일 우선은 같이 노션을 사용할 팀원들을 초대해주자    설정 > 사람 > 멤버추가에 메일계정을 넣어 추가할 수 있다.   +새로추가를 누른뒤 나에게 필요한 옵션을 추가해주면 된다.나는 게임개발에 적합한 프..

(1) 기본 시스템 개발 - 1 (카드관리, 카드 움직임, 핸드족보, 버리기버튼)

가장 먼저 해야할 것은 게임의 기본 베이스가 될 시스템을 개발하는것이다갤럭시볼을 만들땐 이것저것 완전 처음부터 시작했겠지만 이번엔 조금 더 진도를 팍팍 나가보겠다사실 개발이 어느정도 진행된 시점에서 이 글을 쓰는것도 있다..  내가 지금까지 만든 게임 화면이다. 하나씩 하나씩 보며 짚어가보도록 하겠다 예전엔 코드를 전부 붙여가면서 설명했었는데 지금은 코드가 굉장히 길어진 관계로 기록용 느낌으로간략하게 설명하고 넘어가겠다우선 52장이나 되는 카드를 관리하는법부터 알아보자 우선 카드에 쓰일 이미지 52장을 리소스 폴더에 넣어주었다  이미지 스프라이트 분리 방법이런 사진이 한장 있다고 치자. 52장의 카드들이 한장의 이미지안에 들어있다  Sprite Editor로 일정하게 잘라내기까지는 끝냈는데..  문제는 ..

이미지 스프라이트 분리 방법

이런 사진이 한장 있다고 치자. 52장의 카드들이 한장의 이미지안에 들어있다  Sprite Editor로 일정하게 잘라내기까지는 끝냈는데..  문제는 이 잘린 스프라이트들을 어떻게 하면 각각 하나의 이미지로 구별할 수 있을까?하나씩 드래그하여 프리팹으로 만들수도 없는 노릇이고..막막할 수 있지만 이럴땐 좋은 방법이 있다 그대로 따라하기만 하면 손쉽게 자른 이미지들을 하나씩 보관할 수 있다  1. 우선 에셋에 Editor라는 이름으로 폴더를 하나 만든다  2. 아래 코드를 그대로 복사하여 스크립트를 하나 만든뒤 Editor 폴더 안에 넣어준다 using UnityEngine;using UnityEditor;using System.IO;public class SpriteExporter : MonoBehavi..

(1) 게임 소개

대학 졸업과제를 시작하면서 한번 더 게임을 만들게 되었다이번에는 1인개발이 아니라 조원을 둘 구해 셋이서 팀 개발을 해볼것이다.  전에 만든 Galaxy Ball은 아예 모든걸 처음부터 기획하여 시작했다면 이번에는 기존에 있던 게임을 참고할 예정이다  바로 내가 굉장히 재밌게 플레이했고, 지금도 재밌게 하는중인 "Balatro"라는 게임을 참고할 생각이다사실 참고라고 하기엔 디테일한 부분들을 제외하면 발라트로가 사용중인포커 게임의 룰, 시스템을 그대로 가져올 예정이다 이렇게 하면 게임 기획, 밸런스 조절에 대해서 회의하고 토론하는 시간을 대폭 절약할 수 있다그리고 기존에 있던 시스템을 참고하는거라 그 외적인 부분들에도 굉장히 시간을 아낄 수 있다 그럼 왜 하필 많고 많은 게임들 중 포커 게임의 시스템을 ..

반응형