Python?

Der Anlaufpunkt für alle, die selbst ein Adventure programmieren wollen.
Antworten
Benutzeravatar
Criminis
Rätselmeister
Rätselmeister
Beiträge: 1670
Registriert: 27.02.2012, 11:42
Wohnort: Chefhausen

Python?

Beitrag von Criminis »

Heyho!
Meine Matura rückt immer näher und langsam müsste ich mich auch mal Gedanken machen, was ich denn als Maturaarbeit machen will (ich weiss nicht wie das in DE ist, jedenfalls hat man hier dreiviertel Jahr Zeit, um ein Projekt auf die Beine zu stellen und eine Arbeit darüber zu schreiben. Man darf/muss sich dabei einen Lehrer zu Hilfe nehmen. Die Note wird dann in die Maturanote miteinfliessen). Ich habe mir überlegt, ob ich was mit Musik oder Design oder Animieren machen soll, da ich alle drei doch einigermassen kann und Freude daran habe.
Ich habe mich also entschlossen, ein kleines Spiel zu machen. Ich habe bereits meinen Informatiklehrer konsultiert und er sagte dass dies kein Problem sei, vorausgesetzt ich nähme eine Engine, die mit Python programmierbar sei.
Ich habe mir mal Eclipse und Visionaire angesehen. Eclipse habe ich mittlerweile auf meiner Kiste hier und ich habe auch schon damit versucht, Python da raufzuschmuggeln, aber es funktioniert nicht (jedenfalls nicht so, wie sich die ETH-Fritzen das vorgestellt haben). Momentan schweift mein Blick immermehr in Richtung Visionaire, doch ich weiss nicht, ob ich damit möglicherweise in ein Fettnäpfchen trete. Auf deren Homepage steht, dass sich Visionaire ohne einen blassen Dunst von Programmieren handhaben lasse, aber ich traue dem nicht so recht.
Mein Lehrer sagt, dass ich Java möglichst vermeiden sollte, denn das sei eines der Gebiete, auf denen er mir nicht weiterhelfen könne und dass schon so einige Schüler vor mir an Java verzweifelt seien (an unserer Schule gibt es Informatik nur als Freifach und da wird ausschliesslich Basic und Python unterrichtet).
Ich würde gerne ein einfaches, kurzes 2D-Adventure machen (yay, wie innovativ), ganz einfach weil ich mit Photoshop besser umgehen kann als mit Blender, dreiviertel Jahr in Relation zu Schule, Hobby und mögliche Zwischenfälle doch relativ kurz sind und ich die Sache etwas überschaubar halten muss.
Lange Rede kurzer Sinn: Kennt ihr etwas, womit sich Adventures mit Python (oder ohne Ahnung) herstellen lassen, die auch für Grünschnäbel wie mich geeignet sind? Und hält Visionaire wirklich das, was es auf der Webseite verspricht? Könnt ihr mir weiterhelfen?
"Ich glaube an das Pferd. Das Automobil ist nur eine vorübergehende Erscheinung."
- Kaiser Wilhelm II. (1859-1941)
Benutzeravatar
z10
Adventure-Gott
Adventure-Gott
Beiträge: 4974
Registriert: 26.12.2009, 12:10

Re: Python?

Beitrag von z10 »

Bei https://www.scirra.com/construct2 könnte ich dir weiterhelfen - ich weiß nur nicht inwiefern bei euch verlangt wird, dass wirklich in einer Programmiersprache gecodet und gescriptet wird oder ob ein Baukasten auch okay ist. Ein Adventure wäre dort aber auch durchaus anspruchsvoll genug um eine Arbeit dazu zu rechtfertigen - Pfadfindung, Dialogsystem, Sortieren von Vorder- und Hintergründen / Überlappungen, Itemsystem. Nur glaube ich, dass es mit der kostenlosen Version etwas knapp werden könnte, weil man dort nur 100 Events zur Verfügung hat (für Basisfunktionalität reicht es aber vermutlich). Construct 2 basiert auf javascript (was ja nicht java ist), wenn man aber nicht gerade ein Plugin dafür programmiert, bastelt man eigentlich nur mit den Baukastenelementen sein Spiel zusammen.

Visionaire habe ich noch nicht benutzt - für Basisfunktionalität solls aber wirklich einfach handhabbar sein. Wenn man komplexere/ungewöhnlichere Dinge machen will, soll es angeblich nicht so gut geeignet sein. Sicherlich weniger Aufwand als mit Construct, weils schon direkt für Adventures ausgelegt wurde.

Die Wintermute Engine gibts auch noch für Adventures: http://dead-code.org/home/ . Damit hab ich aber auch keine Erfahrung.

