Search Results

'영상처리'에 해당하는 글들

  1. 2008/03/21  Lumi's Escape! <영상처리를 이용한 사람 구출 게임> (6)
  2. 2008/03/10  4주간의 미니 프로젝트를 마치고.. (4)

Lumi's Escape! <영상처리를 이용한 사람 구출 게임>

2008/03/21 05:00 키보드예술
멤버십에서 진행한 미니 프로젝트인 "Lumi's Escape"의 결과물이다.

진행했던 사항들과 후기는 링크 참조. "4주간의 미니 프로젝트를 마치고.."


아래 동영상은 개발이 완료된 후 시연하는 모습을 담았다.




게임을 진행하는 모습





사용자 삽입 이미지
Canon DIGITAL IXUS 65 | 1/40sec | F2.8

앵글 차체
청계천에서 간단한 도면을 주고 앵글을 잘라 들고와서 조립하였다.
전면에는 아크릴을 주문 제작하였으며 강한 빛을 막고,
스크린에 상이 맺히도록 기름종이 비슷한 것을 붙였다.


사용자 삽입 이미지
Canon DIGITAL IXUS 65 | 1/40sec | F3.2

뒤에서 본 모습

빔프로젝트로 영상을 출력하고, 그 위에 올려진 캠 카메라로 영상을 받는다.



사용자 삽입 이미지
E5200 | Program | 0ssec | F2.8 | 35mm equiv 38mm | ISO-64

마커 블록의 전면도
LCD와 RF Module을 장착하였다.



사용자 삽입 이미지
E5200 | Program | 0ssec | F2.8 | 35mm equiv 38mm | ISO-64

마커 블록의 후면도
TMS320F2808 CPU를 사용하였다.



사용자 삽입 이미지
E5200 | Program | 0ssec | F2.8 | 35mm equiv 38mm | ISO-64

실제 마커 블록의 모습


사용자 삽입 이미지

2D 물리엔진

주인공 중심 좌표의 움직임을 표현하기 위해 만든 툴
중력, 힘, 마찰력, 관성 등 간단한 물리 법칙을 적용하였다.





사용자 삽입 이미지
E5200 | Program | 1/4sec | F2.8 | 35mm equiv 38mm | ISO-188

개발 시의 모습
우리는 세미나실에서 거의 개발을 했는데,
영상처리를 위해 빛을 막기 때문에 이렇게 어두운 곳에서만 계속 작업을 했다.



사용자 삽입 이미지
E5200 | Program | 0ssec | F2.8 | 35mm equiv 38mm | ISO-64

우리가 쓰던 화이트보드!
남은 할일부터 낙서, 그림, 컨셉등 잼있게 사용하였다.
2008/03/21 05:00 2008/03/21 05:00
  1. 유훈  2008/03/22 11:34     댓글주소  수정/삭제  댓글쓰기
    동영상속 욕설 난무 ㅋ 동영상으로 보니까 디게 멋있네요 ^^
    • Yarmini  2008/03/23 00:16     댓글주소  수정/삭제
      헉. 그래? 소리는 안듣고 동영상 올린건데..
      조만간 수정해야겠다^^
  2. 오군  2008/03/23 14:53     댓글주소  수정/삭제  댓글쓰기
    퍼가고 싶어열...호호호호 뿌듯뿌듯.ㅋㄷㅋㄷ
    • Yarmini  2008/03/23 23:00     댓글주소  수정/삭제
      쿠쿠. 형석이 게임이 잘 발휘했지~!

      우리 작품 남겼으면 좋았을텐데..
  3. 방양  2008/03/24 00:53     댓글주소  수정/삭제  댓글쓰기
    이거 보니 기분 좋네요- 뿌듯하고- 근데.... 마지막 보드의 압박이;;;;;; ㅋㅋㅋㅋㅋ

4주간의 미니 프로젝트를 마치고..

2008/03/10 05:10 키보드예술

 2월 초부터 3월 초까지 삼성 멤버십에서 미니 프로젝트를 진행하였다. 이번 18기 신입 기수끼리 각자 팀을 정하고 프로젝트의 아이디어 구상부터 실제 완성까지 구현하는 것이다.


팀 구성

 먼저 게임 프로그래밍을 했던 형석군이랑 같이 하기로 했고, 한 사람을 더 찾아야 했다. 마침 사람들이 서로 팀을 짜기 위해 인력시장(?)을 방불케 하던 찰나, 영상처리를 담당한 빵양이 합류하게 되었다.

- 하드웨어
형석군 - 게임 프로그래밍
빵양 - 영상처리

 PL 선정 시에는 미니 프로젝트인 만큼 경험도 쌓을 겸 다른 사람이 하는 것도 좋다고 권유했지만, 결국 가장 나이가 많은 내가 맡게 되었다.


주제 선정

 팀을 구성하자 마자 서로의 담당을 살펴본 결과 우리의 프로젝트 주제는 윤곽이 들어났다.

 하드웨어를 이용하여 영상처리를 통한 게임!

 첫번째로 정한 주제는 '그림자 영상을 이용한 결투 게임'이었다. 사람의 그림자를 카메라로 입력 받아 팔의 패턴을 분석하여 스크린에 비친 캐릭터가 기술을 사용하여 상대방을 공격하는 게임이다.
 거의 진행 될 뻔 했으나, 기술 상의 어려움과 짧은 기간으로 인해 잠시 뒤로 놓고, 다른 주제를 검토해 보기로 했다.

 주제를 검토하던 중 우리는 하나의 동영상을 보자마자 '이거 하고 싶다!!'라고 외치게 되었다. 그것은 바로 스크린에 블록을 접촉시키면 게임 속 캐릭터가 그 블록 위에 서 있는 것으로 목표 지점까지 이동 시키는 게임이다. 단순하면서도 매력적인 게임이었다.

 우리는 좀 더 스케일을 확장 시키기 위해 각 종 기능과 요소를 추가하여 시안을 계획 했다. 그리고 모두에게 프로젝트의 시작을 알리는 개발 계획 발표를 했다.

 프로젝트 제목은 'Lumi's Escape'으로 정했다.



개발 진행

 개발 회의 때 나온 방안은 스프링노트를 활용하여 정리하였는데, 이것을 통해 서로간의 의견들을 바로 정리 할 수 있어 좋았던 것 같다. 또한 할일 목록이나 일정들을 체크하는 데 유용했다. 다만 후반부로 갈 수록 정리를 하지 않은 점이 아쉬웠다.

 개발은 중반까지 각자 담당한 부분을 독립적으로 진행하기로 했다. 하지만 멤버십 내에서 각 종 교육 및 행사가 많아 실제적로는 개발을 거의 진행하지 못했다. 일정이 조금씩 밀리기 시작했다. 처음에는 느긋한 마음을 갖고 시작하였으나, 완료 일정에 가까워 짐에 따라 서로 집중하는 시간이 늘어났다.

  나는 집중력의 효율을 위해 '아침이 되기 전에는 잠을 잔다'라는 생각을 갖고 생활했는 데, 나를 제외한 팀원들은 아침이 넘어서까지 잠을 안자고 코딩하곤 했다. 그래서 주위 사람들에서 PL은 일이 적어 푸욱 잔다는 소문이 돌기도 했다ㅠ 사실 일의 양은 적긴 했어도, 억울 했다.ㅠ
 변명은 넘어가고^^ 사실 내가 감탄한 부분은 우리 팀원들은 목표한 양을 채우거나 문제를 해결 할 때까지는 상당히 놀라운 집중력을 보인 다는 것이다. 요즘 들어 어느 것 하나에 집중을 오래 하지 못하는 내가 본받아야 할 부분이었다. 또한 피곤한 몸을 이끌고 집에 도착해서까지 코딩하여 완성물을 보여 줄때는 감격을 금치 못했다.

 '프로젝트 진행 시 가장 중요한 것은 의사 소통이다.'

 3명의 다른 분야 사람이 모였기 때문에 자신의 담당 분야을 제외한 다른 분야는 깊은 지식이 부족하다. 우리는 종종 회의를 하곤 했는 데, 첫 회의 때 서로 합의 한 내용이 두번째 회의 때는 엇갈리는 경우가 종종 발생했다. 여기서 문제는 서로간에 의견을 교환하고 합의점을 찾아도 실제적으로는 자신이 알고 있는 지식에 맞추게 된다는 것이다. 애메모호하거나 불확실 한 것은 서로간에 의견이 일치하더라도 실제론 정반대가 될 수도 있다.
 PL인 나는 이러한 경우가 발생 할 수 있는 것을 미리 체크하여 보다 심도 깊게 논의하여 확실한 결정을 내렸어야 했다. 이쯤 정하면 서로가 각자 잘하겠지.. 하는 생각에 종종 넘겼는데, 결국 시간을 투자하여 회의를 한 가치를 떨어뜨린 셈이다. 이 부분을 반성하자.

 언쟁

 회의를 하다 보면 언쟁이 가끔 발생한다. 서로의 의견을 교환하다보니 충분히 발생할 수 있는 것이다. 서로 더 좋은 프로젝트를 만들고자 하는 목표만은 같기 때문이다. 언쟁이 발생하면 기본적으로 상대방의 목소리를 진지하게 받아들이기 어렵다. 악화 될 경우 감정적인 면까지 상하게 되는데, 여기까지 되지 전에 침착한 대처가 필요하다.
 우리 팀에서는 둘이 언쟁을 할 경우 한명은 약간 먼 발치에서 지켜보며 상황을 정리한다. 그리고 논쟁이 어느 정도 선이 넘었을 경우 중재를 하기 시작한다. 그리고 논쟁을 정리하기 시작하면서 본래의 목표와 어긋난 부분들을 제거한다. 그러면 의견들은 유익한 부분과 불필요한 부분으로 나뉘어 결론을 맺을 수 있다.
 이러한 역할 또한 PL이 했어야 되는데, 부끄럽다ㅠ 추가적으로 이러한 상황이 안될 경우 '10분 휴식'이라는 것을 사용해 보는 것도 좋을 듯 하다.



