Clash of Clans mit Python programmieren?

3 Antworten

Ich würde dir dazu raten, dich mit der Godot Engine vertraut zu machen. Die dort angewandte Skriptsprache GDScript ist an Python angelehnt, ein Umstieg ist also nicht schwer. Generell kann man sich leicht in sie einarbeiten und zusätzlich unterstützt sie einen Export auf verschiedene Plattformen. Ein Clash-of-Clans-ähnliches Spiel sollte sich ebenso damit umsetzen lassen.

In jedem Fall würde ich dazu raten, ein Framework oder eine Engine zu nutzen, welches / die sich auf die Spieleprogrammierung fokussiert hat. Für Python gibt es da keine so große Auswahl. Für Minispiele gibt es bspw. Pygame, Ignifuga oder Arcade. Sie alle sind jeweils auf 2D fokussiert und für dein Vorhaben wohl weniger geeignet. Für komplexere Spiele (bspw. in 3D) sind entweder Ursina (basiert z.T. auf Panda3D) oder Panda3D (wurde mit C++ entwickelt) geeignet. Anfängern würde ich sie nicht unbedingt empfehlen.

Wichtige Ratschläge, die ich dir für deine Projektidee noch mitgeben würde: Plane vor und fokussiere dich zunächst auf die Key Features. Mache Abstriche - irgendwelche zusätzlichen Features kann man später immer noch ergänzen und an das Original wirst du vermutlich eh nicht herankommen.

Wenn es um Schnelligkeit geht, dann ist C++ besser.

Die meisten Schachprogramme sind nicht umsonst in C++ oder C geschrieben.

triopasi  08.05.2022, 21:45

Wieso muss ein Schach-Programm besonders schnell sein? Und wie kommst du von Clash of Clans zu Schach?

0
AusMeinemAlltag  08.05.2022, 21:47
@triopasi

Weil es bei Schachprogrammen um Schnelligkeit geht.

Je schneller ein Schachprogramm rechnet, desto stärker ist es im Vergleich zu anderen Schachprogrammen, die genauso gekonnt programmiert wurden.

Außerdem habe ich geschrieben, wenn es dem Fragesteller um Schnelligkeit in der Programmausführung geht.

0
triopasi  08.05.2022, 22:09
@AusMeinemAlltag

Das ist heute kein Problem mehr. Egal was du programmierst, es ist in den meisten Fällen schnell genug, wenn du gut bist.

Hast du mal class of Clans gesehen? Weißt du überhaupt was das ist?

Weißt du, wie die besten Schachcomputer arbeiten? Mal etwas von KI gehört?

0
AusMeinemAlltag  08.05.2022, 22:16
@triopasi

Wenn du ein Schachprogramm in C++ programmierst und anschließend programmierst du dasselbe komplett in Python, also ohne dort C oder Assembler einzubinden, und zwar so ähnlich wie möglich, dann wird das C++ Programm fast immer gewinnen. Das will ich damit sagen.

0
triopasi  08.05.2022, 22:18
@AusMeinemAlltag

Wieso? Beim Schach wird doch nicht gewertet wie lang du gebraucht hast für einen Zug. Außer du kommst über das Zeitlimit des Spiels.

Und erneut die Frage: Hat das für einen Clash of Clans Klon irgendeine Relevanz?

0
triopasi  08.05.2022, 22:21
@AusMeinemAlltag

Ich verstehe schon, dass du erzahlen willst, dass C(++) schneller läuft als Python. Schön. Aber was hat das mit der eigentlichen Frage zu tun?

Weißt du was CoC ist? Eine Multiplayer-Spiel als App mit etwas Grafik und nem Server im Hintergrund. Keine komplexe Berechnung, nur Apps und Web-Schnittstellen/Server. Da ist C(++) mitunter das nutzloseste was du tun kannst.

0
AusMeinemAlltag  08.05.2022, 22:22
@triopasi

Ich habe ja geschrieben, falls es dem Fragesteller um Schnelligkeit geht.

Wenn Schnelligkeit nicht benötigt wird, dann eben nicht.

0
triopasi  08.05.2022, 22:23
@AusMeinemAlltag

Dann lies mal die Frage. Du hast leider eine Frage beantwortet die hier nirgends gestellt wurde..

0
AusMeinemAlltag  08.05.2022, 22:26
@triopasi

Zitat vom Fragesteller :

Oder ist sie dazu zu unperformant?

Python ist langsam, so einfach ist das.

Wenn er merkt, das es ihm zu langsam ist, dann muss er eben andere Programmiersprachen benutzen, wie zum Beispiel C++

0
triopasi  08.05.2022, 22:27
@AusMeinemAlltag

Langsam? Nein. Langsamer als C++? Ja.

Und nochmal die Frage: Wie programmierst du in C++ eine iOS+Android App und dazu einen Server? Du wärst der erste der für eine so "einfache" App so viel Aufwand betreibt.

0
AusMeinemAlltag  08.05.2022, 22:30
@triopasi

Ich habe mal ein Programm in Python geschrieben gehabt, und war dann erschrocken, wie langsam das war, da sind moderne BASIC-Dialekte sogar noch wesentlich schneller als Python.

Und ja, Clash of Clans kenne ich nicht.

0

Natürlich, dir ist aber bewusst, dass du die Anwendung dann nur auf Windows ausführen kannst oder?

eduard908 
Fragesteller
 08.05.2022, 22:04

Stimmt. Das hatte ich total verdrängt. Also dann am besten mit C++?!

0
Baerenheini  08.05.2022, 22:10
@eduard908

Ja, ist eine der vielen möglichkeiten. Ich würde dir raten mal generell tutorials zu schauen, wie man an appprogrammierung rangeht. Da ergeben sich sicher noch mehr Fragen, die du lieber vorher beantwortest als wenn du dann im nachhinein Zeit verschwendet hast

0
regex9  09.05.2022, 03:06
@eduard908

Python ist auf verschiedenen Plattformen lauffähig. Linux, MacOS, ... es ist nicht auf Windows OS beschränkt.

1
Skohsl  15.07.2022, 22:54

Dir ist aber bewusst, dass deine Behauptung völliger Unsinn ist?

0