Was genau muss ich können - Kleines Spiel!



  • Hallo,

    ich bin recht neu in C++. Ich programmiere seit 4 Jahren mit PHP / JavaScript (Ajax) und möchte nun zwecks Server-Entlastung ein Script von mir in C++ umscheiben.

    In C++ besitze ich nur die Grundkenntnisse (if, switch, etc) und weiß deshalb nicht so genau, wo ich anfangen soll.

    Mein Script soll ein Programm werden, welches es 2 Usern erlauben soll gegeneinander ein Kartenspiel zu spielen.

    Bisher ist mein Script in Ajax geschrieben und so kommt es, dass mein Server bei mehr als 6 Spielern zur selben Zeit anfängt zu hängen.

    Mein Konzept bei dem Online Spiel sieht so aus, dass ich die Aktionen des Gegners in ein Text Fiel speichere und dieses wird alle 0,7 Sekunden geladen und die Aktionen werden alle ausgeführt, also müsste das doch bei C++ auch nach dem Motto funktionieren, oder?

    Der Spieler verschiebt eine Karte und der Gegner erhält dann die Anweisung, dass auf seinem Feld die selbe Karte an X / Y soll.

    Aber wo soll ich anfangen?

    Wie komme ich von der Konsole zu einer grafischen Benutzeroberfläche?

    Wie soll ich eine Verbindung zwischen 2 PCs aufbauen?

    Wie kann man Content aus einer Webseite auslesen? (zwecks aktualisierung der kartendatenbank)

    Was genau brauch ich bei so einem Spiel? Brauche ich dort bereits Direct X / Open GL oder sowas? (zwecks anzeigen der Karten?)

    Wäre nett, wenn mir jemand helfen kann, dass ich mein Projekt in Zwischenschritte aufteilen kann, damit ich endlich mal damit beginne.

    Gruß



  • Aber wo soll ich anfangen?

    Ich würde mal sagen, ganz am Anfang 🙂

    Wie komme ich von der Konsole zu einer grafischen Benutzeroberfläche?

    Entweder du begnügst dich mit der WinAPI (www.win-api.de), oder nimst dir dafür eine GUI-Bibliothek, die die API in übersichtliche Klassen kapselt, und dir das Arbeiten somit ungemein vereinfacht. Guck dir dazu das mal an: http://www.c-plusplus.net/forum/viewtopic-var-t-is-81596.html.

    Wie soll ich eine Verbindung zwischen 2 PCs aufbauen?

    Das geht mit Sockets, hier findest du ein gutes Tutorial dazu: http://www.c-worker.ch/

    Wie kann man Content aus einer Webseite auslesen? (zwecks aktualisierung der kartendatenbank)

    Das geht auch mit Sockets, dazu solltest du das HTTP Protokoll lernen, um dann mit dem FTP Server zu kommunizieren, um die Daten holen zu können.

    Was genau brauch ich bei so einem Spiel? Brauche ich dort bereits Direct X / Open GL oder sowas? (zwecks anzeigen der Karten?)

    Kommt darauf an, welche Ansprüche du hast. Normalerweise reicht da die GDI (also bordinterne WinAPI Mittel).
    Dazu möchte ich aber noch hinzufügen, dass alle diese Dinge nicht in ein paar Wochen erlernbar sind. Dazu solltest du dich erstmal gut in C++ einarbeiten.



  • Ich habe Zeit zum lernen 🙂

    Kann man so ein Programm eigentlich auch auf Linux benutzen oder werde ich da 2 verschiedene Programme schreiben müssen?



  • Das kommt ganz auf die verwendete Gui-Api und die anderen Libs an.
    Die WinAPI wirst du nicht unter Linux finden 😉



  • Versteh ich das richtig, du willst nur die Clients mit C++ schreiben? Ich weiß aber nicht, ob das wirklich einen Geschwindigkeitsvorteil bringt, wenn dann müsstest du den Server ver-C++-en 😕



  • Wär es nicht das beste, du schreibst dein Serverskript in C++? Deine Clients kannst
    du beibehalten, den Server entlastest du dadurch erheblich. Funktioniert aber nur, wenn der Server CGI-Binaries unterstützt...
    Schau mal hier: http://velociraptor.mni.fh-giessen.de/Programmierung/anleitung-html.pdf

    Grüße,

    Martin


Anmelden zum Antworten