2013-07-24 4 views
0

나는 MMORPG의 일부처럼 클라이언트를 만드는 방법을 알고 싶습니다. 게임 파일을 읽은 다음 게임을 시작하는 클라이언트가 있다는 것을 알고 있습니다. 나는 대부분의 클라이언트가 C++로 작성되었다는 것을 이미 알고 있지만 불행히도 나는 그 언어를 사용하지 않는다. 나는 C#만을 알고있다. 그러나 나는 전체 클라이언트를 만들려하지 않습니다. 저와 제 친구들은 작은 2D 게임을 만들고 싶기 때문에 사운드, 이미지 등을 저장하는 외부 데이터 파일을 읽고 클라이언트를 필요로합니다. 응답을 받으면 IP를 전송하고 클라이언트를 시작합니다.MMORPG 및 게임 클라이언트

저는 훌륭한 서랍이 아니기 때문에 클라이언트를 만드는 데 어려움을 겪었습니다. 나는 서버 포트 및 온라인 경우 검사 호출하는 작은 함수를 만들어 :

public static void ServerStatus() 
    { 
     try 
     { 
      TcpClient client = new TcpClient(); 
      NetworkStream stream; 
      StreamWriter writer; 
      BinaryReader reader; 
      IPAddress IP = IPAddress.Parse("String IP"); 
      client.connect(IP, 8484); 
      if(client !=null) 
      { 
       stream = client.getStream(); 
       reader = new BinaryReader(stream); 
       writer = new StreamWriter(stream, Encoding.Default); 
       writer.AutoFulsh = true; 
      } 
      } 
     catch 
     { 
     MessageBox.Show("Server currently offline"); 
     } 
    } 

하지만 다른 그 어떤 다른 것도 중요한 것은, 내가, 내가 수많은 C#을 책을 읽고 어디로 모른다, 그러나 아무도 내가 어디로 가야하는지에 대한 간단한 힌트를주지 않았다. 그래서 나는 공원에서 길을 잃은 어린 아이처럼 느낍니다. 그래서 제가 묻는 것은 다른 구성 요소가 게임 클라이언트를 만드는 과정에서 사용되는 것입니다. 그것은 "직접하는 방법"이 필요하지 않습니다. 간단한 포인터가 좋을 것입니다.

답변

0

음, 나는 게임 사용에 문제가 없다고 생각합니다. C# 또는 C++. 내 업무 경험에서는 네트워크, GDI 서랍, 스레드 등에 대해 배워야합니다. 실제로 클라이언트의 책임은 무언가를 끌어 서버에 정보를 보내고 서버가 클라이언트로부터 메시지를 받으면 수행 할 작업을 결정합니다. 클라이언트에게 응답 메시지를 보냅니다. 클라이언트는 서버의 메시지에 대해 무언가를합니다.

그리고 가장 간단한 방법은 GitHub에서 검색하는 것입니다. 많은 오픈 소스 게임이 있습니다.

+0

답장을 보내 주셔서 감사합니다. 문제를 조사하기 시작합니다. – Blaze

관련 문제