게임 기획

시스템 기획 2

볼태르 2023. 10. 11. 21:52

알고리즘

알고리즘 구성 조건

4. 유한성: 알고리즘은 정의된 간계들을 유한한 횟수로 거췬 후 문제(또는 행동)

이 종료 되어야 한다. (무한히 동작해서는 안된다.)

5. 효과성: 아로리즘의 모든 연산들은 유한한 시간 안에 정확하게 수행할 수있도록 단순해야 한다

 

가장 중요한 것은 효과성

입력/출력/명확성/유한성을 모두 만족하는 것은 기본

문제의 해결에 시간이 너무 소요되거나,

한 번에 끝나긴 하지만 가용한 리소스(메모리 등)를 모두 사용한다.

이는 시스템으로서 신뢰가 불가능 = 좋은 알고리즘이 아니다.

 

좋은 알고리즘의 조건

시간복잡도 : 알고리즘을 실행하여 종효 될 때까지의 시간

                    (얼마나 빠르게 실행되고 결과를 낼 수 있는가?)

공간 복잡도 :알고리즘 실행에 필요한 리소스의 크기

                    (얼마나 많은 메모리와 연산을 사용하는가?)

 

데이터

정의 

컴퓨터가 처리할 수 있는 문자. 숫자. 소리, 그림 형대로 된 정보(값)

게임 기획에서는 거의 Text(String-문자열)로 테이블에 기록되어 처리되거나 관리

 

프로그래밍 지식

프로그래밍을 알아야 하는 이유

기본적인 시스템 구성을 위한 알고리즘 설계에는 반드시 프로그래밍 지식이 필요.

특히 변수/연산자/제어문(기본)/걕체(구조체, 함수) 등은 필수.

 

프로그래밍 지식 - 변수

보통 프로그래밍은 수를 기반으로 구성된다.

이러한 숫자를 프로그래밍에서는 '변수'라는 개념으로 관리한다.

즉 변수란 '값을 담아두는 기억 공간'을 의미한다.

 

프로그래밍지식 - 변수

'변수의'선언'

이제부터 메모리에 이러한 유형의 데이터를 기록하고 사용하겠다.

이 값은 한 번만 사용하는 것이 아니라, 지속적으로 변경하고 활용이 가능하다.

 

프로그래밍 지식 - 변수

변수의 타입 

모든 변수는 타입(형)을 가진다.

타입은 변수가 저장할 수 있는 값의 최소~최대 범위, 연산방식(정수, 실수 등)을 결정한다.

 

변수의 타입

자료형 크기  값의 표현범위
문자형 char 1바이트 -128~127
unsigned char 1바이트 0~255
정수형 short 2바이트 -32768~32767
int 4바이트 -2147483648~2147483647
long 4바이트 -2147483648~2147483647
long long 8바이트 -9223372036854775808 ~9223372036854775807
unsigned short 2바이트 0~65535
unsigned int 4바이트 0~ 4294967295
unsigned long 4바이트 0~ 4294967295
unsigned long long 8비이트 0 18446744073709551615
실수 float 4바이트 34*10^~37-3.4*10^38
double 8바이트 1.7*-107^-307-3.4*10^308
long double 8바이트이상  double 이상의 표현범위

 

간단한 변수의 선언에 대한 예시

int a = 10;

=a라는 정수형 변수를 선언하고 그 a 라는 변수 10이라는 값을 대입한다.

float a pl=3.14;

pi라는 실수형 변수를 선언하고  그 pI라는 변수에 3.14라는 값을 대입한다,

char str ='a' 

str이라는 문자형 변수를 선언하고 그 str이라는 변수에 'a'라는 값을 대입한다.

                                                                        *char은 작은 값을 넣을 때도 유용합니다.

시스템 기획에서의 활용

값을 기준으로 사용할 변수를 결정(최소~최대. 값의 종류기준)

예) 0~126의 값을 저장 = char 형 변수 사용

시스템 기획을 통해 설정된 변수들이 게임 데이터의 규격이 된다..

(=데이터 기획)

 

프로그래밍 지식 - 연산자

연산자란?

숫자 또는 문자의 값을 계산하고 비교하는 규칙이 정의된 기호

프로그램에서 사용되는 기호들은 수학에서 사용되는 것과 다르다.

기본적인 수식의 구성에 활용(수학 공식을 프로그램 공식화)

 

프로그래밍 지식 - 제어문 

제어문이란?

프로그램은 다양한 제어문을 통해 기능을 분류하고 구현한다.

심플하게 말해 연산을 진행하는 명령 규칙

 

프로그래밍 지식 - 제어문

조건문 : if문 (다중 if문, else문)

지정한 조건이 참인 경우에만 if문에 해당된 내용을 처리한다.

조건이 거짓일 경우 아무도 것도 하디 않는다(반복되지 않는다.)

만약 else문을 사용한다면 if문에 해당하지 않는 모든 것에 대한 내용 처리를 의미한다.

다중 if문은 조건이 여러 가지일 경우 다양한 분류를 위해 사용한다.

 

프로그래밍 지식 - 제어문

조건문: if문 (다중 if문, else문)

예) n의 값에 따른 화면 출력에서 if(n>10) {printf" 10보다 큽니다."};

else {printf "10보다 작습니다.."};

 

프로그래밍 지식 - 제어문

조건문 : if문 (다중 if문, else문)

숫자 "n입력 →  n>10 →Yes  →10보다 큽니다 출력

                            ↓ → no→ →10 작습니다. 출력

프로그래밍 지식 - 제어문

선택문 :  swch문

활용하는 변수의 값에 따라 처리를 수행하는 조건 문

대부분의 시스템 기획에서 자주 활용한다.

 

선택문 : swich문

예) 착용한 장비의 종류에 따른 처리 

 switch(n){

case 무기 : 아이템 슬릇 1에 착용; break;   

case 방어구 : 아이템 슬릇 2에 착용; break;      

case 액세서리 : 아이템 스롯 3에 착용;  break;   

}

 개념 이해를 위한 예시 문으로 실제 프로그래밍에서는 이렇게 작성하지 않습니다.

 

 

 

                               

'게임 기획' 카테고리의 다른 글

콘셉트 기획  (1) 2023.10.23
시스템 기획 3 & 콘셉트 기획  (0) 2023.10.23
스토리텔링 & 시스템 기획 1  (1) 2023.10.02
게임 기획자는 종합예술 작가 이다  (1) 2023.10.02
UI 두번째  (0) 2023.09.21