SlideShare a Scribd company logo
1 of 24
NHN NEXT
SMITH GAMES
우재우(JW.Smith)
2014 NHNNEXT 프로그래밍 연습 최종 프로젝트
2014 NHNNEXT 프로그래밍 연습
원래 만들고 싶었던 건 이거였는데…
PLATFORMER (Platform game)
2014 NHNNEXT 프로그래밍 연습
Tile Based Type
아이고 머리야...
2014 NHNNEXT 프로그래밍 연습
아니, 이것은?!?!?!
오픈 소스를 구했도다!
아트는 이로써 해결!
그렇지만
어떻게 구현할지는
여전히 모르겠...유유
2014 NHNNEXT 프로그래밍 연습
SCRATCH!!!
"Good artists copy
but great artists steal."
그래!
언어를 C#으로 바꾸고,
while문을 timer로 바꾸자!
2014 NHNNEXT 프로그래밍 연습
First MOVE
x, y 좌표를 설정하고, xv(x축 속도), yv(y축 속도)를 만든다!
x += xv , y += yv
yv가 양수라면 계속 떨어지니까 중력처럼 보인다!!!
2014 NHNNEXT 프로그래밍 연습
Game Design
순수 Platformers로 갈까?
윈드러너처럼 달릴까?
비행기 슈팅게임처럼 할까?
물 속에서 수영을 할까?
.
.
.
그래, 날도 더운데
수영이나 하자!
2014 NHNNEXT 프로그래밍 연습
Map Design
2014 NHNNEXT 프로그래밍 연습
Map Design
물이 흐르면 좋겠군!
flow += 2
back.DrawImage(배경, flow, 0);
흘려 보내고, 다른 하나가 또 따라오면 되겠지...
back.DrawImage(배경, flow % 800, 0);
back.DrawImage(배경, flow % 800 - 800, 0);
2014 NHNNEXT 프로그래밍 연습
이제 물고기가 필요하다.
원과 원 사이의 거리로 판정을 하는 거지, 암, 그렇고 말고!
그러려면 물고기를 동그랗게 만들어야겠지?
2014 NHNNEXT 프로그래밍 연습
Art Design
이렇게 허접한 그림이 이렇게 변했습니다!
2014 NHNNEXT 프로그래밍 연습
Animation
옜다!!!
2014 NHNNEXT 프로그래밍 연습
크..크..클래스?!?!
객체지향 프로그램 언어로
절차지향적 코딩을 해오던 나에게는 큰 도전이었다.
물고기를 객체로 만들다!
class Fish
{
물고기 출발 위치, 좌표, 속도, 이미지 등등
}
물고기 객체를 리스트에 담아서 연산 수행
List<Fish> fish_list = new List<Fish>();
하는 김에 주인공도 객체로 만들어 두자!
나중에 2P 만들기 좋겠지?
2014 NHNNEXT 프로그래밍 연습
이정도 버그는 나줘야 우재우재우
투명 물고기 버그도... 하하하하
Bug Fix
2014 NHNNEXT 프로그래밍 연습
진짜 게임처럼 만들기
진짜 게임처럼 만들기 위해서는 메뉴가 필요하지!
크레딧도 만들고, How to Play도 만들고,
게임 오버 화면도 만들어야겠군!
2014 NHNNEXT 프로그래밍 연습
대단하지 않아요~
폼 하나로 다 처리했습니다. 일종의 눈속임이죠! 하하하
this.BackgroundImage = 배경;
2014 NHNNEXT 프로그래밍 연습
백문이불여일플
직접 플레이 해봅시다!
2014 NHNNEXT 프로그래밍 연습
Close Beta Test
일시: 2014년 6월 16일 3시~5시
인원: NEXT인 20명
-50점은 너무 가혹하지 않나?
더 잘 죽는 방법이 필요하다
레벨업 시스템 산소가 차는 아이템
시간 점수는 어떰?
점프할 때 어색하다
스테이지
보스몹도 만들어 보라
아래쪽에 더 비싼 물고기 배치하기
쉽다
다양한 물고기!!!
산소 게이지 좀 잘 보이게
산소량에 따라 몸 색깔 바꾸기
Time Extend
2P 만들어라
나도 공격하고 싶다
2014 NHNNEXT 프로그래밍 연습
만들면서 느낀 점
1. 게임 개발은 재미있다.
내가 만들고 내가 중독되다니 -_ - ;;
2. 개발보다 아트 쪽이 손이 많이 간다.
개발 4일 중 이틀 반을 이미지 처리에 매달렸다.
3. 클로즈 베타가 괜히 있는 게 아니구나!
사용자 조사로 게임이 더 풍성해지고, 방학이 빡빡해졌다.
4. 출시하고 싶다!!!
스팀 그린라이트에라도 올릴 수 있는 수준으로 만들어 봐야겠다.
방학 때 C++ 공부해서 게임 다듬기!
나는 1인 개발자 후훗
5. 아무래도 게임 전공으로 가야겠어!
어차피 할 디자인이라면 굳이 웹을 가지 않아도...
그렇지만 졸업이 늦어지는 건 유유
2014 NHNNEXT 프로그래밍 연습

More Related Content

What's hot

게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)Kiyoung Moon
 
버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제Kiyoung Moon
 
Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?
Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?
Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?KwangSam Kim
 
스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향Eunhyang Kim
 
CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.
CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.
CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.flashscope
 
샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.
샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.
샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.flashscope
 
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰Eunhyang Kim
 
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)valhashi
 
개발하긴 싫지만 코딩은 하고싶어
개발하긴 싫지만 코딩은 하고싶어개발하긴 싫지만 코딩은 하고싶어
개발하긴 싫지만 코딩은 하고싶어Eunhyang Kim
 
Django의 배신(주니어 개발자의 Django 삽질기)
Django의 배신(주니어 개발자의 Django 삽질기)Django의 배신(주니어 개발자의 Django 삽질기)
Django의 배신(주니어 개발자의 Django 삽질기)Eunhyang Kim
 
만능 개발자를 위한 아틀리에 시스템
만능 개발자를 위한 아틀리에 시스템만능 개발자를 위한 아틀리에 시스템
만능 개발자를 위한 아틀리에 시스템KwangSam Kim
 
Taste Picker 개발경험기
Taste Picker 개발경험기Taste Picker 개발경험기
Taste Picker 개발경험기Jae Woo Woo
 
Start with Unreal Engine4 Slideshow
Start with Unreal Engine4 SlideshowStart with Unreal Engine4 Slideshow
Start with Unreal Engine4 SlideshowWuwon Yu
 

What's hot (14)

유학튜브(대상)
유학튜브(대상)유학튜브(대상)
유학튜브(대상)
 
게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)
 
버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제
 
Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?
Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?
Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?
 
스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향
 
CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.
CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.
CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.
 
샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.
샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.
샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.
 
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
 
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
 
개발하긴 싫지만 코딩은 하고싶어
개발하긴 싫지만 코딩은 하고싶어개발하긴 싫지만 코딩은 하고싶어
개발하긴 싫지만 코딩은 하고싶어
 
Django의 배신(주니어 개발자의 Django 삽질기)
Django의 배신(주니어 개발자의 Django 삽질기)Django의 배신(주니어 개발자의 Django 삽질기)
Django의 배신(주니어 개발자의 Django 삽질기)
 
만능 개발자를 위한 아틀리에 시스템
만능 개발자를 위한 아틀리에 시스템만능 개발자를 위한 아틀리에 시스템
만능 개발자를 위한 아틀리에 시스템
 
Taste Picker 개발경험기
Taste Picker 개발경험기Taste Picker 개발경험기
Taste Picker 개발경험기
 
Start with Unreal Engine4 Slideshow
Start with Unreal Engine4 SlideshowStart with Unreal Engine4 Slideshow
Start with Unreal Engine4 Slideshow
 

More from Jae Woo Woo

[WEB UI BASIC] WEB Animation 2탄
[WEB UI BASIC] WEB Animation 2탄[WEB UI BASIC] WEB Animation 2탄
[WEB UI BASIC] WEB Animation 2탄Jae Woo Woo
 
[WEB UI BASIC] WEB Animation 1탄
[WEB UI BASIC] WEB Animation 1탄[WEB UI BASIC] WEB Animation 1탄
[WEB UI BASIC] WEB Animation 1탄Jae Woo Woo
 
[WEB UI BASIC] JavaScript 4탄
[WEB UI BASIC] JavaScript 4탄[WEB UI BASIC] JavaScript 4탄
[WEB UI BASIC] JavaScript 4탄Jae Woo Woo
 
[WEB UI BASIC] JavaScript 3탄
[WEB UI BASIC] JavaScript 3탄[WEB UI BASIC] JavaScript 3탄
[WEB UI BASIC] JavaScript 3탄Jae Woo Woo
 
[WEB UI ADVANCED] Mobile Touch Event
[WEB UI ADVANCED] Mobile Touch Event[WEB UI ADVANCED] Mobile Touch Event
[WEB UI ADVANCED] Mobile Touch EventJae Woo Woo
 
[WEB UI BASIC] Javascript 2탄
[WEB UI BASIC] Javascript 2탄[WEB UI BASIC] Javascript 2탄
[WEB UI BASIC] Javascript 2탄Jae Woo Woo
 
[WEB UI ADVANCED] Mobile WEB 개발하기
[WEB UI ADVANCED] Mobile WEB 개발하기[WEB UI ADVANCED] Mobile WEB 개발하기
[WEB UI ADVANCED] Mobile WEB 개발하기Jae Woo Woo
 
