Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Forang

Frischling

  • »Forang« ist der Autor dieses Themas

Beiträge: 23

Wohnort: Wesel

Beruf: Schule

  • Private Nachricht senden

1

21.06.2011, 19:02

Welche scriptsprache Lua oder Python?

Hallo,
für mein nächstes Projekt würde ich gerne eine Scriptsprache verwenden. Ich habe vor das eigentliche Spiel in c++ zu programmieren und die Scriptsprache zu benutzen, um Ereignisse zu skripten(z.B. wenn man einen Schalter drückt) oder auch um Dialoge mit NPCs zu gestalten. Die Story möchte ich also mit den Scripts erstellen können.

Ich habe mich schon im Internet informiert und bin dabei auf lua und Python gestoßen. Lua scheint etwas kleiner und schneller zu sein und Python etwas größer und umfangreicher. Ich habe auch für beide Sprachen ein C++binding gefunden (luabind und boost python).

Hat einer von euch Erfahrungen mit den Sprachen gemacht und könnte mir Vor- und Nachteile nennen? Vielleicht kann mir jemand auch eine ganz andere Scriptsprache für mein Vorhaben empfehlen?


Oder sollte ich lieber ganz auf eine Scriptsprache verzichten und das alles in C++ machen?

Kasoki

Frischling

Beiträge: 2

Wohnort: Trier

Beruf: Student

  • Private Nachricht senden

2

22.06.2011, 14:59

Bei solchen Fragen antworten die meisten natürlich nur mit ihren Lieblingen =).

Ich persönlich bevorzuge Python. Dessen Scripts sind kurz, übersichtlich und mit Cython (Boost Python ist ziemlich langsam afaik) auch sehr schnell. Ansonsten würde ich mir mal Ruby ansehen wird ebenfalls von vielen bevorzugt verwendet (Warum ist mir jedoch unklar)

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

3

22.06.2011, 15:16

Ich selber habe ja eine abgrundtiefe abneigung gegenüber python - bedingt mit dem was ich machen musste - webservice und ne menge arbeit mit internen daten, xml usw. handhaben und ich hab die krise bekommen. lua ist meiner meinung nach viel angenehmer - allein der code gefällt mir wesentlich vom auge besser, was ich bei scriptsprachen enorm wichtig finde, wenn man schon nicht den entwicklungskomfort wie in "normalen" sprachen hat.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

22.06.2011, 17:08

Man kann es schon "objektiver" angehen.

LUA ist eine Art C-Dialekt, schneller in der Ausführung und kleinerer bin als Python. Es kennt kein OOP von Haus aus, was allerdings anhand von den LUA eigenen Tabellen nachgebaut werden kann.
Python hingegen ist vom Prinzip her näher am "natürlichen Englisch" und kann daher selbst von Neulingen recht schnell verstanden und Source von Fremden schnell "gelesen"(nachvollzogen) werden. Oft sind Probleme in Python auch mit einem Bruchteil an Sourcecode lösbar, wenn man sich erstmal das "pythonische Denken" angewöhnt hat. Hierbei hilft auch dass die Einrückung Einfluss auf den Programmverlauf hat und somit der Stil einheitlicher ist. Außerdem kann Python mit sehr viele Module/Bibliotheken punkten so dass eigentlich für alles schon Modul gibt und man oft nur kurz suchen muss um das passende zu finden.

Sprich wenn Geschwindigkeit und/oder größe der Binaries ein kritischer Punkte oder du gerne bei einem C-Dialekt bleiben möchtest, ist LUA wohl der bessere Kandiat. Falls es dir darum geht mit möglichst eleganten und kurzen Source möglichst weit zu kommen ist wohl Python besser geeignet.
Außerdem bietet es sich fast an zunächst alles in Python zu programmieren und dann performancekritische Bereiche als Modul auszulagern. Dafür kann z.B. Panda3D genutzt werden, wenn es dir um ein 3D Spiel bzw um das Vorankommen und nicht um das "Lernen von der Picke" geht.

@TrommlBomml
"entwicklungskomfort wie in 'normalen' sprachen hat" <- jetzt hast du mich neugierig gemacht. Was verstehst du unter Entwicklungskomfort?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Forang

Frischling

  • »Forang« ist der Autor dieses Themas

Beiträge: 23

Wohnort: Wesel

Beruf: Schule

  • Private Nachricht senden

5

22.06.2011, 18:06

Danke für die Antworten :D
Ich denke ich werde mir beide Sprachen mal anschauen. Kennt einer von euch ein gutes Tutorial oder Buch über Python? Und möglicherweise auch eine gute IDE für python?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Forang« (22.06.2011, 18:20)


Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

22.06.2011, 18:53

Ich persönlich nutze Dive Into Python bzw. die Panda3D Manuals und als IDE nutze ich Eclipse mit PyDev.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Forang

Frischling

  • »Forang« ist der Autor dieses Themas

Beiträge: 23

Wohnort: Wesel

Beruf: Schule

  • Private Nachricht senden

7

22.06.2011, 19:51

Danke für den Tipp.
"Dive Into Python" verwendet allerdings eine ältere Version, 2.3 oder so. Gibt es große Veränderungen in der aktuellen Version oder ist das nicht so schlimm?

8

22.06.2011, 22:07

Es gibt da noch AngelScript:
http://www.angelcode.com/angelscript/

Ist vom Prinzip her wie Lua, nur hat es so Sachen wie Objektorientierung und ein paar andere nette Features. Lua ist zwar bekannter, aber es muss deshalb ja noch nicht direkt besser sein, von daher ist es wohl definitiv ienen Blick wert.
Lieber dumm fragen, als dumm bleiben!

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

9

23.06.2011, 01:01

Und wenn du anders als bei angelscript keine typen willst, guck dir squirrel an... einfach danach suchen.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

10

23.06.2011, 09:47

Zitat

"entwicklungskomfort wie in 'normalen' sprachen hat" <- jetzt hast du mich neugierig gemacht. Was verstehst du unter Entwicklungskomfort?
Damit meine ich einfach Werkzeuge, die mir das finden von fehlern enorm erleichtern. ich weiss nicht wie gut das eclipse plugin für python ist aber wenn ich da an vs 2010 mit c# und der unterstützung durch z.b. resharper denke, bin ich einfach verwöhnt: refactoring, vereinfachung von logischen ausdrücken, vernünftiges debugging mit dynamischem development (zur laufzeit code ändern und ausführen), werte ändern, usw. und das fehlt mir bei den "IDE's" für scriptsprachen - zumindest die, die ich kenne. wenn du zum beispiel python scripte für hooks in subversion schreibst, wie debuggt man die vernünftig? (das war ein krampf)

Werbeanzeige