1. 수학 수학 수학!!
중학교 1학년때 포기한 수학을 중학교 1학년 수학부터 다시 시작할려고 합니다.

초등학교때 까지는 그냥그냥 했는데 중학교 올라오니 수학 선생님이 욕하면서 수업도 안하고
모 선생이 안좋아서 포기 했다는건 핑계이지만서도..

프로그램을 하면서 3d까지 한번에 경험해서 좀 난간했지만, 차츰 차츰 작은 프로젝트를 하면서..
(여지껏 4개 정도 했는데 완성 시킨게..ㅜ_ㅜ 1개는 제일 처음한 팀작업, 나머지는 개인작업)

굉~~~장히 수학에 중요성을 느꼈죠;; 모 플그램 시작할떄부터 느낀거였지만..-_-;;

2. 앞으로도 계속 내신관리를...아니 지금 보다 더;;
솔직히 내신 관리라 할것도 없지만..-_-a;;;
요즘 제 자리가 위태위태 해서...학교에서 컨닝하는 애덜이 많아 지더군요.

한번은 건의를 했죠 시험볼떄 선생님을 2명을 배치 해달라~~ 묵살되었음..-_-;;;
얻은 교훈!! 너네는 배껴라, 나는 그걸 방해할테닷(..); 그래도 압박을 좀 줘서 일명 "컨닝군단"이였던 파? 들을 분산 시키는데 성공했죠 -_-;;

저희 교실에 왼쪽 편 부분에 큰 기둥이 있어서...사각지대죠;;
다른 반은 보통 교실과 같아서 선생님 1명으로 다 보이지만
저희 반은 그 기둥 떄문에...한쪽으로 가면 다른 쪽이 안보이는 현상이...

10문제 컨닝하는데 걸리는 시간은 불과 4~5초도체 안걸려요 -_-;;
학교 시험이 어려운 것도 아니고, 전공 과목이 50% 이상이고, 놀면서 수업을 들어도
중간은 유질 정도인데 그것도 안하는...문제가 있다고 생각해요 -_-

3. 지속적인 프로젝트를...
앞서 말씀드렸다 시피 이미 4번에...실패는 아니에요 남들이 보기에는 완성을 못했으니 실패이겠지만
저는 그 안에서 무척 많은걸 너무나도 많은걸 -_-;; 항상 배웠구요.
이번에 하는 것도 정말 혼자서 햇다면 프로그램은 1달 안에 끝냈을껄요 -_-;;;; (서로 다른 사람들이 짜니까 이걸 조율하는 과정에 시간이 많이 들더군요;;)

A를 하기 위해선 B가 필요하죠.
A를 만드는 사람은 B가 이렇게 움직일 꺼라는 예상을 하고 (이렇게 설계를 하라고 했음) 만든다지만
항상 만들다 보면 바꾸는 일이 종종 생기더라구요;;

B를 A에서 사용하도록 만들다 보니깐 어떤 문제가 생겼는데 이 문제를 해결하는 방법이 2가지 이상이 항상 나오죠;;

항상 첫번째 방법을 사용하면 소스 보기에도 좋고, 전체적으로 로직이 좋아 지는 것 같지만 시간이 많이 들것 같고, 두번째 방법을 사용하면 무척 빠른 시간 안에 끝낼수는 있지만...
너무 한정적으로 움직이고 소스도 안좋아 보이고..;; 전체적으로 꼬여지는 부분이 좀 있기도 하고..

기타 등등;; 이런걸 결정하면서 나가다 보면서, 코딩도 하면서 팀장역활을 하니까 하는 일이 배 인듯한 느낌이 많죠 두가지를 하다 보니 한쪽이 소홀해질때도 많고...
그래도 항상 많이 얻어가네요 -_-a

지금도 떔빵질 해둔곳이 몇군데 있어서..(...) 빨리 완성 시키고 떔빵질 한곳들 바꿔야죠;
저에게 있어서 항상 새로운걸 배우게 되더라구요..^^;;
1번쨰 프로젝트 할때 맵,네트워크,파일 다루는거 조금
2번째 윈도우 API 정복하기 -_-+ <<- API를 얼마 안배우고 넘어가서 1번쨰 플젝트 할떄 항상 이거 끝나고 나면 API 공부해야지 하면서 했었어요..그래도 아직 많이 남았던데;;

3번쨰 API 기반, 각종 삽질들(???)
API 기반으로 애니매이션이 안들어가는 퍼즐 게임들을 만들었어요..^^;; 이때 MFC를 다시 배워야 겠다는 생각을 했죠;;

