2010년 3월 23일 화요일

아이폰 벨소리 앱

자동으로 되게

p2p socket in web browser

flash안쓰고 cross platform cross browser될 방법 없나?





또는 트위터 기반 메신져 만들 수 없나?

트위터 기반

트위터기반

카페,포럼,쇼핑

---

트위터 팔로와 연관도 보여주기-> 돈 벌 수 있겠다 ㅎㅎ

트위터내의 키워드 연관도 보여주기 -> 비슷한 사람인지 알아보기

---

트위터로 쇼핑 입소문 내기

---

트위터에 쇼핑 스페셜리스트 만들기

---

SNS만들기

트위터와 같은

---

2010년 3월 12일 금요일

게임프로그래밍을 위한 언어

현업에서는 보통 C/C++을 사용합니다.

서버/클라이언트 모두 그렇습니다.

게임의 특성상 퍼포먼스 저하를 최소화하기 위해서

Native Code로 생성하기 위해서죠.

또한, 기반 시스템 라이브러리들이 이 언어로 되어 있습니다.

많은 예제들

그리고 많은 프로그래머들.



그러나, 비극은 C++을 제대로 쓰지 못하는 훈련되지 않은 프로그래머들에 의해서

발생합니다.

C++은 프로그래머에게 많은 자유를 주는 언어이기도 하지만,

많은 책임도 주는 언어입니다.

그렇지만, 책임을 못하는 프로그래머들이 부지기수이지요.

단순히 메모리 할당과 해제도 잘 못해서 프로젝트가 망하기도 합니다.;;;

그러한 C++을 잘 쓰기 위해서는 교육과 그것을 서포트하는 툴이 반드시 필요한 것 같습니다.

현업에서 썼던 Prevent는 아주 좋은 Static Analysis 툴이었습니다.



아마도 앞으로는 이러한 추세가 바뀔 것으로 예상합니다.

하지만, 생산성이라는 명분이 바뀌어야 합니다.

즉, 다른 언어로 선택했을때에 생산성이 높아야지만 선택될 수 있다는 것이죠.

기본적인 안정성과 성능은 기본입니다.

즉, 다른 언어로 선택했을때에 더 빠른 생산 속도를 보여줘야지만 된다는 것입니다.

이러한 것을 보여주고 싶습니다.

제가 한 번 해보이고 싶습니다.



MS에서 밀고 있는 XNA는 C#기반에 .NET기반에서 실행됩니다.

덕분에 XBOX360,PC,ZUNE모두에서 실행이 된다죠?



앞으로 개발 환경이 많이 바뀔 것으로 예상합니다.

어떤 플랫폼을 선택하느냐에 따라서 바뀔 것입니다.



제가 보는 언어는 몇가지 있습니다.

ocaml,haskell,erlang,haskell,clojure : 함수형 언어로써 익숙해지기만 한다면, 생산성이 높아질 뿐 아니라 멀티코어에서도 잘 동작할 수 있으리라 생각합니다. 특히 ocaml은 imperative특성도 있기 때문에 익숙해질 가능성이 높습니다. MS에서도 F#을 Ocaml 을 선택하여 하고 있습니다.MS에서 F#을 클라이언트에서 쓸 게임용 언어로 선택한 듯 보입니다. MS가 아닌 솔루션을 쓴다면, 다른 언어를 써야 하는데, 역시 ocaml이 학습이 쉬울 것 같습니다. 따라서, 게임용 미들웨어가 ocaml로 많이 접목되길 바랍니다.clojure는 웹에서 새로운 트랜드로 각광받고 있는 것 같습니다. haskell은 원래 함수형 언어를 좋아하는 사람들이 많이 쓰던 언어인데, clojure로 옮겨가는 사람들이 많아지는 듯 싶어요. 게임쪽에서도 팀스위니가 이걸로 언리얼4 만들고 있지 않을까 싶구요.

scala : JVM위에서 돌아가기 때문에, 서버사이드에 풍부한 java리소스를 활용할 수 있습니다.  덧붙여 java도 서버쪽에서는 좋은 선택이 될 것 같습니다.

