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

daG

Treue Seele

Beiträge: 130

Wohnort: Hamburg

  • Private Nachricht senden

41

26.02.2011, 23:35

@Chromanoid: So besser? :D

Edit: Hier ist die Quelle: http://www.sciencewallpaper.com/tag/radioactivity/

42

26.02.2011, 23:38

ja besser :) allerdings sticht es natürlich nicht so ins auge wie die variante mit beiden blättern nach oben ^^

(edit: so noch was zum thema schreiben sonst werde ich gelyncht :D)
Es ist also nicht möglich innerhalb des Scripts z.B. System.IO zu importieren und aufs Dateisystem zuzugreifen.
In .NET kann man sog. AppDomains für das Laden von Assemblies einrichten, dann ist das auch nicht mehr das Problem. Außerdem kann man glaube ich auch Assembly.Load Sicherheitsbestimmungen übergeben. Siehe auch http://blogs.msdn.com/b/shawnfa/archive/…/08/449050.aspx
Ich würde bei einem C# Projekt echt auf C# setzen! Wenn du auch Text-Dateien für das Scripten erlauben willst kannst du ja den beim .NET beiliegenden Compiler benutzen - der kann auch in-Memory Assemblies basteln... Siehe z.B. hier: http://www.trelford.com/blog/post/C-Scripting.aspx

Dieser Beitrag wurde bereits 9 mal editiert, zuletzt von »Chromanoid« (27.02.2011, 00:17)


Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

43

26.02.2011, 23:42

Nehmt euch ein Zimmer (;
Was IronJS angeht: bin irgendwie immer noch kein Fan von .NET Sprachen. Mal gucken ob sich das irgendwann ändert.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

daG

Treue Seele

Beiträge: 130

Wohnort: Hamburg

  • Private Nachricht senden

44

27.02.2011, 00:43

In .NET kann man sog. AppDomains für das Laden von Assemblies einrichten, dann ist das auch nicht mehr das Problem. Außerdem kann man glaube ich auch Assembly.Load Sicherheitsbestimmungen übergeben. Siehe auch http://blogs.msdn.com/b/shawnfa/archive/…/08/449050.aspx
Ich würde bei einem C# Projekt echt auf C# setzen! Wenn du auch Text-Dateien für das Scripten erlauben willst kannst du ja den beim .NET beiliegenden Compiler benutzen - der kann auch in-Memory Assemblies basteln... Siehe z.B. hier: http://www.trelford.com/blog/post/C-Scripting.aspx


Danke für die Links, das ist auf jeden Fall sehr interessant. Ich hab mir schon gedacht das so etwas möglich ist, hab mich bisher aber noch nicht damit beschäftigt. Sehe da aber nicht wirklich den Vorteil, denn dann kann man es ja gleich in ein Projekt tun und kompilieren. Den Vorteil bei reinen Scriptsprachen ist halt der fehlende Overhead (z.B. Typsicherheit etc).

Ich denke da ist so etwas eher selbsterklärend:

Quellcode

1
2
3
4
5
var hero = game.getObject("Hero");

hero.moveTo(4, 5);

game.getResource("scream.wav").play();

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

45

27.02.2011, 01:35

Der Hauptvorteil von Skriptsprachen ist sicher dass man evtl. nichtmal die Anwendung neu starten muss damit Änderungen am Skript wirksam werden, von neu kompilieren ganz zu schweigen. Und natürlich dass die Sprache sehr viel einfacher als eine general purpose Sprache gehalten und eben genau an die entsprechenden zu lösenden Probleme angepasst sein kann ;)

daG

Treue Seele

Beiträge: 130

Wohnort: Hamburg

  • Private Nachricht senden

46

27.02.2011, 02:07

Ja, aber das man sie nicht kompilieren muss ist meine Meinung nach ein Nachteil, da es das Testen umständlicher macht. Solange der Programmierer auch der (Level-)Designer ist, bringt es doch nichts C# Dateien zu haben, die man zur Laufzeit kompiliert. Ich sehe da keinen Vorteil. Wenn jetzt aber der Designer etwas am Spiel ändern möchte, ohne das ganzen Programm neu kompilieren zu müssen oder evtl sogar in einem Map-Editor arbeitet, dann macht eine Scriptsprache Sinn. Doch gehe ich davon aus, das dieser nicht C# kann bzw schreiben möchte.

Was ich nur sagen möchte: Für den Programmierer macht es sicherlich Sinn als Skriptsprache auch C# zu nehmen, doch wenn er nur an sich denkt, brauch er ja eigentlich gar keine Skriptsprache benutzen, da wäre es doch viel einfacher die Spiellogik in ein eigenes Projekt auszulagern und es mit zu kompilieren. Und wenn er es für _nicht_ Programmierer einfacher machen möchte dann sollte etwas einfacheres als C# benutzen :)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

47

27.02.2011, 02:10

Allein die Tatsache dass du zur Laufzeit das Skript ändern kannst ist doch schon ein riesiger Vorteil, da spielen irgendwelche Charakteristiken der verwendeten Sprache an sich noch gar keine Rolle!? Wenn du irgendwelche Parameter tweaken willst oder was weiß ich willst du doch sicher nicht ständig das Spiel beenden, neu kompilieren und dann wieder an die gleiche Stelle im Level laufen um die Änderungen zu testen. Und das dann vielleicht 50 mal...

daG

Treue Seele

Beiträge: 130

Wohnort: Hamburg

  • Private Nachricht senden

48

27.02.2011, 02:13

Ja von mir aus :D Aber C# als Skriptsprache zu benutzen find ich trotzdem nicht passend :)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

49

27.02.2011, 02:14

Dann nimm halt was andres ^^

daG

Treue Seele

Beiträge: 130

Wohnort: Hamburg

  • Private Nachricht senden

50

27.02.2011, 02:16

Es ging halt um die Aussage von Chromanoid :rolleyes:

Ich würde bei einem C# Projekt echt auf C# setzen!

Werbeanzeige