4번째 1:n에 네트워크에 다시 도전
TCP/IP 기반으로..1:n수에 네트워크에 도전;;
기본 소스는 1번째 했던걸...당시에 채팅 부분을 맡아서 했는데 그때 알수 없는 처리 부분들이 꽤 많아서
그것들 분석부터 시작했죠

네트워크를 하면 항상 느끼는건데 -_-;; 이상한 문자들이 많이 나오는 듯한;;;
1:n수에 채팅은 가능했는데 1:n수에 게임은 현재 보류중..
1:n수에 테트리스 였는데 채팅은 되지만 테트리스가 쪼끔...

넉넉히 한달쯤 잡고 찍으면 1:n수로 게임이 될듯 싶은데..^^;;
채팅이 된다는 것은 파일을 주고 받을수 있다는 거니깐...
테트리스 블럭에 정보를 주고 받으면 어떻게 될듯 싶은데

저기서 지난 여름방학이 끝나 버리는 바람에-_-;;;;;;;;

5번째 누가 보면 "한달이면 만들겠다!"
이번 겨울 방학 1월 2일부터, 최초로 지원금 까지 받고 시작했습니닷 -_-;;
지금 봐도 너무 범용성을 생각해서 만드는 꼴이 아닌가 할 정도로..;;

AI를 만들때 어떻게 처리해야 될지 고민하다가 이러쿵 저렇쿵 되서
중간에 온라인으로 참여하신 분께서 만드셨는데,
문제가 작업하던 엔진 안에서 만든게 아니라

그냥 독립적으로 만들어서 이걸 최대한 효과적이게 엔진 안에서 쓸수 있도록
처 넣는데...독립적이라서 그런지 게임 루프 안에서 처리해야 될법한 것들도
이 안에서 처리가 되고(...) 그러다 보니깐 여차저차 기타 등등

처 넣는데 꽤 진땀 뺐음;; 이떄 느낀점, 유연한 엔진에 필요성..-_-;;
좋은 엔진도 아니였다지만 흡수 시키는데 이렇게 어려울 줄이야;;
어쩄든 이 AI가 상당히 여러 곳에서 쓸수 있을 법도 하더군요.

거의 모든 것들이 필요 이상으로 쓸데없는 부분이 좀...;;
이를테면 A만 사용하고 있는데 나중을 생각해서 B도 사용할수 있도록 약간에 확장 가능성을 생각해서
만들고는 하는데요

불가피하게 (특히 시간)확장성을 없에고 A만 사용할수 있도록 만들때가 필요한데..-_-;;
찾다 보면 굳이 확장 안해도 되는 부분을 확장해두고는 하죠-_-;;
말로 표현하기 힘든 부분;;

이번껄 하면서 또 느낀 부분!!!
기본적인 설계 라는건 어디서 오랫동안 프로그래밍 공부를 해서 얻어 지는게 아니라
"경험"에서만 얻을 수 있다는...

제가 C/C++이나 API나 DirectX 같은걸 "달인" 수준으로 사용하는 실력도 안되서 쉽게 언급하기는
힘든 부분이지만....
처음 설계 하고 다른 사람에게 일을 넘겨 줄때는 이렇게 맞물려서 굴려가면 되겠다 싶은데

사람과 사람에 생각이 똑같을 수 없듯이 항상 생각대로 되는 부분은 없더라구요;
심지어 제가 만드는 부분까지도 제가 처음 생각했던 거에서 많이 바뀌고..
만들다가 다른 방법으로 만드는게 낮다고 판단되면

100여줄 되는 소스를 가차 없이 주석 처리하는 비장한 마음도 있어야 된다고 생각해요 -_-;;
스프라이트 부분을 만들때 여차저차 해서 리스트 가지고 정말 힘겹게 클래스를 만들어서
본 클래스만 70여줄 쯤되는 걸 거의 끝 부분에서 (사용하는 부분에서)

엄청난 생각이 들어 버렸죠;;;
"굳이...리스트를 사용 안해도 될것 같은데..."
가차 없이 모든걸 주석 치고 다시 생각대로 마구마구 짠 결과..

소스가 30여줄 안으로 팍 줄어 버렸죠
물론 리스트 처럼 그그그그 (말이 생각안남;;) 하튼
아, 유동적이게 ㅡㅡ;; 잡히는건 아니지만;;

하튼 이번에도 역시 얻는게 참 많습니다.
기술 같은것만 얻는게 아니라 팀 생활을 하면 그거 대로 얻는게 많아요..^^;;
글이 무척...길어젔...네..요;