ruby : lua보다는 훨씬 아름다운 언어로 생각합니다. 아직은 검토해보진 못했으나, 가능성이 있다고 생각합니다. 생산성에 있어서 많은 각광을 받고 있습니다.



이러한 특성들을 조합하여

새로운 언어를 생성할수도 있습니다.

바로 ANTLR을 이용하는 것입니다.

언리얼4를 만드는 팀스위도 이것을 써서 언리얼스크립트4를 만들고 있지 않을까 추측합니다. 왜냐하면, 언리얼은 평가판에서도 소스를 공개하는데, 그 이득이 상당합니다. 의심많은 개발자들은 소스가 없이 평가하기 싫어합니다. feature driven으로 평가하지 않죠. 왜냐하면, 그 feature가 제대로 되어있기도 어렵고, 변화하기 때문이고, 변화하려면 소스 구조를 봐야 하기 때문입니다. 그런데 소스가 공개되면, 기술이 유출되는 것이기 때문에, 엔진회사에서는 그렇게 하지 않습니다. 근데, 언리얼은 언리얼스크립트를 만들면서 이 문제를 해결했습니다. 언리얼4에서 이 문제를 똑같이 해결할 것이라 예상합니다.



자,이 블로그의 목표가 생겼습니다.

여러 개발 패러다음을 합쳐서 하나의 통합된 솔루션을 만드는 것입니다.

또한, 게임개발용 언어를 ANTLR로 만드는 것입니다.

삼일교회 동영상 설교 아이팟에서 보기

컨셉:



하나님의 뜻을 바로 알자.

좋은 설교가 전파되게 하자.

교회를 참석하는 것이 능사가 아니라, 하나님의 뜻을 바로 아는 것이

 중요하다는 것을 깨닫게 하자.

경쟁으로 하여금 목사들의 설교 능력을 향상시키도록 하자.

무명의 목사들이 입문하는 기회를 넓히자.



마일스톤1:



수동으로 링크한 설교를 아이팟(안드로이드)에서 다운로드 해서 본다.

(얼마 이상 되면 자동으로 지워진다.)

다운로드 한 것을 저장해 놓고 볼 수 있다.



(웹에서 설교만 모은 페이지를 만들 수 있다.)



마일스톤2:



링크를 어드민 페이지에서 추가할 수 있다.

(교회/날짜/주제/참고성경구절/링크/...)

(나중에 교회별로, 날짜별로,성경별로 볼 수 있게 될 것이다.)

(같은 성경구절에 따라서 다른 설교도 볼 수 있게 될 것이다.)



마일스톤3:



좋아하는 설교를 표시할 수 있고, 해당 설교 밑에 기도를 입력 할 수 있다.

(기도를 입력하기 위해서는 회원 인증이 필요하다.)



마일스톤4:



자신만의 설교 페이지 블로그를 만들 수 있다.

자신이 좋아하는 설교를 바로 링크할 수 있다.

(자신의 기도 페이지를 볼 수 있고,형제/자매들과링크가된다.)





마일스톤5:





삼일교회만 아니라  여러 교회의 설교를 넣을 수 있다.

성경책 통독표에 따라서 설교를 넣을 수 있다. 사용자는 성경책을 설교를 통해서 쉽게 읽을 수 있게 된다. 설교뿐 아니라 만화등도 넣을 수 있다.



마일스톤6:

2010년 3월 9일 화요일

구글 리더 기능 아이디어

관심은 많이서 구독 피드는 많아졌는데

다 읽을 수는 없다.

그 중 추천하는 피드를 주던가

모두 트위터처럼 흘려버릴 수 있게 바꿔주던가

한달마다 피드를 재구성하고

지난 피드들도 남게 하면 좋겠다.



이거 괜찮을 듯 한데.

게임프로그래머가 인터넷 프로그래머로

저는 게임 프로그래머로 18년 정도 일했지만,

인터넷 프로그래밍을 한 적은 없습니다.



어떤 계기로 해서

인터넷 기술을 배우고 있습니다.