[WEB UI BASIC] JavaScript 1탄
[WEB UI BASIC] JavaScript 1탄[WEB UI BASIC] JavaScript 1탄
[WEB UI BASIC] JavaScript 1탄Jae Woo Woo
 
Naver 웹툰 앱 사용성 조사
Naver 웹툰 앱 사용성 조사Naver 웹툰 앱 사용성 조사
Naver 웹툰 앱 사용성 조사Jae Woo Woo
 
[WEB UI BASIC] CSS_2
[WEB UI BASIC] CSS_2[WEB UI BASIC] CSS_2
[WEB UI BASIC] CSS_2Jae Woo Woo
 
[WEB UI BASIC] CSS_1
[WEB UI BASIC] CSS_1[WEB UI BASIC] CSS_1
[WEB UI BASIC] CSS_1Jae Woo Woo
 
[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTMLJae Woo Woo
 
C++ VECTOR, LIST, MAP
C++ VECTOR, LIST, MAPC++ VECTOR, LIST, MAP
C++ VECTOR, LIST, MAPJae Woo Woo
 
Swimming Smith 포스트 모템
Swimming Smith 포스트 모템Swimming Smith 포스트 모템
Swimming Smith 포스트 모템Jae Woo Woo
 
XCOM_Post Mortem
XCOM_Post MortemXCOM_Post Mortem
XCOM_Post MortemJae Woo Woo
 

More from Jae Woo Woo (16)

[WEB UI BASIC] WEB Animation 2탄
[WEB UI BASIC] WEB Animation 2탄[WEB UI BASIC] WEB Animation 2탄
[WEB UI BASIC] WEB Animation 2탄
 
[WEB UI BASIC] WEB Animation 1탄
[WEB UI BASIC] WEB Animation 1탄[WEB UI BASIC] WEB Animation 1탄
[WEB UI BASIC] WEB Animation 1탄
 
[WEB UI BASIC] JavaScript 4탄
[WEB UI BASIC] JavaScript 4탄[WEB UI BASIC] JavaScript 4탄
[WEB UI BASIC] JavaScript 4탄
 
[WEB UI BASIC] JavaScript 3탄
[WEB UI BASIC] JavaScript 3탄[WEB UI BASIC] JavaScript 3탄
[WEB UI BASIC] JavaScript 3탄
 
[DATABASE] Join
[DATABASE] Join[DATABASE] Join
[DATABASE] Join
 
[WEB UI ADVANCED] Mobile Touch Event
[WEB UI ADVANCED] Mobile Touch Event[WEB UI ADVANCED] Mobile Touch Event
[WEB UI ADVANCED] Mobile Touch Event
 
[WEB UI BASIC] Javascript 2탄
[WEB UI BASIC] Javascript 2탄[WEB UI BASIC] Javascript 2탄
[WEB UI BASIC] Javascript 2탄
 
[WEB UI ADVANCED] Mobile WEB 개발하기
[WEB UI ADVANCED] Mobile WEB 개발하기[WEB UI ADVANCED] Mobile WEB 개발하기
[WEB UI ADVANCED] Mobile WEB 개발하기
 
[WEB UI BASIC] JavaScript 1탄
[WEB UI BASIC] JavaScript 1탄[WEB UI BASIC] JavaScript 1탄
[WEB UI BASIC] JavaScript 1탄
 
Naver 웹툰 앱 사용성 조사
Naver 웹툰 앱 사용성 조사Naver 웹툰 앱 사용성 조사
Naver 웹툰 앱 사용성 조사
 
[WEB UI BASIC] CSS_2
[WEB UI BASIC] CSS_2[WEB UI BASIC] CSS_2
[WEB UI BASIC] CSS_2
 
[WEB UI BASIC] CSS_1
[WEB UI BASIC] CSS_1[WEB UI BASIC] CSS_1
[WEB UI BASIC] CSS_1
 
[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML
 
C++ VECTOR, LIST, MAP
C++ VECTOR, LIST, MAPC++ VECTOR, LIST, MAP
C++ VECTOR, LIST, MAP
 
Swimming Smith 포스트 모템
Swimming Smith 포스트 모템Swimming Smith 포스트 모템
Swimming Smith 포스트 모템
 
XCOM_Post Mortem
XCOM_Post MortemXCOM_Post Mortem
XCOM_Post Mortem
 

Swimming Smith 개발기

  • 1. NHN NEXT SMITH GAMES 우재우(JW.Smith) 2014 NHNNEXT 프로그래밍 연습 최종 프로젝트
  • 3. 원래 만들고 싶었던 건 이거였는데… PLATFORMER (Platform game) 2014 NHNNEXT 프로그래밍 연습
  • 4. Tile Based Type 아이고 머리야... 2014 NHNNEXT 프로그래밍 연습
  • 5. 아니, 이것은?!?!?! 오픈 소스를 구했도다! 아트는 이로써 해결! 그렇지만 어떻게 구현할지는 여전히 모르겠...유유 2014 NHNNEXT 프로그래밍 연습
  • 6. SCRATCH!!! "Good artists copy but great artists steal." 그래! 언어를 C#으로 바꾸고, while문을 timer로 바꾸자! 2014 NHNNEXT 프로그래밍 연습
  • 7. First MOVE x, y 좌표를 설정하고, xv(x축 속도), yv(y축 속도)를 만든다! x += xv , y += yv yv가 양수라면 계속 떨어지니까 중력처럼 보인다!!! 2014 NHNNEXT 프로그래밍 연습
  • 8. Game Design 순수 Platformers로 갈까? 윈드러너처럼 달릴까? 비행기 슈팅게임처럼 할까? 물 속에서 수영을 할까? . . . 그래, 날도 더운데 수영이나 하자! 2014 NHNNEXT 프로그래밍 연습
  • 9. Map Design 2014 NHNNEXT 프로그래밍 연습
  • 10. Map Design 물이 흐르면 좋겠군! flow += 2 back.DrawImage(배경, flow, 0); 흘려 보내고, 다른 하나가 또 따라오면 되겠지... back.DrawImage(배경, flow % 800, 0); back.DrawImage(배경, flow % 800 - 800, 0); 2014 NHNNEXT 프로그래밍 연습
  • 11. 이제 물고기가 필요하다. 원과 원 사이의 거리로 판정을 하는 거지, 암, 그렇고 말고! 그러려면 물고기를 동그랗게 만들어야겠지? 2014 NHNNEXT 프로그래밍 연습
  • 12. Art Design 이렇게 허접한 그림이 이렇게 변했습니다! 2014 NHNNEXT 프로그래밍 연습
  • 14. 크..크..클래스?!?! 객체지향 프로그램 언어로 절차지향적 코딩을 해오던 나에게는 큰 도전이었다. 물고기를 객체로 만들다! class Fish { 물고기 출발 위치, 좌표, 속도, 이미지 등등 } 물고기 객체를 리스트에 담아서 연산 수행 List<Fish> fish_list = new List<Fish>(); 하는 김에 주인공도 객체로 만들어 두자! 나중에 2P 만들기 좋겠지? 2014 NHNNEXT 프로그래밍 연습
  • 15. 이정도 버그는 나줘야 우재우재우 투명 물고기 버그도... 하하하하 Bug Fix 2014 NHNNEXT 프로그래밍 연습
  • 16. 진짜 게임처럼 만들기 진짜 게임처럼 만들기 위해서는 메뉴가 필요하지! 크레딧도 만들고, How to Play도 만들고, 게임 오버 화면도 만들어야겠군! 2014 NHNNEXT 프로그래밍 연습
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. 대단하지 않아요~ 폼 하나로 다 처리했습니다. 일종의 눈속임이죠! 하하하 this.BackgroundImage = 배경; 2014 NHNNEXT 프로그래밍 연습
  • 23. Close Beta Test 일시: 2014년 6월 16일 3시~5시 인원: NEXT인 20명 -50점은 너무 가혹하지 않나? 더 잘 죽는 방법이 필요하다 레벨업 시스템 산소가 차는 아이템 시간 점수는 어떰? 점프할 때 어색하다 스테이지 보스몹도 만들어 보라 아래쪽에 더 비싼 물고기 배치하기 쉽다 다양한 물고기!!! 산소 게이지 좀 잘 보이게 산소량에 따라 몸 색깔 바꾸기 Time Extend 2P 만들어라 나도 공격하고 싶다 2014 NHNNEXT 프로그래밍 연습
  • 24. 만들면서 느낀 점 1. 게임 개발은 재미있다. 내가 만들고 내가 중독되다니 -_ - ;; 2. 개발보다 아트 쪽이 손이 많이 간다. 개발 4일 중 이틀 반을 이미지 처리에 매달렸다. 3. 클로즈 베타가 괜히 있는 게 아니구나! 사용자 조사로 게임이 더 풍성해지고, 방학이 빡빡해졌다. 4. 출시하고 싶다!!! 스팀 그린라이트에라도 올릴 수 있는 수준으로 만들어 봐야겠다. 방학 때 C++ 공부해서 게임 다듬기! 나는 1인 개발자 후훗 5. 아무래도 게임 전공으로 가야겠어! 어차피 할 디자인이라면 굳이 웹을 가지 않아도... 그렇지만 졸업이 늦어지는 건 유유 2014 NHNNEXT 프로그래밍 연습