Online-Kartenspiel
Dominik
- programmiertechnik
Salve!
Also ich habe eine Internet-Siet mit Benutzerverwaltung, Foren usw.
jetzt möcht ich ein TCG (Rundenbasierendes Kartenspiel) einbauen. Es sollen 2 user (beide müssen online sein) gegeneinander spielen können. Dabei muss auf eine MySQL datenbank zugegriffen werden. Mein Problem:
Ich habe keine Ahnung wie ich das Kartenspiel umsetzen soll, welche Sprache bzw. ob es ohne Client-.EXE geht.
Ich brauche was wo ich auf die DB zugreifen kann (Könnte ich auch über eine PHP-generierte XML-Datei machen) und die 2 spieler müssen irgendwie eine verbindung aufbauen. hat wer eine idee was dafür geeignet wäre? HTML/PHP würde zwar gehn, aber nur wenn ich die seite dauernd refreshe => hoher traffic.
JavaScript und VB-Script fallen auch aus, genauso wie Java: ich möchte keinen CLient zwingen das zu aktivieren, außerdem wärs mir lieber wenn der Quellcode nicht offen angezeigt werden würde.
hab an CGI bzw. Flash gedacht, allerdings hab ich von beidem absolut keine ahnung.
Ich brauche also einen Tipp welche Programmier- / Scriptsprache am besten dafür geeignet wäre.
Salve!
Salvete!
jetzt möcht ich ein TCG (Rundenbasierendes Kartenspiel) einbauen. Es sollen 2 user (beide müssen online sein) gegeneinander spielen können.
Ich habe keine Ahnung wie ich das Kartenspiel umsetzen soll, welche Sprache bzw. ob es ohne Client-.EXE geht.
Du musst dich zunächst entscheiden, WIE das Spiel ablaufen soll:
direkt live, wie bei einem Chat, mit Anzeige der Spielsituation
(Beispiele: www.brettspielwelt.de, www.gravon.de)
rundenbasiert, wie bei Postspielen, also der erste Spieler logt sich ein, macht seinen Zug, der zweite Spieler bekommt eine Mailbenachrichtigung, logt sich irgendwann ein, macht seinen Zug, etc.
(Beispiele: www.cartagena-online.de, www.yucata.de, www.online-vinci.de.vu)
Für Live-Spiele wäre eine dauerhafte Verbindung zwischen den Spielclients und dem Spielserver sehr vorteilhaft, was aber nicht mehr mit reinem HTML und CGI/ASP geht. Dazu eignen sich Java-Applets (bei denen ja nur der Bytecode und nicht der Quellcode veröffentlicht werden), die sich beim Server anmelden und die Verbindung offenhalten, damit der Server bei Bedarf die Spieländerungen durch die Handlungen der anderen Spieler direkt übermitteln kann. Hierzu musst du dann einen eigenen Spiele-server schreiben (also eine .EXE in einer beliebigen Sprache).
gute Sprachen für den Client: Java (Applets), Flash, oder beliebige Hochsprache (dann statt Applet eher .EXE-Download)
gute Sprachen für den Server: irgendeine Hochsprache (Java, C+, Delphi, VB, ...)
Für rundenbasierte Postspiele (sozusagen webunterstützte Play-by-E-Mail-Spiele) reicht es aus, wenn du mit PHP oder ASP serverseitig die aktuelle Spielsituation darstellst und mit einem Klick die Änderungen in die Datenbank speicherst. Der andere Spieler braucht die Änderungen ja nicht live mitbekommen, sondern erst wenn er sich einlogt. Das verschicken von Benachrichtigungsmails wenn der aktive Spieler wechselt, ist sehr nützlich und lässt sich auch serverseitig mit PHP/Perl/ASP realisieren.
gute Sprachen für den Client: reines HTML/CSS
gute Sprachen für den Server: beliebig (CGI-basiert, z.B. PHP, Perl, ASP/VB, ASP/JScript, C++, ...)
PS: Natürlich kannst du "quasi-live" Spiele auch ohne clientseitige Programme/Skripte schreiben, musst dann aber - was ich unschön finde - durch META REFRESH regelmässig den Browser veranlassen, nach dem neuen Spielstand zu fragen, auch wenn dieser sich nicht geändert hat.
» jetzt möcht ich ein TCG (Rundenbasierendes Kartenspiel) einbauen.
Kleiner Tipp nebenbei: Falls das TCG nicht von dir selber erfunden wurde, solltest du den Spieleverlag/-autor vorher um Erlaubnis fragen. Wenn es sich um eine werbefreie, private Website handelt, und der Verlag/Autor keine eigenen Pläne für eine PC- oder Online-version hat, würde ich es als gar nicht so unwahrscheinlich einschätzen, dass man dir die Einwilligung geben wird.
(Soweit ich als Laie das verstanden habe, sind Ideen an sich zwar nicht urheberrechtlich schützbar, die konkrete Umsetzung (z.B. Grafiken, Spielregeln, Gesamtkomposition, aber auch Name des Spiels etc.) aber schon. So haben z.B. viele Webadmins wegen der Umsetzung eines Spiels, bei dem man unter verdeckten Karten zwei gleiche Motive finden muss, eine Abmahnung bekommen, weil sie ihr Onlinespiel so genannt haben, wie auch ein den geschützter Titel eines Spieleverlags heisst.)