[Unity2D] 게임 디자인
Develop/Unity2024. 2. 22. 15:20[Unity2D] 게임 디자인

게임 디자인 게임 제작에 앞서 게임 디자인이란 것에 대해 생각해야한다. 게임 디자인이란? 게임 디자인(game design)은 게임을 플레이하는 사람에게 전달하고 싶은 재미를 표현하고 구현하기 위해 게임의 규칙과 내용을 설계하는 과정을 지칭하는 말이다. 또한 이미 제작된 게임의 설계 양식이나 문서를 가리키는 말로도 사용된다. 게임 디자인에는 여러가지 제약들이 존재하지만 소규모로 제작하는 입장에서 고려해야할 것들에 대해서 간단하게 얘기하자면 이런 것들이 있다. 게임의 요소와 메카닉 사용자 경험(Player Experience) 핵심 기능(Core Mechanic) 게임 루프(Game Loop) 하나씩 살펴보자. 게임의 요소와 메카닉 게임의 요소와 메카닉은 단순하게 말하면 무엇이 게임에 있고, 어떤 방식으로..

[Unity2D] unity와 C#, VSCode 설정(macOS, M1)
Develop/Unity2024. 2. 22. 00:56[Unity2D] unity와 C#, VSCode 설정(macOS, M1)

이 글은 애플 실리콘(M1칩)을 사용하는 맥북에서 Unity와 VSCode를 설정하는 것을 다룹니다. 윈도우의 경우 다른 글을 참고하는게 좋습니다. Unity 설치 1. 유니티 허브(Unity Hub) 다운로드 및 설치 유니티 홈페이지에 접속해서 유니티 허브를 다운로드 하면 된다.▼ 다운로드 지금 Unity를 다운로드하고 전 세계적으로 가장 큰 인기를 누리는 2D/3D 멀티플랫폼 경험 및 게임 제작용 개발 플랫폼을 사용하세요. unity.com 필자는 베타버전을 사용하고 있다. 현재까진 다른 버그는 발견하지는 못했지만, 나중에 어떤 버그가 발생할 지 모르기에 안정된 일반 버전을 설치하는게 좋을 것 같다.▼ 다운로드 했다면 파일을 열고 설치하면 된다.▼ 설치를 완료했다면 유니티 계정으로 로그인하자. 2. ..

[Unity2D] 기초에 앞서
Develop/Unity2024. 2. 22. 00:43[Unity2D] 기초에 앞서

Unity2D 게임 프로그래밍에 앞서 강좌 추후에 쓰일 글들은 Udemy의 강좌, C# Unity Developer 2D Coding: Learn to Code Video Games의 내용을 기반으로 작성된다. 굉장히 기초적인 부분부터 시작하며, C#을 기준으로 코드를 짠다. C#을 몰라도 C나 C++을 알면 쉽게 따라올 수 있으며, 코딩을 처음해도 무난하게 따라올 수 있을 정도로 굉장히 쉽게 설명해준다. 강의는 윈도우에서 진행되지만, 필자는 맥 환경을 사용하기에 인터페이스에 차이가 있을 수 있다. 하지만 아주 극소수의 차이만 존재하기에 사실상 둘이 거의 같다고 할 수 있다. 원하는 버튼이나 메뉴가 보이지 않으면 당황하지 마시고 차근차근 찾길 바란다. Unity란 유니티는 2D와 3D 비디오 게임을 만드..

[노션 강의] 1. 노션이란?
NOTION2024. 2. 21. 23:02[노션 강의] 1. 노션이란?

⛳️ 노션으로 무엇을 할 수 있는지 알아봅시다! 노션(NOTION) 이란? 노션은 all-in-one workspace로 문서, 데이터베이스, 위키, 달력, 프로젝트 관리 등의 기능을 제공해주는 어플리케이션입니다. 아래의 기능들을 노션 하나로 모두 사용할 수 있습니다. 문서 데이터베이스 공개 웹사이트 지식 베이스 프로젝트 관리 시스템 "그렇지만 제가 보기엔 그냥 예쁜 메모 앱인거 같은데요?" 노션의 핵심 기능이 문서 작성이기에 이렇게 보이기도 하지만, 노션을 통해 문서 작성 외의 다른 것들도 할 수 있습니다. 조금 와닿지 않으실 거 같아서 제가 만든 몇가지 워크 스페이스를 보여드릴게요. 노근이 만든 워크스페이스들 1. NOGUEN 블로그 블로그를 노션으로 운영했었다. 노션 자체적인 기능과 super.so..

백준 1167번 트리의 지름 - SWIFT
Algorithm/BOJ PS2024. 2. 20. 17:33백준 1167번 트리의 지름 - SWIFT

