![]() |
Anfängerproblem: Möchte ein Online Spiel programmieren!
Hallöchen zusammen,
ich bitte hier einfach mal um Hilfe: Ich möchte ein Online-Multiplayer-Spiel programmieren. (nix aufwängides, nur ein Kartenspiel) Eins kurz vorweg: Ich habe noch NIE irgendetwas programmiert, was über Oberstufenwissen hinaus geht! Ich studiere zwar Informatik *Hust*, aber mit WinControl etc. musste ich noch nie etwas machen. Sprich ich weiß überhaupt nicht, wie Delphi mit anderen Anwendungen und Windows kommunizieren kann. Ich hoffe auch, dass ihr mir nicht böse seid, wenn ich irgendetwas frage, was schon 100 andere gefragt haben... ich habe zwar recherchiert, aber mein Vorwissen hat in den seltensten Fällen ausgereicht, um mir einen Reim draus zu machen. Also gut... (1) Wie kann ich überhaupt über das Internet eine Verbindung zu einem anderen Rechner via Delphi bekommen? (2) Ich habe da mal was von TServer/ClientSockets und Indy TCP gelesen, kann damit aber überhaupt nichts anfangen! Was ist das? (3) Wie realisiere ich, dass irgendjemand Host und ein anderer Client ist? (4) Wie tausche ich Daten zwischen Server und Host? Wie stelle ich sicher, dass die "richtigen" und alle Daten gesendet wurden? (5) Was muss ich beachten, wenn ich hinter einem Router sitze? (firewall, forwarding...) (6) Wie steht es mit Sicherheit? Kann so eine Online-Verbindung für "böse Zwecke" ausgebeutet werden? Wäre ECHT TOLL, wenn mir jemand helfen würde !! Danke im Vorraus! Gruß, gangstah P.S. Ich nutze Delphi 7 Personal. |
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
Hallo,
(1) - (4) Indy, das ist eine Komponentensammlung fürs Internet. Das wirklich gute sind die Beispiele. Es gibt z.B. eines für Client-Server (Host-Client). Es gibt hier auch eine Bsp.-Videos, die z.B. die Nutzung von Indy demonstrieren. (bei den Turbo-Beispielen) Heiko |
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
Vielleicht erstmal was kleines anfangen? "Hallo Welt"-Programme in verschiedensten Variationen sind sehr beliebt beim Einstieg in eine neue / andere Sprache. ;)
Sorry, wenn das vielleicht etwas sarkastisch klingt. Aber "Ich habe noch NIE irgendetwas programmiert, [...]" und dann gleich "ein Online-Multiplayer-Spiel"? |
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
Also, erstmal ein herzliches Willkommen hier in der DP.
(Hat man bisher wohl vergessen) :dp: Ich weiß zwar nicht, mit welchen Programmiersprachen du schon gearbeitet hast, und wie weit dein Grundwissen bzgl Delphi aussieht, aber falls es deine ersten Erfahrungen mit Delphi sind, würde ich Nuclear-Ping recht geben, dass du dich halt erstmal mit der Umgebung von Delphi vertraut machst und dich langsam immer weiter reinarbeitest. So ein Online-Game ist schon ein "etwas" aufwenigeres Projekt, da bei sowas schon ein paar Sachen beachtet werden müssen. MfG Störtebeker |
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
Bei so etwas speziellem wie einem Kartenspiel hast du außerdem die Möglichkeit, zunächst einmal eine Nicht-Multiplayer-fähige Version zu erstellen und dich in diesem Zuge mit Delphi und Windows vertraut zu machen. Wenn das dann alles rund läuft, kannst du immer noch den Multiplayer-Modus einbauen. Nimm dir nicht zuviel auf einmal vor, daran scheitern die meisten Projekte, ganz besonders Anfängerprojekte.
|
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
Erstmal Danke für die schnellen und freundlichen Antworten !
Also ein normales (offline) Spiel zu programmieren sollte nicht sonderlich schwer sein. Mit der Delphi-Umgebung bin ich auch einigermaßen vertraut. Es ist schon so, dass ich sie das ein oder andere Mal für kleinere Projekte (mehr als 1000 Zeilen) benutzt habe. Der Punkt ist nur, dass ich bislang bei jedem Projekt innerhalb einer einzigen "Form" geblieben bin, da die Kernstücke irgendwelche Algorithmen und Funktionen waren. Was mir aber gänzlich fehlt, ist eben das Wissen darüber, wie man in Delphi auf Dinge außerhalb einer "Form" zugreift (etwa: Zugriff auf Excel Datenbanken, Auslesen von Emails, Netzwerk, usw..). Deshalb habe ich auch diese ganzen Fragen einmal gestellt, weil mir der Umgang mit (für mich) neuen Tools meistens deutlich leichter fällt, wenn ich das Prinzip dahinter verstehe bzw. weiß, was Delphi eigentlich macht und wodrauf man aufpassen muss. Entscheidend ist da für mich zum Beispiel auch der Punkt Router: Ich sehe im Moment nicht, wie Delphi da durchkommen will, aber das mag auch daran liegen, dass ich keine wirkliche Ahnung habe, wie das TCP/IP Protokoll arbeitet. Wäre super, wenn mir jemand ein bisschen Theorie dahinter erklären könnte! Danke soweit, Gruß an alle, gangstah. |
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
***update***
So ich hab mir jetzt mal Indy installiert und komme __ÜBERHAUPT NICHT__ zurecht ! Ich hab mir die Version 10.xx für Delphi 7 runtergeladen und beim Installieren gabs auch keine Fehler. Aber sobald ich irgendwas mit Indy versuche, kommt sofort, dass er irgendeine *.pas Datei nicht gefunden hat. Die habe ich dann im "/Programme/Indy 10 für Delphi 7/" Verzeichnis irgendwo gefunden. Dann kannte er irgendwelche Klassen nicht, obwohl ich in den "uses" alles benutze (IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP). Die angesprochenen Demos finde ich übrigens nirgendwo. Die, die man runterladen kann, produzieren bei mir Fehler wie oben und im "Demos" Verzeichnis sind keine. Kann mir da mal jemand ein paar Sachen zu erklären? Ich komme nämlich überhaupt nicht weiter!! |
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
Vieleicht solltest du die Pfade deiner IDE bekannt geben?
Projekt / Optionen / Verzeichnisse Oder globaler unter Tools / Optionen hast du dich auch genau an die Installationsanleitung von den Indykomponenten gehalten? |
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
Zitat:
Grundvoraussetzung ist das du dein Delphi 7 ordnungsgemäß Installiert hast. Und alle Einträge in der Regestrierung vorhanden sind! Dann müsste eigentlich alles funktionieren. Wichtig ist natürlich das du dir das ![]() Vielleicht deinstallierst du nochmal Indy und installierst es unter den oben genannten Umständen wieder. Viele Grüße |
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
Hm, Indy funktioniert jetzt eigentlich. Im Moment ist mein Problem folgendes:
![]() |
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
|
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
Also zunächst mal Danke an alle, die noch bestrebt sind, mir zu helfen.
Aber ich kann mir jetzt noch so viele "einfache Beispiele" angucken wie ich will... Solange niemand in der Lage ist, mir zu sagen, was an meinem total banalen Programm ( ![]() Wie in dem Forum Link von "Opfer-der-Genauigkeit" scheint bei mir das Problem auch bei dieser "ReadLn" bzw "WriteLn" Funktion zu liegen. Mehr kann ich dazu aber nicht sagen, weil ich ein totaler Neuling bin und keine Ahnung habe, wie die beiden Funktionen arbeiten. Was ich auch nicht verstehe, ist wo der Sinn der Indy-Komponente liegt, wenn man dann sowas wie "Memo1.Lines.add(Connection.IOHandler.ReadLn)" nicht benutzen kann, weil man "im Leben manchmal Pech hat". Außerdem weiß ich immernoch nicht, wann dieses OnExecute aufgerufen wird... Ach das ist doch alles ****.... Naja falls noch jemand sieht, wie man mein Problem löst, wäre ich sehr dankbar. Gruß, gangstah |
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
Zitat:
Zitat:
Zitat:
Zitat:
Ich will dich jetzt keinesfalls maßregeln oder etwas in der Art. Siehe es bitte als konstruktive Kritik. Viel Glück noch & Grüße, Max |
Re: Anfängerproblem: Möchte ein Online Spiel programmieren!
@GansterJoe:
Also erstmal vorweg Indy9 und Indy10 funktionieren beide sehr gut, ich arbeite fast täglich mit Indy und realisiere damit komplexe Client/Server Lösungen, VoiceOverIP, Cam2Cam und vieles mehr. Zu Deinem "simplen" Problem, muss ich 2 Sachen sagen : 1. Lass das mit dem Online-Spiel, Du ersparst allen hier viele unnötige Fragen, das ist einfach zu komplex für den Anfang. 2. RTFM ! Wenn man schon sich Code aus diversen Bps zusammen kopiert, sollte man auch wissen was man tut. Wer hat Dir gesagt das Du TIdCmdServer anstatt TIdTcpServer verwenden sollst ? TIdCmdServer ist von TIdTcpServer abgeleitet und arbeitet mit CommandHandler ! Teste Dein Projekt mal bitte mit TIdTcpServer und bitte bitte benutz die Hilfe da stehen manchmal auch nützliche Sachen drin ;-) Greetz Data |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz