프로토콜을 정하고 이제 클라이언트에 작업을 하자! 라고 하는 순간 가장 큰 문제 봉착.
예전에 만든 프로토타입 게임은 뭔가 어설프게 돌아가서 건들기가 힘들고...
새로 소스코드를 리뉴얼 해준 게임은 대기방이랑 로비가 없음...orz 2:2 게임인데 대기방이 없으면 참 난감해지는 사태가....<<
어휴...결국 걍 모듈 조금 더 보강하고 모듈로 패치서버 및 패치 클라이언트나 만들어봐야겠다.
이런 낭패가...orzorzorz
'Project'에 해당되는 글 19건
- 2007/11/16 asmodeus 완성.
- 2007/10/31 asmodeus 문제 봉착2
- 2007/10/19 asmodeus 오늘 완료한 것 + 할 일.
- 2007/10/16 asmodeus 오늘 완성된 부분 & 내일 할 것.
- 2007/10/11 asmodeus 에러 잡다.
- 2007/07/13 asmodeus Prototype Svr 제작 완료.
- 2007/03/05 asmodeus 진행 상황 2007. 03. 04.
- 2007/03/05 asmodeus 아직 IP처리 부분에 대하여 의문.
- 2007/02/23 asmodeus 발표하러 감.
- 2007/02/17 asmodeus 우와 어렵다 ㄱ-...
앞으로 할 일. (목표 : 월요일 까지)
- 새로 프로토콜 정의. (Server Client간에 움직이는 패킷.)
- Client 라이브러리를 실제 게임에 붙여서 Test.
내일 할 것 - OLEDB 모듈 만들어보기. MSSQL로 UserDB, GameDB 만들기.
처음엔 마냥 소켓 문제라고 생각했었으나....그게 아님을 알았음.
메모리주소까지 비교해가면서 찾은 결과... void의 주소값이 넘어갈 때 이상하게 넘어가는 것을 발견.
결국 임시방편일지도 모르지만....서도 일단 메모리 주소를 당겨주는것으로 마무리 및 확인=_ㅠ
이제 다시 작업 할 수 있게 되었다...ㅠㅠ 이 뭐 졸랭 한달만에 에러 잡다니 젠장 ㄱ-... 졸랭 바보같음 <<orz
일단 업데이트서버 먼저 만들어 볼 예정.
DB쪽은 mssql을 조금 더 공부해 봐야 할듯 하다.
문법같은건 똑같은 sql이라 다를게 없는것 같은데 툴 사용이라던가 DB 설계라던가 ODBC나 OLEDB같은부분에 대해서는 아직 많이 미숙하다.
특히 ODBC는 Access를 사용해서는 해봤지만 sql server를 사용해서는 해본적이 아직 없어서 (이론만 알고있음.) 아직 삽질을 많이 해봐야 할 듯 함. 일단 OLEDB쪽을 찾을수 있으면 그쪽으로 하는 방향으로 잡을 예정.
하지만 OLE쪽이 많이 어려우면 걍 ODBC를 사용하여 DB쪽을 만들어야 할 것 같다.
1. 1P, 2P간의 Delay문제 해결.
- latency를 최소화 하기위해 코드의 간소화.
- 아주 약간의 Delay는 Network latency로 간주하고 걍 놔뒀음.
- 1P와 2P가 모두 아주 약간의 Delay를 주는 것을 고려해 봤으나 1P가 작동을 했을 때 반응이 느려진다는 느낌을 약간 받았기 때문에 그냥 놔두는 방법으로 해결을 함.
2. PC에 따라서 Break Animation이 안되는 문제.
- 학교 컴퓨터 두개에서 성능차이를 생각해서 내 컴퓨터에서 두개의 클라이언트를 띄워서 확인해 봄.
- Break animation이 제대로 작동함.
- PC에 따라서 Skip하는 부분이나 그런 부분 때문에 그런 것 같음.
- 아직 미해결.
3. 역할교환이라는 부분에 대하여 변경.
- 기존에는 30초의 의무적인 카운트를 준 이후 5초의 카운트를 줘서 그 시간내에 변경을 할 수 있게 하였음.
- 새로 바뀐 점 : 의무적인 카운트를 없앤 후 하나의 Player가 변경 버튼을 누르면 5초의 카운트를 주고 그 이내에 다른 Player가 누르지 않으면 누르지 않은 Player에게 패널티를 줌.
(이로써 좀 더 긴장감을 주고 역할교환을 재치있게 사용 할 수 있게 함)
4. IOCP Server Module
- 아직 진행상황 3% 정도. 머리가 안좋아서 그런가 윤곽이 안잡힘.
- 사실 개념 적립도 중요하지만 전체적인 서버 디자인도 중요한데 아직 막막한 상태.
- 그냥 로그인, 업데이트, 게임서버 이렇게 나눌 생각만 했지 구체적인 부분에 대해서는 아무것도 잡힌게 없음.
사실 서버 갈아 치울꺼지만... 그래도 딜레이가 왜 생기는지는 궁금하더라구요.
(아마도 클라이언트 내부에서 완전 허접하게 처리해서 그런 것 같지만...)
뭐 처음 게임처럼 보이는 게임을 만든거라 사실 남들에게 보일만큼 볼만한 소스코드도 아니고
아직 에러처리 미숙에 완전 엉망진창 코드라 현업에 계신 실력있는 분들께 보여드린다는게
무척 부끄럽고 쑥스럽지만, 그래도 가 봅니다. 뭐 왜 이런지는 알아야 다음번에는 더 나은 코드를 짜고, 더 나은 프로그램을 설계하고 만들죠=_=;;
더불어 IOCP쪽에 대해서도 좀 설명을 들을 수 있으면 좋으련만..=_;; 사실 뭐 에코 서버 클라를 짰지만...이해가 안되는건 마찬가지. 공개된 소스코드 모듈을 구하긴 했는데... 사실 걍 갖다 쓰기는 조낸 미안함. ㄱ-;; 어찌 돌아가는지도 모르고 갖다 쓴다는건... 좀 그렇잖아요. 뭐 처음 제대로 IOCP로 짜는 서버에 처음 만든 게임인데... 우리 손으로 모든 부분을 만들고 싶기도 하고... 뭐 그래서 사운드도 직접 제가 만들고 있습니다만...
일단 되는데까지는 최대한 우리 손으로 이 게임을 완성시켜 볼 생각입니다. 아니 되는데 까지가 아니라 모든 부분에 대하여. 사운드도 악보는 다 그려놓고 샘플도 뽑아봤으니 신디 오면 연주해서 안맞는 악기는 바꾸고 해서 넣는 일만 남았네요.
여튼 낼 발표하러 갑니다=ㅅ=;;
일단 가장 기본적인 에코 서버-클라이언트는 완성.
하지만 다중 접속시 어떻게 처리하느냐 이런 부분에 대하여 아직 생각이 부족함.
Memory Pool 설계, Thread Pool 설계.






219774
43
52






댓글을 달아 주세요