###언리얼엔진 - 온라인 FPS 게임 만들기



#제작의도

: 평소 즐겨했던 게임인 서든어택과 능력자 X를 모티프로 하여

서득어택의 맵과, 능력자X의 시점과 여러 능력의 무기를 합친 게임을

제작하고 싶어 만들게 되었다.



#사용기술 및 기능


Unreal Engine 소켓 통신, UI개발, 온라인 충돌 판정

총알 장전, 화면 쉐이크, 파티클, 각종 머터리얼


1번 무기 - 기본 무기로 맞으면 아프다.

2번 무기 - 바운딩 무기로, 벽에 닿으면 튕긴다. (튕길때마다 데미지 +5)

3번 무기 - 광역 무기로 폭발 범위에 가까울 수록 큰 데미지를 입힌다.




#시연 영상








WRITTEN BY
Who1sth1s

,

###Node JS 프로젝트 카카오톡 메신져



#제작의도

: 카카오톡과 같은 메신져를 만들고 싶어서 만들게 되었다.



#사용기술 및 기능


NodeJs 채팅, 로그인, 회원가입, 프로필 변경, 방 입장




#시연 영상






WRITTEN BY
Who1sth1s

,

#팀소개


선린 인터넷 고등학교 2 학년

- 전현성, 임세연, 박효정, 정유빈



#팀원 역할분담


전현성 : 아이디어 기획 및 UI 코딩

임세연 : UI 디자인 및 캐릭터, 몬스터 디자인

박효정 : 스킬 이펙트 및 일러스트 디자인

정유빈 : 게임 메인 개발



#게임 요약








#탈출하라! 불여우 시연영상



APK다운로드



WRITTEN BY
Who1sth1s

,

#팀소개


선린 인터넷 고등학교 1,2 학년 RGs & IWop

- 전현성, 서준혁, 김학준, 이민승, 조기훈



#팀원 역할분담


전현성 : 아이디어 기획

서준혁 : 기획서, 발표, 지갑

김학준 : 디자인

이민승 : CSS작업

조기훈 : 프론트 및 백엔드




#PushMind 시연영상









WRITTEN BY
Who1sth1s

,

###퀘이즐 온라인



#제작 배경 및 게임 소개

: 초등학교 6학년때부터 게임메이커라는 툴로 차근차근 만들다가

어느새 규모가 커져서 온라인 RPG 게임으로 만들게 된 게임이다.

어렸을때 메이플, 던전앤 파이터와 같은 게임을 좋아해서

메이플형식에 액션쾌감을 주는 게임을 만들고자 개발하게 되었다.




#느낀점

개발부터 디자인까지 혼자 다 하다보니 제작 기간이 길어졌고,

구현할 부분이 많다보니 개발진행중 혹은 미완성이라는 타이틀을 가지고 있다.

온라인 게임이라 카페에 올리고 유저들과 같이 소통하며 게임을 즐겼었는데

그런한 경험이 진로를 IT쪽으로 잡게 된 계기가 되었다.




#사용기술

소켓 통신 프로그래밍, 파티클 이펙트, Vector 자료구조를 통한 몬스터관리

ini 파일 입출력과 

HashMap 자료구조를 통한 유저 데이터 저장



#게임 영상



##퀘이즐 온라인 작업현황##





####퀘이즐 온라인 사냥영상####




#History


2011.09.06

퀘이즐RPG0.1

퀘이즐RPG 0.2

퀘이즐RPG 0.3


2012.07.18

퀘이즐온라인 1.0

퀘이즐온라인 1.9

퀘이즐온라인 1.91


2014.01.08

퀘이즐온라인 2.0

퀘이즐온라인 2.1





WRITTEN BY
Who1sth1s

,

###  유니티 게임 프로젝트 Keen.io 게임


제작 의도

: 평소 즐게했던 게임인 Slither.io 와 Agar.io 를 모티브로

삼아 유니티로 이와 같은 멀티 웹게임을 만들어 보고

싶어서 만들게 되었다.


게임 난이도

:  ★★★☆☆


게임 조작법


마우스 우클릭을 하고있으면 마우스 방향으로

캐릭터가 움직이고

좌클릭을 하면 캐릭터가 총알을 발사합니다.


적들과 싸워 끝까지 살아 남은 사람이 이기는 게임입니다.