앞으로 프로젝트도 할 것 같습니다.

모르는 것이 많습니다.

이 블로그를 보는 분들의 도움이 많이 필요합니다.



지금 보고 있는 책들은

Spring,Django,Ruby On rails등의 언어와 플랫폼에 관한 책들입니다.

하지만, 프로젝트를 진행하다보면,

그보다 훨씬 진보된 기술들이 필요하게 될 것 같습니다.



지금까지 가진 통찰은

Java언어가 핵심인 것 같습니다.

1) 자바가 좋아서 계속 발전시킨 케이스 : Struts, Spring , JBoss 등

2) 자바가 좋지만 부족한 면을 발전시킨 케이스 : Groovy 등

3) 자바가 싫어서 다른 길로 간 케이스 : Ruby on Rails , Django 등

이렇게 나눠지는 것 같아요.



요즘은 RDMS를 더 쉽게 쓰려는 움직임이 있는 것 같네요.

NoSQL이라든지, ORMapping 이 언어나 프레임워크에서 되게 한다던지...



지금 궁금한 것들이 많습니다.

대표적인 질문들은...

1) 가장 생산성 있고, 가용성을 높일 수 있고, 확장성 있는 언어 및 프레임워크는 무엇인가?

2) 그것을 서포트하는 리눅스 배포본과 최적화된 세팅은 무엇인가?

3) 기본적인 서비스은 어떤 것들이 필요한가?

4) 한국 인터넷 개발자들의 수준은 어느 정도이며, 단기간에 뽑아서 쓸 수 있는 인력의

 현실은 어떤가?





5) 모바일,스마트폰 환경과 연동하기 가장 좋은 해법은 무엇인가?

6) 프로젝트를 진행할 수준의 실력은 어느 정도를 알아야 하며 숙련되어야 하는가?

 대학 졸업자 또는 프로그래머라 할 수 있는 사람이 적응하는데 얼마의 기간이 걸릴까?

7) 꽤 큰 사이트를 운영하는데 어떤 조직구성을 갖으면 좋고, 어떤 사람들이 필요할까?

8) 재난적인 사태를 막기 위해서 어떤 것들을 준비해 놓아야 하는가?

9) 가장 최적화된 개발 환경은 어떤 것일까?



등등 정말 많습니다.

하나 하나 풀어 나가야 할 것 같습니다.

게임 프로그래머가 되기 위한 실력과 덕목

게임 프로그래머가 되기 위해서는

일단 프로그래머가 되어야 하고, 게임에 대해서 알아야 한다.

너무 당연하다고? 맞습니다.

근데, 프로그램 실력은 어느 정도까지가 기본이고

게임은 어느 정도까지 알아야 기본일까요?

기본의 레벨은 어떻게 정의할까요?



레벨을 다음과 같이 나눠봅니다.

1. 아마추어 팀에서 게임을 만들 수 있는 수준

2. 게임 회사에 입사 할 수 있는 수준

3. 게임 회사에서 인정받고 성장 할 수 있는 수준

요 세가지만 나눠보죠.

더 나아가자면, 어떤 분야에서 구루 또는 전문가 수준으로 되려면

어떤 테크를 찍어야 할지는 나중에 기회가 되면 해봅시다.



일단 1번을 보죠.

1. 초보레벨 게임 프로그래머가 갖추어야 할 실력 + 읽고 익혀야 할 책

1) C/C++ 기초

  - 문법

  - 코드리딩 능력

  - standard IO

2) Direct-X 기초

 - DirectSurface,DrawPrimitve,RenderState,Present

3) Visual Studio (개발툴)에서 빌들 할 수 있는 능력

 - Editing,Compile,Build,Execution,Debugging

4) Windows API 기초

  - File I/O, Graphics I/O , Event Handling , Text Processing, DBMS query



2. 게임회사에 입사 할 수 있는 수준

1) C/C++ 에 대한 개념이 확실하다.

 - Effective C++을 이해한다.

2) 전산과 3학년 정도의 학과 과목을 70% 이상 이해한다.

 - System Programming, OS , Computer Architecture, Algorithms, Data Structure ,

 Problem Solving

3) 2D/3D게임을 팀을 이뤄서 만들어 본 경험이 있다.

 - DirectX Sample들을 이해한다.

4) 네트워크 어플리케이션을 만들어 본 경험이 있다.

 - Packet , Asynchronous IO , Multithreaded Architecture , Event Polling  

5) 회사에 대한 열정을 보여줄 수 있다.

6) 배우는 자세로 임하고 자신의 잠재력을 보여줄 자신이 있다.

7) Code Comple,Game Code Complete등 게임 프로그래밍 관련 책을 10권 정도 읽어봤고

 30% 이상 이해한다.

8) 5000라인 이상, 클래스 20여개 이상의 프로젝트를 모두 이해할 수 있고 매니징 가능하다.





3. 게임회사에서 인정받고 성장 할 수 있는 수준

1) Modern Design C++ , Exceptional C++을 이해하고 업무에 적용할 수 있다.

2) 간단한 스크립트 언어를 업무에 적용할 수 있다.

3) OOP 개념을 잘 알고, 클래스 프로그래밍을 잘 할 수 있다.

4) UML Diagram을 그릴 수 있고 업무에 적용할 수 있다.

5) Design Pattern에 대해서 이해하고 주로 쓰이는 패턴에 대해서 업무에 적용할 수 있다.

6) Refactoring 책을 읽고 익혀 업무에 적용할 수 있다.

7) 컴퓨터 아키텍쳐에 대해서 잘 이해하고 있다.

8) 네트워킹 코드를 이해하고 업무에 적용할 수 있다.

9) 멀티쓰레드를 이해하고 업무에 적용할 수 있다.

10) Test 방법을 알고 업무에 적용할 수 있다.

11) 강한 체력과 끈기 그리고 업무시간에 집중력이 있다.

12) 새로운 테크놀로지에 대해서 배우고 익힐 수 있고, 남들에게 설명할 수 있다.

13) 자신의 업무 관리와 일정을 지킬 수 있으며,

팀원으로써 커뮤니케이션 툴을 이용할 수 있고, 커뮤니케이션이 원활하다.

14) 사람들과의 갈등을 원만하게 해결할 수 있다.

15) 개발 방법론에 대해서 여러가지 평가를 할 수 있고 업무에 적용할 수 있다.





일단 이 정도로 마무리 해볼께요.

완성도를 높이는 작업을 해야겠습니다. ^^



추가로 몇자 더 적습니다.

요즘은 인터넷에서 배우기 좋습니다.

좋은 강의도 많습니다.

영어 리스닝만 된다면, iTunes University에서 좋은 코스들이 많이 있습니다.

미국의 유명 대학의 코스들도 많지요.

제가 정말 10년만 젊었으면 매일 4시간 이상 듣고 싶네요.

지금부터라도 하루에 1시간씩 할애해서 공부해야겠습니다.

2010년 3월 8일 월요일

개발자를 위한 작업실

사실은 나의 작업실이다.



1. Mac OS X 이 깔린 iMac 21'



아이폰 개발을 위해서 샀다.앞으로 메인 컴퓨터로 쓸 듯 하다.

사진 정리,음악 감상을 위해서도 쓸만하다.

사파리는 멀티탭기능이 없어서 별로다. 파이어폭스를 설치하여 쓰고 있다.

xcode를 익히는 중이다.

Ogre3D,IrrLicht,Unity3D등 Mac OSX/iPhone를 지원하는 엔진을 테스트하고 있다.



2. Windows Vista(7을 쓰고 싶지만 라이센스 업그레이드 기간을 놓쳐버림;;)이 깔린

 Quad-core Desktop 4G 500GB nVidia 250GTX



지금은 윈도우지만, 리눅스 서버로 만들 예정이다.

spring,ruby,django등을 지원하는 웹 서버 어플리케이션 서버로 만들 예정이다.

또한, 리눅스 게임 서버를 만들꺼다.

또는, 윈도우 계열 개발툴을 설치하여 엠에스 라인 개발 머신으로 만들 예정이다.



3. Ubuntu 9.10 Linux 가 설치된 3년전 모델 노트북(후지쯔)



안드로이드 프로그래밍을 여기서 할 것이다.

scala,ocaml,haskell을 여기서 학습 할 것이다.



4. Windows Vista가 설치된 2년전 모델 노트북(삼성)



아직 나는 키노트를 잘 몰라서, 파워포인트를 쓴다.

회사 업무용 컴퓨터다.

기회되면 맥북 에어로 교체해야겠다.



5. Windows가 설치된 Quad-core Desktop(2번과 같은 사양)의 PC Online  게임기



스타크래프트,  LoL을 설치해서 즐긴다.

새로 나오는 게임들을 여기서 테스트 할 거다.



6. Call of Duty를 할 수 있는 XBox360



공부해야 할 게임들이 많다.

게임 후 재밌는 것들은 아이폰에 적어 놓을 생각이다.



7. 아내가 좋아하는 스노보드 게임을 할 수 있는 PS3



식구들과 함께 할 수 있는 게임을 여기서 할 것이다.

Wii가 더 좋은데... 지금 없다. 누구 줘버렸다.



8. 기타 모바일 기기 : 아이폰,2년전 터치형 핸드폰,아이팟-나노

PSP폰,안드로이드폰이 나오면 추가 될 것 같다.



9. 백업용 하드 2개, NAS 1개,  무선 인터넷,



NAS가 셋업이 덜 되었다.

다시 제대로 셋업되게 해야겠다.

모든 컴퓨터에서 액세스 가능하도록.

애플 타임캡슐도 사야겠다.



10. 집중을 도와주는 삼파장 스탠드



매우 중요한 아이템이다.



11. 책을 계속 꽂을 수 있는 책장과 책 일곱수레



보는 책 이외에는 잘 정리되어 있어야 한다.



12. 누워서 DVD를 감상할 수 있는 포터블 DVD 플레이어



가끔 본다.

아이에게 많이 양보한다.

2010년 3월 7일 일요일

Mac OS X 10.6.2에서 IrrLicht 1.7.1 설치기

홈페이지에서 소스를 다운로드 받는다.

압축을 푼다.

알기 쉽게 Document로 copy 한다

xcode에서 연다.

위치는 irrLichtHome/source/Irrlicht/MacOSX 밑에 프로젝트 파일이 있다.

( 예) /Users/wdshin/Documents/irrlicht-1.7.1/source/Irrlicht/MacOSX/MacOSX.xcodeproj)



libIrrlicht.a 부터 빌드하고, 나머지는 include 등 path 설정후에 빌드하면 된다.

( warning 이 많이 뜨지만, 빌드와 실행은 된다;;일부 프로그램은 바로 실행이 어렵다. 수정을 해줘야함.)



