본문 바로가기

전체 글714

[어스토니시아VS] 초기 서버 구조 개발 언어 : C++ 사용 툴 : VisualStudio 2010 사용 DB : MS-SQL 서버 구조 DataCenter : 모든 게임 서버를 관리(유저의 상태와 각 서버들의 상태를 관리) GameServer : 게임에 접속한 후의 모든 기능에 대한 처리 BattleServer : 매칭된 두 유저의 대전을 처리 모든 GameServer는 DataCenter와 BattleServer 그리고 DB에 연결되어 있다. GameServer가 실행되면 DataCenter에 Connection을 맺고 자신의 상태를 알린다. 이 후 접속하는 클라이언트는 모두 DataCenter에 알려지게 되고 DataCenter는 모든 유저의 상태에 대해 GameServer로 부터 전달 받는다. BattleServer가 실행되면 마.. 2014. 5. 4.
[어스토니시아VS] 드디어 게임 개발자로서의 첫 오픈! 2014년 4월 26일 모바일 게임 '어스토니시아 VS'가 드디어 오픈했습니다. 서버프로그래머로서의 첫 오픈이라 신기하기도 하고 걱정스럽기도 합니다. '어스토니시아 VS'는 카드를 이용한 가위바위보 대전 게임인데 유저 vs 유저의 실시간 대전을 메인 컨텐츠로 하고 있습니다. 게임 내내 긴장감을 유지해야 하기 때문에 쉽게 피로해 질 수도 있지만 이런 심리전을 즐거워하는 유저들이 상당수였습니다. 오픈전에는 사전예약 이벤트를 했었는데 '어스토니시아 스토리'의 명성 답게 하루만에 사전 예약자가 1만명을 넘어 새삼 놀라기도 했었습니다. 현재 날짜 기준으로 인기 순위는 7위, 매출 순위는 80위 입니다. 비록 첫 게임이 아직까지 대박을 치진 못했지만 순위권안에 들 수 있다는 것만으로도 만족스러웠습니다. 퇴근하면서 .. 2014. 4. 26.
[Unity3D] Load can only be called from the main thread 오류 2013년 5월 20일 멀티 플레이를 위해 다른 유저의 좌표를 받아 유저를 생성해주려고 Instantiate 함수를 사용했는데 다음과 같은 오류가 발생했다! 리소스의 경로가 문제인가 싶어서 객체도 다시 생성해보고 폴더도 다시 만들어보고 했는데도 계속 같은 오류! 어줍잖은 영어실력으로 마지막에 Awake나 Start함수에서 초기화를 해야한다는 듯한 문구가 보여서 초기화하던것도 전부 그쪽으로 옮겨보고.. 그래도 안되서 고민하며 구글링을 해보니.. 무료버젼이라 그렇다는!!!! 이것때문에 반나절을 날려먹었다. ㅋ 허무하네.. 라이트 유저는 객체 생성도 맘대로 못하는구나... 2013. 5. 20.
[ASP.NET MVC] InputStream의 Position 값 문제.. 2013년 5월 20일 컨트롤러를 통해 라우팅된 값을 받아서 처리할 때 클라이언트 쪽에서 Content-Type 값에 따라 InputStream 값이 비어 있을 때가 있고 정상적으로 올 때도 있어서 이유를 몰라 고민을 하고 있었다. Content-Type이 등록이 되어 있어야 하는건가 싶어서 전혀 쌩뚱맞은 "abcd"를 넣어봤다. 근데 정상적으로 잘 온다. 그럼 Content-Type 값을 잘못 넣어서 그런건 아닌것 같은데.. Request 객체의 변수를 하나하나 뜯어보던 중 .... 아직 나는 Stream을 읽지도 않았는데 Position값이 Stream의 끝에 와 있는 것을 발견했다 이 상태로 읽어 들이면 당연히 빈 값으로 출력이 될텐데... 그래서 억지로 Position 값을 0으로 맞춰줬다. 그랬.. 2013. 5. 20.