게임 시작 시 이름을 설정하고

바로 서버에 접속하거나

자기가 방을 새로 만들어서 게임을 진행할 수도 있습니다.

Keen.io.hwp









'Unity' 카테고리의 다른 글

Unity :: 게임 기획 - 컬러 디펜스  (0) 2016.08.23

WRITTEN BY
Who1sth1s

,

2016 지역대회 중고등부 수학문제



###1번 문제


출제의도

: 수학적 사고능력 점검


문제 난이도

:  ★☆☆☆


문제 풀이


위 식을 (x^2 + 1)(x + 1) = 0 꼴로 변형한다.

그러면 x^2 = -1

x^2016 = (x^2)^1008 = 1


따라서 답은 1







###9번 문제

출제의도

: 창의적인 사고능력 검증


문제 난이도

:  ★


문제 풀이


이 문제는 다소 사고력을 요한다.

따라서 답은 5






###13번 문제

출제의도

: 추론능력 점검


문제 난이도

:  ★


문제 풀이


모든 사람이 악수를 다른횟수 했다.

따라서 이세돌씨를 제외한 사람들의 악수 횟수는 다음과 같다.

0 1 2 3 4 5 6 7 8

이중에는 이세돌씨의 아내도 포함되어있다.

8번 악수한 사람은 0번악수한 사람을 제외한 모든 사람과 악수를 했다(이세돌씨 포함)

그럼 0번과 8번 악수한 사람은 서로 부부이다. 

(부부끼리는 서로 악수를 하지않기때문)



이제 0번과 8번을 제외하고 생각해보자

1 2 3 4 5 6 7

이지만 8번과 모두 악수 했었으므로 1씩 빼준다.

0 1 2 3 4 5 6

아까와 같은 방법으로 0번과 6번은 서로 부부이다. 

(6번과 이세돌씨는 악수를 함)



이제 0번과 6번을 제외하고 생각해보자

1 2 3 4 5

이지만 6번과 모두 악수 했었으므로 1씩 빼준다.

0 1 2 3 4

아까와 같은 방법으로 0번과 4번은 서로 부부이다. 

(4번과 이세돌씨는 악수를 함)


......



위와 같이 반복하다 보면


이세돌씨는 총 4번 악수하게 된다.






###13번 문제

출제의도

: 추론능력 점검


문제 난이도

:  ★


문제 풀이


이 문제는 여러번 해보면서 추론해보면 된다. 

수 :      0000000000

자릿수 : 0123456789

총 10자리 자연수이기 때문에

자릿수의 총합이 10이 되어야 한다.

그렇게 되기 위해서는 숫자에 0이 많아야 한다는걸 직감적으로 알 수 있다.

대충 0이 9개 있다고 가정해보자


수 :      9000000000

자릿수 : 0123456789


9가 하나 있으므로


수 :      9000000001

자릿수 : 0123456789


1도 하나 있으므로


수 :      9100000001

자릿수 : 0123456789


1이 2개 이므로


수 :      9200000001

자릿수 : 0123456789


2가 하나 있으므로


수 :      9210000001

자릿수 : 0123456789


자릿수의 총합이 10이 되야함으로 9+2+1+1 =13


9(0의 갯수)를 6으로 바꿔주면 된다.


수 :      6210000001

자릿수 : 0123456789


이제 9가 없고 6이 한개 있으므로


수 :      6210001000

자릿수 : 0123456789


따라서 6*2*1*1 = 12가 답이 된다.






WRITTEN BY
Who1sth1s

,

2015 시도예선 중고등부 수학문제



###3번 문제

출제의도

: 문제의 경우의 수를 잘 파악할 수 있는가


문제 난이도

:  ★★☆☆☆


문제 풀이


아래와 같이 a+b+c+d 를 각 박스에 공을 몇개 담는지로 문제를 변형시킨다.

문제의 조건을 보면 a, b, c, d 는 1이상이다.

따라서 식을 a + b + c + d = 6 이렇게 변형한다.

그러면 6개의 공과 3개의 칸막이를 조합하는 문제가 된다.

확률과 통계 공식에 의해 

(6+3)C3

= (9*8*7) / (3*2*1)

= 84 







###4번 문제

출제의도

: 귀납적인 방법으로 문제해결


문제 난이도

:  ★★☆☆☆


문제 풀이


이 문제는 수학적 귀납법으로 증명을 할 수 있다.

만약 5원짜리와 8원짜리로 n원을 만들 수 있다면 n+5 원짜리를 만들 수 있다.

n+1 을 만들 수 있다면 n+6 원짜리를 만들 수 있다.

n+2 을 만들 수 있다면 n+7 원짜리를 만들 수 있다.

n+3 을 만들 수 있다면 n+8 원짜리를 만들 수 있다.

n+4 을 만들 수 있다면 n+9 원짜리를 만들 수 있다.

.....


이와같은 방법을 반복하면 n에서 부터 연속으로 5개를 만들 수 있다면 된다.


보기에서부터 보면

24 = 8*3

25 = 5*5

26 = 5*2+8*2

27 = 불가능

28[n]     = 5*4 + 8   

29[n+1] = 8*3 + 5    

30[n+2] = 5*6         

31[n+3] = 5*3 + 8*2

32[n+4] = 8*4        


따라서 n=28 이다.








###8번 문제

출제의도

: 여러가지 경우의 수 고려


문제 난이도

:  ★☆☆☆


문제 풀이


제곱 수 : 1, 4, 9, 16, 25, 36, 49, 64, 81, ...

89 = 81 + 4 + 4

이렇게 해서 3개라고 답을 체크 할 수 있지만 더 줄일 수 있는지 확인해 봐야한다.

실제 답은

89 = 64 + 25로

2가 된다.








###13번 문제

출제의도

: 더 작은 문제로 큰문제 해결하기


문제 난이도

:  ★☆☆


문제 풀이


문제를 간단하게 생각해 봐야한다.

4*4 크기의 경우 모든 칸을 비울 수 있는지에 대한 작은 문제로 변형한다.



위와 같이 블록을 저런 모양으로 변형 시키고

맞춰보면 된다.



 위의 오른쪽 아래서 4가지 경우가 돠 된다.

위와 같은 방법으로 왼쪽 위, 왼쪽 아래, 오른쪽 위도 된다.

결국 맵이 커져도 성립이 된다.

따라서 못 비우는 칸은 없다





###13번 문제

출제의도

: 최소 해 찾기


문제 난이도

:  ★


문제 풀이


전체 사람들의 구술 평균 : 15

가장 왼쪽에서 부터 15개를 채워주면 된다.

10 13 26 11 15 12 18 13 25 7

15  8 26 11 15 12 18 13 25 7

15 15 19 11 15 12 18 13 25 7

15 15 15 15 15 12 18 13 25 7

15 15 15 15 15 15 15 13 25 7

15 15 15 15 15 15 15 15 23 7

15 15 15 15 15 15 15 15 15 15

총 7번






###15번 문제

출제의도

: 주어진 조건에서의 최소 공간복잡도 구하기


문제 난이도

:  ★


문제 풀이


독이 와인을 먹었을 때의 결과는 죽는다(1) 산다(0) 이다.

각 와인에다가 번호를 메긴다.

와인의 번호를 이진수로 표현한다.

이진수 표현으로 바꿨을 때의 번호에서 1이 들어가는 번째의 쥐한테 해당 와인을 먹인다.

예를 들어 51의 경우 110011(2) 이므로 5번, 6번 9번, 10번 쥐한테 먹인다.

이런식으로 먹이면 최대 10마리의 쥐가 죽게된다.

왕은 착하니깐 쥐의 죽음이 최소가 되길 원하니깐 더 줄일 수 있는지 확인해야한다.


쥐가 10마리가 죽게되는 경우는 1가지 경우밖에 없다.

이 경우는 와인의 번호를 0번부터 메기게 되면

기존 : 1~1024

새로 : 0~1023


맨 마지막번호가 1111111110(2) 이기 때문에 9마리가 된다.


쥐가 9마리 죽게 되는 경우는

0111111111(2)

1011111111(2)

1101111111(2)

1110111111(2)

...

1111111101(2)

1111111110(2)


이렇게 10가지 이다.


이 수가 나올경우 뒤로 수를 1씩 더해서 이를 방지하면 된다.

그러면 와인이 총 1000병이였으니깐

와인의 번호가 0~999 번에서

번호가 1씩 밀려 총 0~1009 까지 경우가 된다.

하지만 쥐는 총 10마리이기 때문에 1024까지의 경우까지 표현할 수 있다.


따라서 최소 8마리가 답이다.



WRITTEN BY
Who1sth1s

,


컬러 디펜스

 

목차>

1. 게임 개요
1) 게임 제목

2) 플랫폼
3) 기획 의도
4) 시점

5) 장르

6) 차별화 요소

7) 게임 조작법

8) 클리어 조건

9) 주요 오브젝트

2. 게임 소개

1) 시놉시스 및 세계관

2) 플레이 컨셉

3) 그래픽 컨셉
4) 사운드 컨셉

5) UI/UX 컨셉

3. 게임 컨텐츠
1) 컨텐츠
2) 엔딩

4. 마무리

1)기획 요약

 

. 게임 개요

1) 게임 제목

-컬러 디펜스

 

2) 플랫폼

-PC

3) 기획 의도

머리를 쓰며 다양한 맵을 클리어함

단색디자인에 완벽한 조화

완벽 그 자체

 

4) 시점

탑뷰

 

5) 장르

디펜스

6) 재미 요소

다양한 종류의 터렛과 강화

머리쓰는 재미

엄청난 세계관

다양한 공략을 직접 만들어보는 재미

7) 게임 조작법

터렛을 맵에다가 설치

 

8) 클리어 조건

밀려오는 적을 모두 물리치면 클리어

 

 

9) 주요 오브젝트

컬러터렛, 어둠(), 컬러총알

 

. 게임 소개

1) 시놉시스 및 세계관

때는 바야흐로 우주 1초 세상은 온통 빛과 어둠 밖에 존재하지 않았다. 하지만 빛이 전자에 막혀 잘 나아가지 못하고 어둠이 몰려오는 상황에서 세상에 아름다운 빛을 전하기 위해 시작되는 전쟁이 시작된다. 이름하야 라이트닝 워. 그 전쟁의 서막이 이제 막 시작되는데...

 

 

2) 플레이 컨셉

터렛 설치 및 강화

 

3) 그래픽 컨셉

깔끔한 단색터렛 및 적


4) 사운드 컨셉

캐쥬얼한 사운드


5) UI/UX 컨셉

깔끔, 단순, Easy

 

 

. 게임 컨텐츠

 

 

1) 컨텐츠

강화하기, 다양한 맵, 쉬운 조작, 깔끔한 디자인

 

2) 엔딩

어둠을 모두 몰아내어 컬러세계의 아름다움을 지킴

 


 

. 마무리

 

1)기획 요약

간단하게 컬러 터렛을 설치하여 어둠을 몰아내는 디펜스게임

'Unity' 카테고리의 다른 글

Unity :: 유니티로 아가리오(agario) 만들기 - Keen.io  (0) 2016.11.14

WRITTEN BY
Who1sth1s

,

1. SoundManager 코드


1.Hieaechy에 빈 오브젝트 만들기고 soundManager로 이름바꾸기 
유니티 상단에  gamedbject --> create empty
2.soundManager에 AudioSource추가 
유니티 상단에 component --> Audio --> AudioSource
3.soundManager.css스크립트 만들기
4.코드 넣기
using UnityEngine;
using System.Collections;

public class soundManager : MonoBehaviour { 
public AudioClip soundExplosion;   //Audioclip이라는 데이터타입에 변수생성
AudioSource myAudio; //컴퍼넌트에서 AudioSource가져오기
public static soundManager instance; //다른 스크립트에서 이스크립트에있는 함수를 호출할때 쓰임

void Awake()  // Start함수보다 먼저 호출됨

if (soundManager.instance == null)  //게임시작했을때 이 instance가 없을때
soundManager.instance = this;  // instance를 생성
}
// Use this for initialization
void Start () { 
myAudio = GetComponent<AudioSource>();  //myAudio에 컴퍼넌트에있는 AudioSource넣기


public void PlaySound() 

myAudio.PlayOneShot(soundExplosion); 
// 유니티에서 기본으로 제공하는 함수 (이 소리)를 한번재생
}

// Update is called once per frame
void Update () {

}
}
player스크립트 -> void OnTriggerEnter2D(Collider2D col)이곳에
soundManager.instance.PlaySound();이거 추가






WRITTEN BY
Who1sth1s

,