Online Spiel

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

smackers

Betreff: Online Spiel

BeitragDi, Aug 09, 2011 12:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute.
Da ich die nächsten Wochen viel Zeit habe,habe ich mir überlegt ein kleines online Game zu machen.
Ich wollte vl so etwas wie Scoolwars machen(falls dass jmd kennt).
Also nichts mit aufwändiger Grafik, sondern nur ein Spiel wo man verschiedene Skills hat die man durch daraufklicken aufbessern kann.
Die erste Aufbesserung dauert dann vl 2min und die zweite dann 4min etc.
(ich weiss dass das nicht das spannendeste ist, jedoch wollte ich nicht gleich mit einem riesigen MMORPG anfangen ,da ich weiss dass das sehr lange dauert und ich nach 2 Wochen eh keine Lust mehr habe.^^)
Ich habe ncoh keine Erfahrung mit dem Programmieren von Onlinespielen.
Frage:1 Wie sollte ich das jetzt am besten angehen?
2 Kennt jmd ein gutes TuT dazu??
lg smackers

Xeres

Moderator

BeitragDi, Aug 09, 2011 12:06
Antworten mit Zitat
Benutzer-Profile anzeigen
...wie lange programmierst du jetzt schon mit BlitzBasic?
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

klin

BeitragDi, Aug 09, 2011 14:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei Onlinegames solltest du immer UDP verwenden. Es ist zwar nicht so sicher wie TCP, aber dafür schneller und leichter (größe) bei der Übertragung.
UDP ist aber kein Kinderspiel. Du solltest zuerst eine UDP-Lib bauen die selbst ACK Pakete erstellt, auf Fehlern überprüft usw. Es ist kein kinderspiel sowas zu machen.

Was aber als Vorlage (allerdings ohne Fehler überpfrüfung und ACK) sehr gut geeignet ist, ist BNetex von Vertex (einfach im Forum suchen sufu).
Für ACK ist das SuperMario in BlitzMax gut geeignet. Das hat auch eine kleine UDP-Lib eingebaut und ist in einem Tutorial verfasst (googeln).

Netzwerk programmierung ist nicht leicht und manchmal sehr sehr nervig und anstrengend. Du solltest dich aber gut mit variablen-"größen" auskennen. Also mit bytes/shorts/integers usw.

Dann gibts da noch nen Punkt, der richtig "beschissen" ist. Hackern. Denn diese sind ziemlich nervig und können bei Spielen von Anfängern ganz leicht das Spiel zerstören. Alleine random-bytes kann einen Server, durch mängelnde Fehler überprüfung, crashen oder sogar Pakete durcheinander würfeln.

Am besten: Lass dir viel Zeit dabei und lese dir sehr vieles über UDP/Hacken usw. durch. Es gibt sogar Bücher dafür Wink Oder auch SourceCodes von Spielen. Aber sammele die Informationen. D.h. schaue dir viele sourcecodes an und fasse zusammen, was Müll ist und was sehr hilfreich ist.

So hatte ich z.B. eine perfekte udp-lib gebastelt^^ (kann man zumindestens so sagen)

Klin

smackers

BeitragDi, Aug 09, 2011 14:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Xeres hat Folgendes geschrieben:
...wie lange programmierst du jetzt schon mit BlitzBasic?


So ca. n 3/4 Jahr.
Und mit Blitz3D so 1/2 Jahr aber das ist ja egal.
Meinst du dass ist zu Kurz??
Also ich wollte es halt mal versuchen.
Ob es jetz was wird oder nicht ist nicht soo wichtig.
http://www.raetselstunde.de/lo...etsel.html
Also ich war nach 45min bei den 2% dabei.

tft

BeitragDi, Aug 09, 2011 14:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

versuch es einfach ......... ist ja eh nur ein Hobby. Wenn du was hinbekomst was funktioniert und sogar spass macht ist es echt cool.

Gruss TFT
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Xeres

Moderator

BeitragDi, Aug 09, 2011 14:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du Spaß dran hast, nur zu. Aber das Thema Netzwerk ist etwas komplexer und es wäre sinnvoll, wenn dir der Rest leicht von der Hand geht. Fang in jedem Fall mit was einfachem an.
Und viel Erfolg.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

smackers

Betreff: danke Leute

BeitragDi, Aug 09, 2011 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke ich werde es mal versuchen.
Wenns klappt kann ich das Ergebnis ja hier posten.
=)
http://www.raetselstunde.de/lo...etsel.html
Also ich war nach 45min bei den 2% dabei.

BtbN

BeitragDi, Aug 09, 2011 22:21
Antworten mit Zitat
Benutzer-Profile anzeigen
klin hat Folgendes geschrieben:
Bei Onlinegames solltest du immer UDP verwenden. Es ist zwar nicht so sicher wie TCP, aber dafür schneller und leichter (größe) bei der Übertragung.


Das ist nicht generell so, nur einem nie behobenem Bug in BB(NICHT in BMax, um das es hier geht) geschuldet. In jeder anderen Sprache und mit heutigen verbindungen hat TCP quasi keinen nachteil mehr gegenüber UDP.
Quasi jedes MMO läuft auf TCP, und trotzdem sind dort 10-20ms latenzen drin.

klin

BeitragMi, Aug 10, 2011 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, mittlerweile kann man ja auch TCP genauso durchlaufen lassen wie UDP (einfach mal nebenbei, ohne dass das Spiel angehalten wird).
Allerdings ist trotzdem das UDP Paket leichter von der Größer her als das TCP Paket und ist daher empfehlenswerter, wenn man viel Datenverkehr hat. TCP benutze ich auch nur, wenn man Dateien senden muss oder nur vereinzelnde Pakete. Ein mmo benutzt ja meistens tile-movement und muss daher nicht pixel für pixel senden oder auf die Schnelle Rotation oder sowas senden. Der Client berechnet ja meistens schon das Movement von A -> B vor. Es ist also ein angenehmer Datenverkehr.
Allerdings wenn es dann so abgehen solltewie bei CounterStrike oder bei einem pixel-movement Spiel, dann ist wirklich UDP empfehlenswerter.

Klin

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group