Pygame für Aufbaustrategie?

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
BlackJack

@waschecht: Ich habe das Gefühl Du verzettelst Dich zu sehr in GUI/Architektur-Fragen. Kann aber auch daran liegen, dass Du grundsätzlich anders an die Sache herangehst als ich das tun würde. Die Reihenfolge Event, View, Modell finde ich komisch. Bei mir käme zuerst das Spiel und dann erst die GUI-Schicht darüber, und das möglichst getrennt, so dass man die GUI auch austauschen kann.

Tkinter finde ich ganz nett aber sehr eingeschränkt was die Widgets angeht. Und mit wxWidgets hast Du Dir nicht gerade das modernste Toolkit rausgesucht.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Also ich halte es für die größte Schwäche von `pygame`, dass es eben keine GUI gibt. Man kann damit natürlich Spiele entwickeln, aber speziell bei GUI lastigen Dingen, wie es nach meinem Verständnis alle möglichen Aufbauspiele sind, muss man letztlich ein komplettes GUI-Framework in pygame nach implementieren. Iirc gab es doch mal jemanden von der Regulars hier, der ein GUI-Toolkit auf PyGame-Basis umsetzen wollte?

Ich würde Dir für eine "sexy" Oberfläche ja Qt mit QML empfehlen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hyperion hat geschrieben:Iirc gab es doch mal jemanden von der Regulars hier, der ein GUI-Toolkit auf PyGame-Basis umsetzen wollte?
Das gibts doch wie Sand am Meer, weil das jeder erstmal implementiert, bevor er feststellt, wie archaisch und schlecht maintained Pygame ist und es in einem halbfertigen Zustand verwirft.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
waschecht
User
Beiträge: 4
Registriert: Sonntag 3. Juni 2012, 13:55

BlackJack hat geschrieben:@waschecht: Ich habe das Gefühl Du verzettelst Dich zu sehr in GUI/Architektur-Fragen. Kann aber auch daran liegen, dass Du grundsätzlich anders an die Sache herangehst als ich das tun würde. Die Reihenfolge Event, View, Modell finde ich komisch. Bei mir käme zuerst das Spiel und dann erst die GUI-Schicht darüber, und das möglichst getrennt, so dass man die GUI auch austauschen kann.
Mhh, also ich hab früher einiges mit HTML und PHP gemacht. Kann sein, dass ich daher ziemlich optisch orientiert bin. Vielleicht habe ich das mit der Reihenfolge auch etwas komisch ausgedrückt.
Irgendwie möchte ich schon sehen, was das Modell ausspuckt, daher erst der View. Eigentlich wäre es aber wohl parallel erarbeitet.

Was das Spiel angeht, habe ich so einiges vorgearbeitet. Also Modelle erarbeitet und in Excel ausprobiert. Generelle Menüstruktur festgelegt. Sowie bereits Vorarbeiten zu Inhalten. Sogar schon ein Buttonset erstellt.
Im Moment scheitert es tatsächlich an der GUI/Architektur. Und natürlich an meiner völligen Unerfahrenheit mit Python.
Leonidas hat geschrieben:archaisch und schlecht maintained Pygame ist
Du würdest von Pygame abraten?
JörnS
User
Beiträge: 9
Registriert: Montag 31. Oktober 2011, 16:28

Mein Tipp wäre Panda3D, damit kann man auch 2D super einfach nutzen, und wenn einem das dann doch zu langweilig ist, kann man dann zu 3D wechseln...

http://images.wikia.com/pyrdacor/de/ima ... _scrot.png

Ein Screenshot aus meinem kleinen Projekt, bzw dem Leveleditor dafür. Im Hintergrund der Editor an und für sich, links ein kleines Tkinter-Fenster und rechts, auf dem 2D-Bereich gezeichnet, eine Listbox zum auswählen der Tiles aus dem die Level aufgebaut sind - und die Listbox-Klasse ist mit wenigen Zeilen selber programmiert. Es gibt dann noch DirectGUI für Buttons etc, das sieht aber etwas dröge aus. librocket wird jetzt auch unterstützt, sieht super aus - ist aber nicht mein persönlicher Fall. Werde ich mir trotzdem noch mal genauer ansehen.

EDIT: Da der Screenshot so groß ist, hab ich aus dem IMG lieber einen URL-Tag gemacht.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

JörnS hat geschrieben:Mein Tipp wäre Panda3D, damit kann man auch 2D super einfach nutzen, und wenn einem das dann doch zu langweilig ist, kann man dann zu 3D wechseln...
Toller Tipp, wenn es nicht um ein Spiel mit komplexen UI-Elementen ginge ;-) Diese müsste er doch dann genauso neu schreiben, wie bei pygame auch... :-P

Ich würde ja immer noch für Qt mit QML plädieren. Der QML-Teil sollte fix und flexibel genug für alles sein; für reine Standard-UI-Menüs kann man dann immer noch die "alten" QWidgets nehmen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten