Online spielen
Übersicht

![]() |
viper199Betreff: Online spielen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
Ich habe eine Frage, weil ich stehe vor dem Problem das ich derzeit mit meinem Spiel gegen einen Freund an dem selben Pc spielen kann, doch nun möchte ich das man in der lage ist server zu erstellen und server zu joinen, wobei dann nicht durch eingabe der ip der server gefunden wird sonder durch eine tabelle wo sich sämtliche server eintragen (wie z.b. bei steam). Doch ich hab gar keine Ahnung wie ich das anstellen soll ![]() Hinzu kommt noch , das ich auch noch nicht weiß wie der Spieler dann z.b. von Spieler1 bei Spieler2 auf den Bildschirm gemalt wird. Ich hoffe mir kann einer helfen ich freue mich über jede Antwort ![]() |
||
Steve0 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Als erstes würde ich mich intensiv mit den Netzwerkbefehlen von BlitzBasic auseinandersetzen. Wenn du das machst dann erklärt sich vieles von selbst. | ||
Pixelgenaue 2D SingleSurface Engine!!! |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
wo finde ich dazu etwas?
was ich bisher gefunden habe war ledeglich das im Robsite tutorial 2 (2D) und das war nicht grade hilfreich! ![]() |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist aber alles, was du brauchst!
Man braucht nur ungefähr 8 Befehle, die mit UDP oder TcP zu tun haben. Den Rest kannst du durch logisches Nachdenken und z.B. Types rausfinden! |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
oh ok
da frag ich mich jetzt natürlich nur noch eins, wo wird der code eingebaut, weil ich ja bereits ein spiel habe ? ![]() und für ein udp spiel benötige ich posts welche nehme ich da? |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Am besten nimmst du so Ports von 7000 bis KP^^
Die Ports unter 6000 sind meist schon anderen Programmen zugeordnet, glaub ich. z.B. Port 80 für Internet xD Du musst wohl noch sehr viel Code dranhängen, damit es über I-net läuft. Aber wo genau kann ich net sagen. kommt halt drauf an, wie dein Prog aufgebaut ist. Du kannst zum Beispiel ans Ende der Schleife einbauen, das die Position von deiner Figur gesendet wird. Ebensogut kannst du das aber am Anfang der Schleife machen. Mach so wie du denkst..... (Ich würde hinten Empfehlen) |
||
Twitter
Download Jewel Snake! Windows|Android |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das baust du nicht in dein bestehendes spiel ein sondern baust dafür einen extra modus ein.
Single Player code kann normalerweise nicht sinnvoll einfach mit ein paar befehlen in multiplayer umgewandelt werden, denn in single player kannst du globale variablen etc nutzen. In multiplayer geht das nicht, weil das meiste was du bei dir festlegst automatisch auch zu allen anderen transferiert werden muss etc. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok dann wie lade ich solch einen modus?
gibt es nicht irgendwo ein beispiel für so ein online spiel? |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein ganzes Onlinespiel gibt es glaube ich nicht...
Aber auf [img]Robsite.de[/img] gibts Tutorials über UDP, TCP und Direct Play! |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm ich finde dazu nichts auf der Robsite ausser das in dem 2D tutorial! wo das nur kurz mal angeschnitten wird ![]() |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kurz angeschnitten??
Das ist alles, was du wissen musst. erwartest du etwa ein code, den du nur in deinen reinkopieren musst? Beschäftige dich mal damit, ein kleines Server-Client aufzubauen, in dem der Client dem Server eine Nachricht schickt. (insgesamt ca. 30 Zeilen Code, wenn du das gut machst xD) Wenn du das hast,kannst du ja mal versuchen, alles in dein Spiel einzubauen |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja ok ^^
wusste nicht das das schon alles ist xD weil du noch erwähnt hattest das man z.b. global nicht verwenden kann dachte da gäbs noch viel mehr probier ich mal aus vielen dank an alle! ![]() |
||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu deiner 2. Frage:
Dafür musst du webspace haben und dich am besten mit PHP und MySql auskennen, aber eine einfache Textdatei reicht für ein kleines Spiel und für den Anfang eigentlich auch. In diese Datei schreibst du die Adresse des Hosts ein, wenn du das Spiel erstellst und die anderen Clients greifen auf diese Datei zu und bekommen dann alle Server, denen sie beitreten können aufgelistet. Zusätzlich kannst du darin noch andere Sachen speichern, wie maximale Spieleranzahl, Passwort, etc. |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst den Befehl "Global irgendwas" natürlich verwenden.
(haste wohl falsch verstanden^^) Aber du solltest halt aufpassen, das du manche Variablen auch an die anderen Spieler schicken musst. Zitat: Ich denke mal, dass du nicht einfach "Global lol=2" schreiben würdest, wenn du auf jedem Client lol zu 2 machen willst, Sondern eine Nachricht über das Netz an den anderen Spieler schicken würdest.
<--- So meinte er das wohl^^ |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
viper199 |
![]() Antworten mit Zitat ![]() |
---|---|---|
achso ok jetzt habe ich das mit dem global auch verstanden =)
skey-z wie bekomme ich ein programm dazu eine textdatei zu lesen bzw sich dort einzutragen? |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auch auf [url]Robsite.de[/url] ^^ | ||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein Beispiel-Code: [AUSKLAPPEN] file=ReadFile("tolle\txt datei.txt");datei zum lesen öffnen
zum lesen und zum schreiben jedes Read durch ein Write ersetzen also:
If File = 0 ERROR() ;wenn die datei nicht exsistiert... Else zeile$=ReadLine(file);zeile auslesen (länge+2)b byte=ReadByte(file);einzelnes byte auslesen (0 - +255) 1B int=ReadInt(file);"normale zahl" auslesen (-2147483648 - +2147483647 ) 4B float#=ReadFloat(flile);kommazahl auslesen (-2 Mrd. - +2 Mrd. ) 4B string=ReadString(file);String auslesen (länge +4)B short=ReadShort(file);"kleine" zahl auslesen (0 - +65535) 2B EndIf file=WriteFile("datei.txt") - erstellt wenn nötig die datei und gibt 0 zurück wenn das nicht geht WriteLine file,"TEXT" WriteByte file,26 usw. Alternativ gibt es auch OpenFile zum lesen und schreiben (erstellt aber keine neuen dateien) |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group