소감 : Ubuntu,Windows,Mac OSX모두에서 빌드가 무리없이 잘 된다.

  빌드 환경을 좌우하는 것은 뭘까?

 1) 빌드 스크립트? 프로세스? 즉, CMakefile,Configure,Makefile등이 여러 플랫폼에서 테스트 되어 있어야 한다. 많은 오픈 소스 프로젝트는 잘 테스트 되어 있지 않다.

  2) Directory(Folder)구조 : CMakefile처럼 build를 위해서 따로 복사본을 생성시키는

 경우가 좋지만, 그렇지 않아도 상관은 없다. bin,src,project,third-party-dependency등이

 잘 고려된 구조여야 한다.

 3) 하부 시스템 layer : loose coupling으로 시스템에 의존적인 부분을 잘 떼어내고 붙일 수 있도록 구조가 짜여져 있어야 한다.



 여러 플랫폼에서 되면 좋은 것은 뭐냐? 한개의 플랫폼에서만 잘 되면 되지 않느냐?

  1) 하부 시스템이 잘 분리되는 구조를 만들 수 있다. 즉, 시스템의 기능에 흔들리지 않는 구조를 만들 수 있다.

  2) 많은 사용자를 유치할 수 있다.

  3) 오픈 소스 개발자의 경우 더 많은 개발자를 유치할 수 있다. 많은 개발자 유치는 많은 피드백 유치로 이어져 완성도 상승에 기여가 된다.

  4) 여러 빌드/프로젝트 IDE 시스템에서 가능 할 경우, 개발자의 취향에 맞는 개발 생산성을 추구할 수 있게 된다.

  5) 2번과 같은 맥락인데, 떠오르는 시장에 대처할 수 있다. 요즘은 모바일 스마트폰 환경이 떠오르고 있는데, 그것에 대처하기 위해서, 시스템을 고치는데 시간을 많이 쓰게 된다면, 좋은 비즈니스 기회를 잃을 수 있게 된다.



 단점으로는,

 1) 시스템의 의존도를 잘 고려해야 하므로, 이 부분 개발에 시간을 많이 쓰게 된다. 하지만, 한 번 해 놓으면 그 다음부터는 시스템의 변화에 따라서 적응하면 된다.

 2) 여러 플랫폼을 쓰게 된다는 뜻은, 한개의 플랫폼에 집중하지 못하게 되어, 특성있는

 플랫폼의 특징을 살릴 수 없을 수도 있다. 하지만, 이 경우는 그것을 포용하도록 하는

 구조를 만들면 해결된다. 또한, 이 부분에 시간을 써야지만 제대로 된 구조가 나온다.



결론, 오픈소스  3D 엔진중에서 크로스플랫폼에서 빌드가 잘 되는 IrrLicht구조를 학습하면 좋을 것이다. 학습은 각자의 몫으로 남깁니다.;; 나중에 기회되면 분석을...

 Ogre3D 는 CMakefile 을 썼는데, 시도는 좋았으나 결과는 좋지 못했다.

  실행환경(deployment)까지 신경쓰는 빌드시스템이 필요하다.

2010년 3월 6일 토요일

ubuntu(9.10)에서 Ogre3D 1.7 설치

간단하게만 공유합니다.



제 블로그는 tutorial site가 아닙니다. 따라서 친절하지 않습니다.;;



시행착오 시간을 줄여주도록 경험을 공유하는 사이트입니다.



fedora11,12 모두에서 설치 하다가 실패해서 ubuntu로 옮겼는데 훨씬 쉽네요.

(nvidia driver 설치 실패 때문이었는데, 다른 것들도 훨씬 쉽네요.)



a) ubuntu 설치 : 9.10 버젼입니다.



b) nvidia graphics driver 설치 : 3d 가속을 받으려면 필요합니다.(ubuntu에선 쉽네요. 소프트웨어센터에서 설치하시면 됩니다.)



c) ogre3d 설치

 1. 가장 쉬운 방법 : 시스템->관리->시냅틱 소프트웨어 관리자에서 ogre를 검색하면 1.6.1 버젼이 바로 설치 됩니다. 

 2. 쉬운 방법 : PreBuilt 설치 : https://launchpad.net/~ogre-team/+archive/ogre

 3. 어려운 방법 : CMake으로 소스받아 설치 : http://www.ogre3d.org/wiki/index.php/Building_Ogre_With_CMake

     -> cmake가 설치 안 되어 있을 경우 설치 : http://www.ogre3d.org/wiki/index.php/Getting_Started_With_CMake

     -> dependency들 설치 :  http://ubuntuforums.org/showthread.php?t=1144592



d) IDE 설치 : Code:Blocks , Eclipse 설치 : 여러분의 취향에 따라서 다릅니다. ^^ ( 개인적으론 eclipse가 더 좋아 보이네요. ) 이 역시 시냅틱 소프트웨어 관리자에서 설치 가능합니다. 하지만, eclipse는 개인 홈에 다운로드해서 설치 하는 것이 좋을 것입니다. ;;;; 왜냐하면,기본적으로 설치 되어 있는 것이 미니멀 해요. Eclipse for Java EE 를 다운받아 홈 폴더 밑에 설치하시고, 다른 plugin 설치하는 것이 편합니다.



e) build : Code:Blocks에서 빌드 해봤는데, OIS_d를 요구합니다. 디버그 빌드 하려고 애쓰지 말고, symbolic link 하나 만들어 주심 되요;;

 Eclipse에서는 build 안 해 봤네요.

 실행은 아직 실패하고 있습니다. 리소스쪽 cfg 문제 인 듯 하네요.



친절하게 하자면 쉘 스크립트로 몽땅 되게 하는 건데... 시간되면 만들어 올릴께요;;



설치 안 되시는 분들, 저에게 연락 주시면 도와드릴 수 있을지도 모르겠네요.

2010년 3월 4일 목요일

시작

거창하게 시작하는 것보다는

조그많게 시작하려고 합니다.



저는 1992년에 대학에 입학했고,

한 선배와 더불어 시작한 게임 개발을 시작한지

이제 18년이 되었습니다.

거의 C/C++로만 게임을 개발해 왔고,

어느 정도 성공을 거뒀습니다.

네오플이라는 회사에서 어려운 일들을 해결했고,

성공하는데 작은 힘을 보태었습니다.



근데, 요즘은 새로운 프로그래밍 패러다임을 찾고 있습니다.

경험에서 우러나온 것들을 해소해줄 새로운 프로그래밍 패러다임 셋으로

압축해보고 싶은 생각이 있습니다.

단순히 OOP와 Agile,TDD같은 것만으로 해결하기엔 너무 복잡해진 개발 환경입니다.

그러한 것들을 단순화하고, 생산성 있는 패러다임을 찾고 싶습니다.





또한, 요즘은 바야흐로 플랫폼 혼란의 시대입니다.

스마트폰 인기와 더불어, 웹쪽도 새로운 분위기로 다시 활성화 되는 분위기고요.

이러한 분위기에 맞춰서라도 새로운 패러다임이 필요한 시기라고 봅니다.



그래서, 요즘은 플랫폼과 언어를 막론하고 여러 기술에 관심을 갖고 있습니다.

언어의 경우 ocaml,haskell,scala,java,groovy,python,erlang,ruby등에 관심을 갖고 있습니다.

플랫폼의 경우 기존 PC온라인뿐만 아니라, 웹, 콘솔,스마트폰(아이폰,안드로이드)등에도 관심이 있습니다.

엔진이나 프레임워크,미들웨어도 관심가는 프로젝트가 참 많이 있습니다.

경험을 해보지 않았기 때문에, 그 언어들이 주장하는 그 실질적인 이득을

몸소 체험해보지 않았고 그 특성을 체득하진 못하였습니다.



이 블로그는 그것들을 몸소 체험해보고,

그것들에 대한 나만의 평가를 해보는 공간으로 자리매김해보고 싶습니다.

몸소 체험하는 이유는, 그것을 알아야지만 그것을 선택했을 때의 리스크등을

방어할 수 있다고 믿기 때문입니다.

테크니컬 에반젤리스트의 말을 듣고 설득당하여 선택할 수 있겠지만,

그 위험성에 대해서는 실전에서는 큰 차이가 있었다는 것 또한

실전에서 배운 경험이기 때문입니다.

C에서 C++로의 전환시에도 그러한 시행착오를 많이 했었습니다.

네트워크 모듈을 IOCP로 전환시에도 시행착오를 많이 했었습니다.



이러한 경험들을 차근 차근 쌓고,

더 나아가서는 게임 제작에 대한 특별한 통찰력을 갖게 되어

새로운 패러다임을 열수 있게 되고,

그것들이 통합된 플랫폼이 탄생되길 기대합니다.



플랫폼에는

프로그래밍 패러다임들의 모음,

그 기반에서 구현된 언어,SDK,미들웨어,서비스가 될 것 같습니다.

하드웨어로 구현이 될 수도 있겠죠.



자 이제 시작합니다.

열심히 해야 할 것 같습니다.

새로운 지평을 열고 싶습니다.

이 블로그 폐쇄합니다

폐쇄할 예정입니다

너무 부끄럽네요.

감정적인 것들을 노출하는 부끄러운 블로그가 되어버렸어요.

그럼 안녕.