Eclipse ist ja ersteinmal keine Spieleengine - wäre denke ich viel Arbeit Grafik/Animationen usw. von Grund auf einzuarbeiten. Pygame scheints zu geben, wenn du viel mit programmieren beschäftigt sein willst
Python lies sich bei mir aber problemlos in Eclipse zum laufen bringen.
“In my painful experience, the truth may be simple, but it is rarely easy.”
― Brandon Sanderson

Chatkontrolle stoppen
Benutzeravatar
Einzelkämpfer
Argonaut
Argonaut
Beiträge: 8604
Registriert: 08.12.2007, 01:43

Re: Python?

Beitrag von Einzelkämpfer »

@Criminis: Deinem Avatar entnehme ich, dass du Deponia gespielt (und für gut befunden) hast. Das ist ja nunmal mit Visionaire gemacht, d. h. seine Tauglichkeit für hochwertige Spiele sollte die Engine spätestens damit unter Beweis gestellt haben. Skriptsprache ist hier übrigens nicht Python, sondern Lua.

Als jemand, der sich schon intensiver mit Visionaire beschäftigt hat, kann ich dir aber versichern, dass man damit auch gänzlich ohne Skripte einwandfreie Spiele erstellen kann. Falls du es noch nicht getan hast, solltest du mal http://www.mckracken.net/ (an)spielen - das wurde noch mit der alten Visionaire-Version gemacht, in der es noch gar keine Skript-Unterstützung gab. Da wurde also ausschließlich mit dem Visionaire-eigenen System gearbeitet, und das kann sich ja absolut sehen lassen. Wenn eigenes Programmieren also keine Anforderung bei deiner Arbeit ist und du deine Zeit lieber in die Grafikerstellung stecken möchtest, bist du mit Visionaire gut dabei.

Soll hier kein Visionaire-Werbe-Post sein, aber zu anderen Engines kann ich mangels Erfahrung nichts sagen.
Die kostenlosen Adventures der "Argonauts":
Me and the Robot (2020), Welcome to the Funky Fair (2020), IMAGinE (2021), MVEM: A Druidic Adventure (2021), Oh My God (2022), Under the Sea (2023), Only in Yazoria (2024)
Benutzeravatar
Criminis
Rätselmeister
Rätselmeister
Beiträge: 1670
Registriert: 27.02.2012, 11:42
Wohnort: Chefhausen

Re: Python?

Beitrag von Criminis »

Danke vielmals für die schnellen Antworten!
Ich habe mir mal official construct 2 und Visionaire genauer angesehen und mit meinem Informatiklehrer nochmals geredet. Er will wirklich, dass ich Python anwende, doch ich glaube ich werde nicht drumrum kommen, Lua zu verwenden.
Ich bin gerade ziemlich verunsichert, denn einerseits verstehe ich denn Sinn hinter der Maturaarbeit (sich mit etwasem intensiv zu beschäftigen und dabei was zu lernen), aber wie viel Arbeit ist das wirklich, wenn man keine "richtige" Spieleengine hat? ... Und wie lässt sich ein Informatiklehrer davon überzeugen, dass sich eine "echte" Engine doch eher lohnen würde?
Denn es wird so oder so eine Heidenarbeit sein das Ganze und ich weiss nicht inwiefern dass es das ganze noch unnötig kompliziert macht.

@einzelkänpfer: jaha, und wie! Ich bi eigentlich darüber erst auf Visionaire gekommen ;)

(sorry für mein seltsames Deutsch, ich schreibe von meinem Handy aus und übersetze gerade 1:1 vom Schweizerdeutschen)
"Ich glaube an das Pferd. Das Automobil ist nur eine vorübergehende Erscheinung."
- Kaiser Wilhelm II. (1859-1941)
Benutzeravatar
z10
Adventure-Gott
Adventure-Gott
Beiträge: 4974
Registriert: 26.12.2009, 12:10

Re: Python?

Beitrag von z10 »

Ich bin kein erfahrener Programmierer, also kann ich mich irren, aber die meisten Nutzen heute irgendeine Art von Framework, vor allem Hobbyisten - insofern wäre es seltsam sich gegen eine etablierte Spieleengine zu weigern, solange der Eigenanteil an logischer Planung und Umsetzung der Spielemechaniken gegeben ist.
Wenn du wirklich unbedingt mit Python scripten sollst, dann versuchs wirklich mit Pygame (sollte sich auch in Eclipse nutzen lassen), bringt doch nichts sich erst noch mit Bibliotheken rumärgern zu müssen um überhaupt Grafikberechnungen, Audio usw zu ermöglichen.

Wie du deinen Lehrer überzeugen kannst... hmm, vielleicht zeige ihm auf, dass die meisten Spiele auf bekannte Engines zurückgreifen. Unity3D, Cryengine 2, Unreal Engine 3, ... .
Zeige ihm vielleicht, dass sogar Projekte aus einem Mapeditor Stoff für eine Bachelorarbeit liefern können (http://www.eeve.org/download.php?num=12), für eine Maturaarbeit wird da ein Projekt in einer Spieleengine doch sicherlich auch genug Stoff bieten. Im Endeffekt sind die Spieleengines auch objektorientiert, d.h. das ganze sollte auch für deinen Lehrer nachvollziehbar bleiben. Eigentlich brauchst du nur eine interessante Prämisse - vielleicht etwas, das über das abarbeiten von Stoff, der in einem Einsteigertutorial vorkommen könnte, hinaus geht. Baue vielleicht ein schönes kniffliges Rätsel-Minispiel in das Adventure, lass die Charaktere/das Spiel auf besondere Weise auf das Spielerinput reagieren, bau dein eigenes modulares Adventuresystem in einer nicht-adventure-spezialisierten Umgebung oder vielleicht irgendwas anderes. Überzeuge deinen Lehrer, dass es sinnvoll ist sich sowohl mit einer gänzlich neuen Entwicklungsumgebung vertraut zu machen (schult deine Anpassungsfähigkeit) und dort eigene Vorstellungen umsetzen zu können. Ich weiß nicht - musst du deine Maturaarbeit in Informatik machen - ansonsten wäre ein Adventureprojekt ja durchaus auch etwas für die Kunstabteilung ^^.

Ansonsten würde ich was Python angeht wohl dann eher eine Webseite kreieren als ein Spiel, da man für Webseiten schon eher direkt in einem Texteditor arbeitet, das wäre für mich persönlich weniger ungewöhnlich als ein Spiel damit zu programmieren.
“In my painful experience, the truth may be simple, but it is rarely easy.”
― Brandon Sanderson

Chatkontrolle stoppen
Benutzeravatar
Criminis
Rätselmeister
Rätselmeister
Beiträge: 1670
Registriert: 27.02.2012, 11:42
Wohnort: Chefhausen

Re: Python?

Beitrag von Criminis »

Danke! :)
Voraussetzung ist, dass man eine Maturaarbeot in einem Fach schreibt, das man im 3. Jahr besucht hat. Da aber die Stundentafeln dann gekürtzt werden, muss man sich zwischen den Fächern Musik, Zeichnen, alte Geschichte, W&R, Anwendungen der Mathematik und Philosophie entscheiden. Ich habe Musik genommen.

Kann man überhaupt ein Minigame das nicht in Lua ist auf eine Engine wie Visionaire basteln? Wenn das möglich wäre, dann wäre das genial!
"Ich glaube an das Pferd. Das Automobil ist nur eine vorübergehende Erscheinung."
- Kaiser Wilhelm II. (1859-1941)
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Re: Python?

Beitrag von KhrisMUC »

Ich würde mir mal Fabula anschauen: http://fabula-engine.org/
Das ist eine Open Source-Spiele Engine, die auf Python basiert. Sollte genau das sein, was Du brauchst.

Der Arbeitsaufwand, die Engine selbst zu schreiben, sollte auf keinen Fall unterschätzt werden. Für ein Adventure braucht man i.d.R. ein Spielstand-System und Pathfinding, beides sind nicht gerade triviale Dinger, die schnell in richtig viel Arbeit ausarten können.
Ein vernünftiges Adventure zu basteln ist schon mit fertiger Engine eine ziemliche Arbeit, und als relativer Neuling, was Programmieren angeht, würde ich mich darauf beschränken.
Use gopher repellent on funny little man
Benutzeravatar
Criminis
Rätselmeister
Rätselmeister
Beiträge: 1670
Registriert: 27.02.2012, 11:42
Wohnort: Chefhausen

Re: Python?

Beitrag von Criminis »

Hier kannst du dir ein Strichmännchen vorstellen, das zu deinen Füssen auf den Knien rumrutscht, deine Knie umarmt und dich ehrfüchtig fragt, ob seine Seele ausreichen würde um seine Dankbarkeit irgendwie symbolisch ausdrücken zu können.
"Ich glaube an das Pferd. Das Automobil ist nur eine vorübergehende Erscheinung."
- Kaiser Wilhelm II. (1859-1941)
Benutzeravatar
Lebostein
Logik-Lord
Logik-Lord
Beiträge: 1343
Registriert: 24.03.2003, 22:54
Wohnort: Elbflorenz
Kontaktdaten:

Re: Python?

Beitrag von Lebostein »

Es gibt ein Spiele-Paket für Python: http://pygame.org/news.html

Aber ehe man sich dort eingearbeitet hat, Grafiken usw. erstellt hat vergeht sicher viel Zeit. Wie wäre es mit einem Textadventure?
Antworten