Online Spiel Proggen

..ooOOipOOoo..

Mitglied
Hoi!

Ich habe ein Problem:

Ein Bekannter von mir will ein RPG Proggen (in 3D). Die Grundzüge hat er schon fertig.
Nur die Netzwerk Fähigkeit fehlt im mom praktisch komplett, denn es gibt ein Problem.
Weder er noch ich haben jemals ein Netzwerkbasiertes Spiel in 3D programmiert. Jetzt müssten wir wissen, wie man am besten die Kommunikation zwischen Server und Client abwickelt.

Ich hatte die Idee, dass im Prinzip solche Message vom Server an den Clienten verschickt werden:

ITEM:BEER:2353:263:22

wobei das vor dem ersten ':' (also ITEM) die Art der Infortmation der Message angibt (in diesem Fall soll der Client ein Item Positionieren), danach welches Item (oder was auch immer, in diesem Fall eine Flasche Bier) unddie ltzen drei Zahlen die x,y,z Koordinaten.

Um die Messages zu verkleinern, könnte man die ASCII-Ketten auch durch Zahlen ersetzen , zB

0:23:2344:2343:-12

Wobei die Null für ITEM steht und die 23 für BEER. Die letzen drei Zahlen wieder die x,y,z Koordinaten.

Hat einer von euch schonmal ein aufwendiges Netzwerkspiel geproggt? Wie habt ihr das gemacht?

Gruesse

..ooOOipOOoo..
 
versucht mal die packages die ihr so verschicken wollt etwas größer zu machen! ich denk mal so an die 200 zeichen vielleicht!

das dürfte sich dann a uf dauer sehr an der geschwindigkeit bemerkbar machen!aber ansonsten is das schon ganz ok so, wie du dir das gedacht hast!

das problem dabei ist letztlich nicht die kommunikation zwischen 2 pc's, sondern bei >2

aber für 2 müsst ihr das ja auch erstmal machen!

es gibt da zwei gute angriffspunkte für verbindungen:
1. multi-client-system
2. peer-to-peer

beim ersten berechnet der server das aufwendige zusammenspiel zwischen den rechnern , dabei schickt man eigentlich nur die vorgenommenen aktionen am client!

die berechung, was wo wie passiert klärt dann der server und schickt es an seine clients weiter!
---
beim zweiten sind beide gleichberechtigt und schicken sich nur gegenseitig die position und die aktion weiter, so dass sich die rechner nur darüber austauschen, was sie BEIDE angeht, also schüsse, laufrichtung...

der rest wir auf beiden pcs separat verarbeitet!
 
thx erstmal

Hoi!

Ich dachte mir ein multi-client system aufzubauen 8also Server erledigt Rechenaufgaben) um manipulierten Clients vorzubeugen.

Mom ist es noch sehr offen, was aus dem Spiel wird, ob nun nur Singleplayer (sehr unwarscheinlich, aber wenn das mit der Netzwerkanbindung nicht klappt, dann halt so) oder eher wie Diablo (also kleine Gruppen gegeneinander und zusammen) oder sogar online RPG (wie Ultima Online, wobei ich letzeres bevorzugen würde)

Deshalb ist die Performance äußerst wichtig. Wie du siehst werden nicht 2 sondern 200 PC möglicherweise beteligt sein.

Falls du noch ein paar gute Tips hast (anscheinend hast du dich damit schoneinmal beschäftigt), dann wären wir dir sehr dankbar!

Gruesse

..ooOOipOOoo..
 
also ich hab eigentlich noch nie das programmieren von spielen bevorzugt, die als ausschlaggebendes element die grafik besitzen!

bin eher ein logischer programmierer und interessier mich zum beispiel auch für netzwerk-programme!

womit proggt ihr euer game? mit borland oder mit visual?
in borland könnte ich euch eingige funktionen anbieten (nich heute..muss erst rausssuchen) aber mit visual kennt sich holy besser aus!

ich denke mal ihr solltet klein anfangen mit netzwerk-funktionen!

es gibt zwar die netten net-libraries, aber winsock oder ähnliches tuts ja erstmal auch!
 
Hoi!

1. ich selbst programmiere nicht aktiv.
2. Schreibt er's nicht in C++ sondern in Delphi.

Es ging ja auch nur ums Prinzip, nicht um spezifischen Code. Netzwerkprogramme zu coden st kein Prob, es ging ja nur darum wie am besten so komplexe Datenstrukturen zu erschachteln und zu verschicken sind.

Danke erstmal für deine Bemühungen.

Gruesse

..ooOOipOOoo..
 
das Buch kann ich nur empfehlen!!!
Ich habs mir mal von 'nem Freund ausgeliehen, auch wenn's Englisch ist, ist es sehr leicht zu verstehen.
Und über die 77 € guckt man weg, wenn man das Buch gelesen hat!!!!

Am Anfang geht's nochmal um die Grundlagen und später dann um die Netzwerkprogrammierung. Allerdings sollte man sagen, dass es um C++ NICHT Delphi geht!!!
DirectX und Winsock wird alles erklärt!
 
Hoi!

Danke, aber das Buch habe ich mir schon lange gekauft :)
Der Thread ist ja auch schon ziehmlich alt :)

Und ich muss sagen: Das Buch ist wirklich gut geschrieben, auch wenn es nicht wirklich das hält, was es verspricht. Es vermittelt zwar sehr schön, die Netzwerkprogrammierung in C++ und wie die Windows Socket API funktinoiert und wie man sich derer bedient, dennoch werden viele Detailfragen, die aufkommen, wenn man tatsächlich ein Multiplayerspiel programmieren will nicht wirklich geklärt. Dennoch, das Buch ist seine 100DM (bzw rund 50 €) Wert.

Titel: Multiplayer Game Programming
Serie: Game Development Series
Autor: Todd Barron
Verlag: Prima Tech
ISBN: 0-7615-3298-6

Ich werde mir warscheinlich auch weitere Bücher aus der Serie kaufen (war wirklich interessant). Im moment probiere ich mich noch an der Umsetzung einer relativ einfachen Netzwerkengine, wobei die erste "Hack-drauf-los"-Implementierung schon fast fertig ist (aber auch nicht wirklich funktioniert :p ). Als nächsten Schritt will ich einen schönen Plan mit UML usw und Konzeptschreiben ausarbeiten und das ganze schön fein säuberlich implementieren. Wenn ich sie fertig habe melde ich mich hier wieder (könnte aber durchaus noch ein paar Monate dauern *lol*). Bin sicher, dass so einige noch ein paar Verbesserungen beitragen können :)
Übrigens, falls jemand noch weiterführende Literatur in Sachen Spielenetzwerkprogrannierung (speziell vielleicht sogar MMORPG) oder auch "nur" allgemeine MMORPG umsetzung kennt, (falls es in diesem Themenbereich überhaupt weitere Literaur gibt), dann her damit, ich brenne nur so darauf alle zu verinnerlichen :)

Gruesse

..ooOOipOOoo..
 
hi,
Bücher findest du dazu leider nicht oft. Im Deutschen schon gar nicht, und im Englischen musst du auch schon suchen, um ein gutes Buch zu bekommen.
Wenn du dir noch weitere Bücher kaufen willst, empfehl ich dir:
OpenGL Game Programming
Das Buch is, wie das was du hast, HAMMER!!!! :p
hm, warum aber OpenGL un nich DirectX wie im Multiplayer Game Programming?
1. OpenGL is um einiges einfacher
2. kannst du die DirectX DirectPlay Schnittstelle genauso mit OpenGL benutzen wie auch DirectX Sound
Damit kannst du alles machen!

Wenn du fragen zum Netzwerk/OpenGL Programmieren hast, ich steh gern zur Verfügung alle Fragen zu beantworten. :)
 

Neue Beiträge

Zurück