Vor etwa zwei Wochen habe ich mich dann nochmal an das Spiel gemacht. Programmiert habe ich in C#, das Spiel ist nun auch Netzwerk-fähig (dafür muss ich aber den Server hier bei mir am PC gestartet haben). Die Netzwerk-Kommunikation funktioniert mit Sockets, hier ein kleines Codebeispiel dazu:
Client:
System.Net.Sockets.TcpClient clientSocket = new System.Net.Sockets.TcpClient();
clientSocket.Connect("mein.server.de", port);
NetworkStream serverStream = clientSocket.GetStream();
byte[] outStream = System.Text.Encoding.ASCII.GetBytes("message to server");
//Nachricht an Server senden
serverStream.Write(outStream, 0, outStream.Length);
serverStream.Flush();
byte[] inStream = new byte[70000];
//inStream anpassen (größe an clientSocket.ReceiveBufferSize anpassen)
Array.Resize(ref inStream, clientSocket.ReceiveBufferSize);
//Nachricht vom Server empfangen
serverStream.Read(inStream, 0, clientSocket.ReceiveBufferSize);
string dataFromServer = System.Text.Encoding.ASCII.GetString(inStream);
clientSocket.Close();
Server:
TcpListener serverSocket = new TcpListener(port);
TcpClient clientSocket = default(TcpClient);
serverSocket.Start();
clientSocket = serverSocket.AcceptTcpClient();
NetworkStream networkStream = clientSocket.GetStream();
byte[] bytesFrom = new byte[10025];
Array.Resize(ref bytesFrom, clientSocket.ReceiveBufferSize);
networkStream.Read(bytesFrom, 0, clientSocket.ReceiveBufferSize);
string dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom);
Byte[] sendBytes = Encoding.ASCII.GetBytes("message to Client");
networkStream.Write(sendBytes, 0, sendBytes.Length);
networkStream.Flush();
clientSocket.Close();
Für die Sounds habe ich Sounds von freesound.org benutzt, welche alle der Creative Commons 0 Lizenz unterliegen, ich also die Autoren nicht explizit erwähnen muss, ich darf lediglich nicht sagen, dass die Sounds von mir wären.
Die Grafiken male ich alle selber (C#, Windows Forms).
Den Download zu Panzerkampf gibts es hier: http://physudo.bplaced.net/Panzerkampf/publish.htm
Und den Server hier: http://physudo.bplaced.net/PanzerkampfServer/publish.htm
Falls es jemand ausprobiert würde ich mich freuen, wenn ich ein kleines Feedback (hier als Kommentar) bekommen könnte.
Keine Kommentare:
Kommentar veröffentlichen