개발 완료

 일주일 전부터 프로젝트는 급속히 진행 되었다. 하나하나 살이 붙여지고 문제점을 잡아가며 완성도 있는 모습을 볼 수 있었다. 결국 우리는 예상했던 모든 기능들을 구현하였고, 전체적인 완성도 역시 기대에 만족했다. 마지막까지 최선을 다했기에 가능했던 것이라 생각한다.

 긍정적인 사고와 여유
 
 (팀원들이 못느꼈을 수도 있겠지만)나는 이번 프로젝트를 맡게 되면서 팀원들이 항상 긍정적인 사고를 할 수 있도록 노력하고 행동했다. 우리 프로젝트는 당연히 완성도가 높게 나올 것이며, 문제가 발생할 경우에도 큰 문제 없이 잡을 수 있을 거라는 모습을 비춰왔다. 이러한 사고를 밑바탕으로 함으로써 (약간이라 할지라도) 여유로운 마음이 생길 것이라고 믿었기 때문이다. 작은 여유는 자신의 개발 뿐만 아니라 팀 내 분위기를 좌우 할 수 있다.

 발표

 완료과제 발표 때 피곤함 떄문인지 말을 버벅거리며 프로젝트를 100% 소개 하지 못했다. 참으로 아쉽고 팀원에게 미안한 마음이든다. 우리가 열심히 노력하여 완성한 것을 대중(+평가단)에게 못 보여 준셈이니 말이다. 우리 프로젝트가 다른 프로젝트에 비해 뛰어난 점을 부각 시켰어야 했다. 그래서 부족했던 부분이나 추가했어야 하는 부분을 나열해 보았다.

1. 시작 발표 때 말한 기능들이 모두 완료된 점
2. 기능을 추가하였던 게임 요소들에 대한 설명
3. 시연 시에 대중이 주목해서 봐야 할 점
4. 개발 시 힘들었던 부분을 극복한 점
5. 보다 강한 자신감(+언어력)


마치고

 짧은 기간이었지만 프로젝트를 마치고, 많은 것을 배우고 반성할 수 있었다. 접하지 못했던 분야를 가까이서 지켜볼 수 있어 폭 넓은 지식을 쌓을 수 있었으며, 갇힌 사고 방식을 많이 넓힐 수 있었다.

 또한 프로젝트를 마치고 크게 반성한 점은 나는 계획한 일정이 바로 앞에 부딪혀야지만 비로소 작업을 시작했던 점이 부끄러웠다. 다른 팀은 개발 일정 혹은 앞당겨 수행하여 남들보다 더 여유가 있었으며, 완성도를 많이 높일 수 있었다. 나도 충분히 가능했지만 게으른 마음에 못이룬 일인듯 하다. 이 게으름이 프로젝트 뿐만 아니라 내 앞날을 크게 손해보게 만드리라하며 반성한다.

 가장 고마운 부분은 당연히 형석군과 빵양이다.^ㅡ^ 함께한 시간이 즐겁고, 서로 열중 할 수 있었던 것에 감사한다. 이러한 마음 때문에 완성한 작품을 어떻게든 보존하고 싶은 생각이 드는 것 아닐까..

2008/03/10 05:10 2008/03/10 05:10
  1. 방양  2008/03/12 12:03     댓글주소  수정/삭제  댓글쓰기
    와와- 정리해논거 보니까 웬지 뿌듯해요!!! 동영상 촬영한거는 편집할거에요? 편집하고 저좀 -_-ㅋㅋㅋ
  2. 미친병아리  2008/03/16 23:09     댓글주소  수정/삭제  댓글쓰기
    와우~ 좋은 경험 하셨네요.. 실전에서 많은 도움이 될 것 입니다..
menu openmenu close