Poker programmieren
Poker programmieren
Hallo zusammen,
ich hoffe ich befinde mich im richtigen Unterforum.
Ich würde gerne eine (Offline-)Pokersoftware entwickeln und brauche dabei eure Hilfe. Undzwar weis ich nicht welche Programmiersprache ich verwenden soll. Bisher kann ich nur C++. Soviel ich gehört habe, werden Pokersoftwares meisten mit Java programmiert. Welche Vorteile hat Java? Ich habe vor etwa 4Jahre schon eine Pokersoftware entwickelt mit der 3D-Engine vom Buch "3D-Spieleprogrammierung mit DirectX9 und C++" welches ich auch bereits gelesen habe. Leider finde ich den Quellcode nicht mehr und muss nun wieder von vorne anfangen. Ich denke mit einer anderen Enginge oder Programmiersprache... komm ich viel schneller zum Ziel. Was würdet ihr mir empfehlen?
Bin dankbar für jede hilfreiche Antwort :)
MfG
ProGem
ich hoffe ich befinde mich im richtigen Unterforum.
Ich würde gerne eine (Offline-)Pokersoftware entwickeln und brauche dabei eure Hilfe. Undzwar weis ich nicht welche Programmiersprache ich verwenden soll. Bisher kann ich nur C++. Soviel ich gehört habe, werden Pokersoftwares meisten mit Java programmiert. Welche Vorteile hat Java? Ich habe vor etwa 4Jahre schon eine Pokersoftware entwickelt mit der 3D-Engine vom Buch "3D-Spieleprogrammierung mit DirectX9 und C++" welches ich auch bereits gelesen habe. Leider finde ich den Quellcode nicht mehr und muss nun wieder von vorne anfangen. Ich denke mit einer anderen Enginge oder Programmiersprache... komm ich viel schneller zum Ziel. Was würdet ihr mir empfehlen?
Bin dankbar für jede hilfreiche Antwort :)
MfG
ProGem
Re: Poker programmieren
Hallo,
also, Java hat den Vorteil das du damit OnlinePoker programmieren kannst, oder Poker das auf unterschiedlichen Platforms läuft.
C++ ist mMn schon gut, vorallem wenn Du es schon kannst.
@Engine:
Gibt es sehr viele: Ogre3D zB. halte ich für ziemlich gut, und Du wirst damit bestimmt schnell zum Ziel kommen, schneller als wenn du von Grund auf eine eigene Engine schreibst.
Gruß
also, Java hat den Vorteil das du damit OnlinePoker programmieren kannst, oder Poker das auf unterschiedlichen Platforms läuft.
C++ ist mMn schon gut, vorallem wenn Du es schon kannst.
@Engine:
Gibt es sehr viele: Ogre3D zB. halte ich für ziemlich gut, und Du wirst damit bestimmt schnell zum Ziel kommen, schneller als wenn du von Grund auf eine eigene Engine schreibst.
Gruß
-
- Moderator
- Beiträge: 2114
- Registriert: 25.02.2009, 13:37
Re: Poker programmieren
Ähm ja, das geht mit C++ auch. Es sei denn du meinst mit Online "im Browser" und beziehst dich auf Java Applets.also, Java hat den Vorteil das du damit OnlinePoker programmieren kannst, oder Poker das auf unterschiedlichen Platforms läuft.
Ich vermute dass diejenigen die Java verwenden nicht unbedingt 3D dabei im Sinn haben. Der "Vorteil" bestünde dann darin dass Java eine extrem umfangreiche Runtime Bibliothek mit sich bringt die dir viele Aufgaben abnimmt. (Ja ich weiß, Java und 3D geht auch, allerdings nützt die Runtime da eher weniger und der Vorteil verschwindet). Eine vergleichbare Bibliothek für C++ wäre z.B. Qt, was du dir mal anschauen könntest. Wenn es doch 3D sein soll, kannst du im Grunde auf jede beliebige Engine zurückgreifen, bekannte vertreter wären z.B. OGRE (c++) oder jMonkey (Java).
Das Hauptproblem bei Poker ist aber eigentlich nicht die Darstellung sondern vernünftige Zufallszahlen mit genügend großer Entropie zu bekommen. Das gilt jetzt zwar vor allem für Online Poker (Cheat Sicherheit) aber auch offline macht es irgendwie wenig Sinn wenn man 90% der möglichen Hände nie zu sehen bekommt.
Nett zu lesen:
http://www.cigital.com/papers/download/ ... mbling.php
Auch hier (unter Shuffle):
http://www.pokerstars.com/poker/room/features/security/
Re: Poker programmieren
ok danke für deine Antwort :)joggel hat geschrieben:Hallo,
also, Java hat den Vorteil das du damit OnlinePoker programmieren kannst, oder Poker das auf unterschiedlichen Platforms läuft.
C++ ist mMn schon gut, vorallem wenn Du es schon kannst.
@Engine:
Gibt es sehr viele: Ogre3D zB. halte ich für ziemlich gut, und Du wirst damit bestimmt schnell zum Ziel kommen, schneller als wenn du von Grund auf eine eigene Engine schreibst.
Gruß
Mir ist es auch lieber wenn ich bei C++ bleibe. Gibt es auch simplere Engines als Ogre3D?
Weil die Engine ist schon ziemlich umfangreich, für ein simples 2D-Programm
-
- Moderator
- Beiträge: 2114
- Registriert: 25.02.2009, 13:37
Re: Poker programmieren
Wenn es 2D sein soll würde ich wirklich Qt o.ä. empfehlen.ProGem hat geschrieben:ok danke für deine Antwort :)joggel hat geschrieben:Hallo,
also, Java hat den Vorteil das du damit OnlinePoker programmieren kannst, oder Poker das auf unterschiedlichen Platforms läuft.
C++ ist mMn schon gut, vorallem wenn Du es schon kannst.
@Engine:
Gibt es sehr viele: Ogre3D zB. halte ich für ziemlich gut, und Du wirst damit bestimmt schnell zum Ziel kommen, schneller als wenn du von Grund auf eine eigene Engine schreibst.
Gruß
Mir ist es auch lieber wenn ich bei C++ bleibe. Gibt es auch simplere Engines als Ogre3D?
Weil die Engine ist schon ziemlich umfangreich, für ein simples 2D-Programm
Re: Poker programmieren
Oh, wie unachtsam von mir, Du hast natürlich recht, ich beziehe mich mit "Online" darauf, dass man es "im Browser" spielen kann und meine damit die Java Applets.Alexander Kornrumpf hat geschrieben:Ähm ja, das geht mit C++ auch. Es sei denn du meinst mit Online "im Browser" und beziehst dich auf Java Applets.also, Java hat den Vorteil das du damit OnlinePoker programmieren kannst, oder Poker das auf unterschiedlichen Platforms läuft.
Mmmhh.. ich würde davon abraten! Klar, man kann damit schon ein Spiel programmieren, allerdings ist das GUI dann sehr dem des Betriebssystem ähnlich. Es kommt darauf an, was Deine Motivation ist um Qt für die Programmierung eines Spiels vorzuschlagen.Alexander Kornrumpf hat geschrieben: Eine vergleichbare Bibliothek für C++ wäre z.B. Qt, was du dir mal anschauen könntest.
[Edit]
Ich kenne ClanLib ^^ und SFML, diese beiden sind Frameworks/Engines die für das Programmieren von 2D-Spiele gedacht sind. SFML ist wohl sehr beliebt...
-
- Moderator
- Beiträge: 2114
- Registriert: 25.02.2009, 13:37
Re: Poker programmieren
Ich weiß nicht was der "2D Spieleengine Markt" so hergibt aber soweit ich das mitbekomme ist SFML da zur Zeit State-of-The-Art und bietet keinerlei GUI System. Da Poker aber ein Spiel ist was praktisch nur aus GUI besteht (Buttons für Raise, Call/Check Fold, Slider für die Höhe des Einsatzes, das wars dann auch) ist die Verwendung einer GUI Bibliothek sicher die größte Zeitersparnis die man sich da machen kann.Mmmhh.. ich würde davon abraten! Klar, man kann damit schon ein Spiel programmieren, allerdings ist das GUI dann sehr dem des Betriebssystem ähnlich. Es kommt darauf an, was Deine Motivation ist um Qt für die Programmierung eines Spiels vorzuschlagen
Wie ich schon schrieb nehme ich an dass dies die Motivation hinter der Empfehlung Java zu verwenden war, die der Original Poster anscheinend bekommen hat.
EDIT:
Mit deinem Edit hast du die implizite Frage ob es was anders gibt als SFML ja beantwortet.
Re: Poker programmieren
Also, das GUI-Design kann vernachlässigt werden, hauptsache funktionell kann alles umgesetzt werden. Buttons sind beim Poker natürlich notwendig, deshalb möchte ich schon eine GUI-Bibliothek benutzen
Re: Poker programmieren
Okay..
Thema GUI + SFML:
Da musste ich mich auch eines besseren belehren lassen:
http://www.sfml-dev.org/wiki/?DokuWiki= ... rch&id=GUI
Ich persönlich finde ClanLib auch recht angenehm zum arbeiten...
Aber mal zum Thema:
Du willst Poker in 2D oder 3D realisieren?
Thema GUI + SFML:
Da musste ich mich auch eines besseren belehren lassen:
http://www.sfml-dev.org/wiki/?DokuWiki= ... rch&id=GUI
Ich persönlich finde ClanLib auch recht angenehm zum arbeiten...
Aber mal zum Thema:
Du willst Poker in 2D oder 3D realisieren?
-
- Moderator
- Beiträge: 2114
- Registriert: 25.02.2009, 13:37
Re: Poker programmieren
Sind wir uns also einig.
Um nicht als Qt Fanboy zu enden der ich gar nicht bin, es gibt da z.B. Swing (Java), WinForms[oder wie immer das aktuell gerade wieder heißt WPF?!] (C#), Qt (C++), GTK+(C) und wxWidgets
Welche du nimmst ist vermutlich relativ egal, ich habe Qt nur so gepusht da du gerne bei C++ bleiben wolltest.
Um nicht als Qt Fanboy zu enden der ich gar nicht bin, es gibt da z.B. Swing (Java), WinForms[oder wie immer das aktuell gerade wieder heißt WPF?!] (C#), Qt (C++), GTK+(C) und wxWidgets
Welche du nimmst ist vermutlich relativ egal, ich habe Qt nur so gepusht da du gerne bei C++ bleiben wolltest.
Re: Poker programmieren
In 2D. Das Design der Buttons ist unrelevant, möchte nicht zu viel Zeit für die Visualisierung aufbringen. Also sollte was simples seinjoggel hat geschrieben: Du willst Poker in 2D oder 3D realisieren?
- Chromanoid
- Moderator
- Beiträge: 4260
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Poker programmieren
Wenn du mal ein bisschen Abwechslung suchst, könntest du dir auch mal Flash anschauen. Es kann ja trotzdem ein Einzelspieler-Poker sein. Gleiches gilt für JavaScript (evt. mit HTML5) und/oder GWT. Wenn du C++ einigermaßen beherrscht, sollte Java, AS3 oder JavaScript kein Problem für dich sein. Flash möchte ich persönlich besonders empfehlen, da damit leicht ein Spiel zu entwickeln ist. Flash Spiele kannst du mit FlashDevelop und dem Flex SDK von Adobe ohne die Adobe Flash CS Umgebung umsonst entwickeln.
Re: Poker programmieren
Also dann würde ich mich der Meinung eines anderen ZFX-Members anschliesen: Qt :DProGem hat geschrieben:In 2D. Das Design der Buttons ist unrelevant, möchte nicht zu viel Zeit für die Visualisierung aufbringen. Also sollte was simples seinjoggel hat geschrieben: Du willst Poker in 2D oder 3D realisieren?
- dowhilefor
- Moderator
- Beiträge: 173
- Registriert: 27.02.2009, 15:44
- Alter Benutzername: 6SidedDice
- Echter Name: Nico Probst
- Wohnort: Bochum
- Kontaktdaten:
Re: Poker programmieren
Neue Meinung: C# und WPF oder XNA :) *wegflitz*
Mein Gehirn besteht nur noch aus einem hash-index, ich weiss was ich kenn aber kenn nicht was ich weiss
Re: Poker programmieren
Ich würde in Assembler programmieren und direkt in den Framebuffer schreiben. So hast du die volle Kontrolle.
Ein Zeiger ins Blaue ist wie ein Wegweiser nach <SEGFAULT>. Wenn du denkst, mein Name hat was mit abgefuckter Kleidung und bunten Haaren zu tun, dann kehr besser um.
Re: Poker programmieren
Fehlt nur noch, dass jemand visual basic vorschlägt :D
Danke für alle Antworten
Ich werde es jetzt mal mit Qt versuchen
Danke für alle Antworten
Ich werde es jetzt mal mit Qt versuchen
Re: Poker programmieren
Damit kann man auch Spiele programmieren, und wahrscheinlich nicht mal umständlich, sofern sie nicht zu komplex sind.ProGem hat geschrieben: Fehlt nur noch, dass jemand visual basic vorschlägt :D
Re: Poker programmieren
Ein simples Pokerspiel könnte man auf jeden Fall mit VB(.NET) schreiben, aber da brauch es dann etwas Feinschliff, damit das ganze nicht nach Flickwerk aussieht. Stark performancelastige Spiele sollte man allerdings nicht versuchen, nach meiner Erinnerung bricht die Framerate schnell zusammen, wenn man 30 oder mehr Animationen auf dem Bildschirm hat.
Ich würde noch SDL und GTK (für's GUI) einwerfen. Da dürfte man sich ungefähr genauso schnell einarbeiten wie in QT...
Wundert mich das SDL bis jetzt noch nicht gekommen ist :?:
Als ich mich das letzte mal damit beschäftigt hatte, war es noch schneller als SFML.
MfG
slice
Ich würde noch SDL und GTK (für's GUI) einwerfen. Da dürfte man sich ungefähr genauso schnell einarbeiten wie in QT...
Wundert mich das SDL bis jetzt noch nicht gekommen ist :?:
Als ich mich das letzte mal damit beschäftigt hatte, war es noch schneller als SFML.
MfG
slice
- dowhilefor
- Moderator
- Beiträge: 173
- Registriert: 27.02.2009, 15:44
- Alter Benutzername: 6SidedDice
- Echter Name: Nico Probst
- Wohnort: Bochum
- Kontaktdaten:
Re: Poker programmieren
Mal nebenbei bemerkt, der Pokerstars Client dürfte auch in .NET also VB, C# oder Managed C++ geschrieben sein ;)
Mein Gehirn besteht nur noch aus einem hash-index, ich weiss was ich kenn aber kenn nicht was ich weiss
Re: Poker programmieren
Ob C# oder VB.net oder Managed C++ macht nicht den geringsten Unterschied. Am Ende kommt eh der gleiche Code heraus. Werden ja auch identische Bibliotheken verwendet, einzig die Syntax ist unterschiedlich.
Ein Poker Spiel ist nun nicht gerade Performance lastig. Selbst GDI+ oder sogar GDI sollte für die Darstellung völlig ausreichen. ^^
Wenn Du schnell Ergebnisse willst .NET mit C#.
Ein Poker Spiel ist nun nicht gerade Performance lastig. Selbst GDI+ oder sogar GDI sollte für die Darstellung völlig ausreichen. ^^
Wenn Du schnell Ergebnisse willst .NET mit C#.
-
- Moderator
- Beiträge: 2114
- Registriert: 25.02.2009, 13:37
Re: Poker programmieren
Naja ich bleibe bei meiner Meinung, dass die großen GUI Frameworks sich da alle nicht viel tun.
Wir können gerne in einem neuen Thread ein Poll "Was ist dein lieblings GUI Framework?" aufmachen, ein "bestes" zu identifizieren halte ich jedoch für genauso wenig zielführend wie die Suche nach der besten Programmiersprache.
Wir können gerne in einem neuen Thread ein Poll "Was ist dein lieblings GUI Framework?" aufmachen, ein "bestes" zu identifizieren halte ich jedoch für genauso wenig zielführend wie die Suche nach der besten Programmiersprache.
Re: Poker programmieren
Die Frage ist halt immer was man will.Alexander Kornrumpf hat geschrieben:Naja ich bleibe bei meiner Meinung, dass die großen GUI Frameworks sich da alle nicht viel tun.
Wir können gerne in einem neuen Thread ein Poll "Was ist dein lieblings GUI Framework?" aufmachen, ein "bestes" zu identifizieren halte ich jedoch für genauso wenig zielführend wie die Suche nach der besten Programmiersprache.