문제 트리의 지름이란, 트리에서 임의의 두 점 사이의 거리 중 가장 긴 것을 말한다. 트리의 지름을 구하는 프로그램을 작성하시오. 입력 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 매겨져 있다. 먼저 정점 번호가 주어지고, 이어서 연결된 간선의 정보를 의미하는 정수가 두 개씩 주어지는데, 하나는 정점번호, 다른 하나는 그 정점까지의 거리이다. 예를 들어 네 번째 줄의 경우 정점 3은 정점 1과 거리가 2인 간선으로 연결되어 있고, 정점 4와는 거리가 3인 간선으로 연결되어 있는 것을 보여준다. 각 줄의 마지막에는 -1이 입력으로 주어진다. 주..

B Tree
CS/데이터베이스2024. 2. 20. 15:24B Tree

개론 인덱싱의 기본적인 방법들, heap, hash, sorted file 들은 일장일단의 성격을 지니고 있다. 그런데 모든 부분에서 두루두루 성능이 좋게 나오는 인덱싱 기법은 없는걸까? 모든 면에서 성능이 좋은 인덱싱 기법은 없지만 적절한 성능을 내는 기법은 있다. 바로 B+ Tree이다. 하지만 이번 포스트에선 B+ Tree가 무엇인지 알아보기 전에 B+ Tree의 이전 형태인 B Tree를 보자. 특징 1. 노드에는 2개 이상의 데이터(key)가 들어갈 수 있고, 이들은 항상 정렬된 상태로 구성된다.▼ 2. 내부 노드(루트노드와 리프노드 제외 노드들)는 최소$\lceil \frac{M}{2} \rceil$, 최대 $M$개의 자식을 가질 수 있다. 최대 $M$개의 자식을 갖는 B 트리를 $M$차 B ..

인덱싱개론
CS/데이터베이스2024. 2. 19. 20:42인덱싱개론

개론 "인덱싱(indexing)이란 무엇일까?" 뉴스 기사를 수집한다고 해보자.▼ 수집한 뉴스 기사를 조회한다고 할 때, 수집한 뉴스 기사의 개수가 많으면 원하는 기사를 찾는게 쉽지 않을 것이다.▼ 그런데 뉴스 기사를 기사 주제에 따라 쪽수로 표시하면 찾기가 훨씬 쉬워질 것이다. 곰 주제는 266쪽 부터 369쪽, 고라니 주제는 370쪽부터 500쪽 등등…▼ 그런데 이렇게 크게 나눠버리면 찾기 쉬워진 것은 맞으나 세부적인 기사를 찾기가 힘들다. 예를 들어 곰 주제에서 ‘곰돌이 푸가 성공한 이유’라는 주제를 찾으려면 266쪽으로 가서 369쪽까지 쭉 훑어봐야한다.▼ 그렇기에 대분류로 한 번 나누고 다시 소분류로 ‘곰돌이 푸가 성공한 이유’라는 뉴스 기사를 다시 한 번 쪽수를 분류 해야한다.▼ 이런 과정을 ..

정규화
CS/데이터베이스2024. 2. 19. 20:25정규화

개론 관계형 모델의 고안자인 에드거 F. 커드가 1970년에 처음으로 정규화의 개념을 도입하였다. 제 1 정규화를 발표한 이후에 이어서 제 2 정규화와 제 3 정규화를 정의하였고, 이후에는 레이먼드 F.보이스와 함께 보이스-코드 정규화(BCNF)를 정의하였다. 4 정규화 이후에는 다른 이론가들에 의해서 정의가 되었다고 한다. 위에가 간단한 정규화에 대한 역사였고, 본론인 정규화의 목적을 이야기하면, 정규화(Normalization)의 기본 목표는 불필요한 중복을 제거하는 것이다. 중복이 언제나 나쁜 것은 아니다. 때로는 설계상 중복이 필요할 때도 있다. 하지만 나쁜 것은 불필요한 중복이다. 이런 불필요한 중복은 데이터 베이스를 모호하게 만들고 각종 오류를 야기한다. 그렇기에 이런 불필요한 중복을 줄이기 ..

관계 대수 (미완)
CS/데이터베이스2024. 2. 19. 19:56관계 대수 (미완)

내용 수정/보완 후 추가 예정입니다.

관계모델
CS/데이터베이스2024. 2. 18. 22:44관계모델

관계모델의 소개 릴레이션 한 릴레이션은 릴레이션 스키마(relation schema)와 릴레이션 인스턴스(relation instance)로 이루어진다. 릴레이션 스키마 각 필드의 이름과 도메인을 명시한다.▼ Student ( sid: STRING, name: STRING, login: STRING, age: INTEGER, gpa: REAL ) 릴레이션 인스턴스 레코드(record)라고 하는 튜플(tuple)들의 집합을 말한다. 도메인 제약조건(domain constraints) : 해당 릴레이션의 각 인스턴스가 만족해야하는 중요 조건을 말한다. 차수(degree, arity) : 필드들의 수를 말한다. 카디날리티(cardinality) : 해당 릴레이션에 원소로 있는 튜플들의 수를 말한다. 관계 데이..

image