Online spielen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

viper199

Betreff: Online spielen

BeitragMo, März 19, 2007 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Rolling Eyes

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 Smile
 

Steve0

BeitragMo, März 19, 2007 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, März 19, 2007 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
wo finde ich dazu etwas?
was ich bisher gefunden habe war ledeglich das im Robsite tutorial 2 (2D) und das war nicht grade hilfreich! Confused

Tankbuster

BeitragMo, März 19, 2007 19:52
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, März 19, 2007 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
oh ok
da frag ich mich jetzt natürlich nur noch eins,
wo wird der code eingebaut, weil ich ja bereits ein spiel habe ? Sad
und für ein udp spiel benötige ich posts welche nehme ich da?

Tankbuster

BeitragMo, März 19, 2007 20:40
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, März 19, 2007 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, März 20, 2007 17:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ok dann wie lade ich solch einen modus?
gibt es nicht irgendwo ein beispiel für so ein online spiel?

Tankbuster

BeitragDi, März 20, 2007 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, März 20, 2007 18:35
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm ich finde dazu nichts auf der Robsite ausser das in dem 2D tutorial! wo das nur kurz mal angeschnitten wird Sad

Tankbuster

BeitragDi, März 20, 2007 18:46
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, März 20, 2007 21:48
Antworten mit Zitat
Benutzer-Profile anzeigen
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! Very Happy

skey-z

BeitragDi, März 20, 2007 22:18
Antworten mit Zitat
Benutzer-Profile anzeigen
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
Twitter

Tankbuster

BeitragDi, März 20, 2007 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, März 21, 2007 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, März 21, 2007 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch auf [url]Robsite.de[/url] ^^
Twitter
Download Jewel Snake!
Windows|Android

Silver_Knee

BeitragMi, März 21, 2007 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Beispiel-Code: [AUSKLAPPEN]
file=ReadFile("tolle\txt datei.txt");datei zum lesen öffnen
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
zum lesen und zum schreiben jedes Read durch ein Write ersetzen also:
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)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group