Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

61

30.06.2009, 18:35

Ich benutz gar keine Engine im herkömmlichen Sinn und bin trotzdem glücklich :D
Nur mein Funktionsbibilothekchen schleif ich von einem Projekt zum anderen - so bleib ich wenigstens flexibel und kann stets nach meinen Wünschen anpassen.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

62

01.07.2009, 15:07

Für die Fehlersuche könnte übrigens die Minidumpfunktionalität interessant sein. Damit ist es möglich einen Absturz abzufangen und dann ein Speicherabbild zu erstellen. Diese kann man dann als Entwickler laden und den Absturz direkt so betrachten, als ob es auf dem eigenen PC passiert wäre.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

63

05.07.2009, 11:00

Ich schreibe gerade einen MDL Mesh File Loader für das Half-Life 1 Model Format.

Interessiert sich überhaupt jemand für das Format zur Hobby-Spiele-Entwicklung oder eher weniger?

Falls ihr euch fragt wie in an die Architektur des Formats gekommen bin: ich schaue mir dafür den Source-Code des Half-Life Model Viewers an ;)

Gruß Lukas

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

64

18.07.2009, 15:51

In meiner Engine habe ich jetzt mit Hilfe eines Freundes das NetzwerkSystem komplett überarbeitet.

( folgendes ist in der nächsten Release Version verfügbar, 1.7.1 oder 1.8 ):

Es arbeitet mit UDP, ist daher also auch sehr schnell.
Nur einen Thread, zum Empfangen der Nachrichten, wird gestartet.
Und es ist wahnsinnig einfach:

Hier ein kleines Beispiel:


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
NetworkSystem* spNetwork = new NetworkSystem();

if (YourAreTheServer)
    spNetwork->openServer(); // Port kann angegeben werden (default: 100)

else
    spNetwork->joinServer("192.168.0.1"); // Bsp. IP Addresse


while (/* ... */)
{

// Nachrichten senden

spNetwork->sendPacket("Textinhalt"); // Empfänger kann angegeben werden (default: 0 -> all)


// Nachricht empfangen

network::SNetworkPacket Packet;

if (spNetwork->pickPacket(Packet))
    cout << "Nachricht: " << Packet.Message << endl;

}

spDeletePointer(spNetwork);

Mit der Funktion "getNetworkMembers" kann man sich von jedem Computer, der an einem Lokalen Netzwerk angeschlossen ist, den HOSTNAME und die IP-ADDRESSE zurück geben lassen.

65

18.07.2009, 23:49

Zitat von »"LukasBanana"«

spNetwork->openServer(); // Port kann angegeben werden (default: 100)

Das ist kein guter Default Port.
Die niedrigen sind reserviert und du müsstest ihn beantragen.
Nimm lieber einen hohen, das stört nicht und kommt sich mit nichts in die Quere.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

66

20.07.2009, 21:10

"Es arbeitet mit UDP, ist daher also auch sehr schnell."

das stellt sich mir gleich ein paar Frage: sicher dass du an so Sachen wie trafficcontrol und reliable gedacht hast? Warum nicht eine schon existierende Lib nutzen? Warum meinst du, dass UDP soviel schneller ist als TCP?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

67

21.07.2009, 19:20

TCP wartet beim Senden und Verbinden so lange, bis es die Antwort erhält, ob die Nachricht auch angekommen ist ;)
UDP geht einfach davon aus, dass die Nachricht angekommen ist. Das macht UDP um einiges schneller. Und sicher genug ist es für die meisten Arbeiten, notfalls muss man sich in manchen Fällen halt selbst mit der Sicherheit aushelfen.
mfg Lukas

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

68

21.07.2009, 20:38

Dann schau dir mal die blanken Tatsachen an: http://sourceforge.net/apps/gallery/networklibsbenc/ und an den Tests ist nichts getrickst. Wer das nicht glaubt, kann sich den Source anschauen und/oder die Tests selbst durchführen und anpassen.
Übrigens stimmt das mit dem Warten nicht ganz. Das stimmt nur in bestimmten Fällen und unter bestimmten Bedingungen.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

69

21.07.2009, 22:30

Zitat von »"Nox"«

Dann schau dir mal die blanken Tatsachen an:

Wenn ich die Grafiken richtig interpretiere, schlägt sich RakNet ja recht gut.
Gut zu wissen!

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

70

21.07.2009, 23:34

Weiter links = niedrigere Latenz, weiter nach oben = mehr Paket mit dieser Latenz.
Aus welcher Grafik ließt du denn das RakNet nicht schlecht ist?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige