Jump to content
Unity Insider Forum

Wieviel C# kann man dem Spieler zumuten?


Helishcoffe

Recommended Posts

Heyho,

in meinem Spiel soll es unter anderem auch möglich sein, eigene Programme für Virtuelle kleine Computer zu entwickeln um z.B. eigene Maschinen zu steuern. Meine Idee bisher war, dass ich dazu einfach C# nutze und kleine C# Scripte zur Laufzeit dann kompiliere und ausführe, wenn der Spieler im Spiel seine Scripte schreibt.

Die Zielgruppe meines Spiels ist natürlich vor allem an Technikbegeisterte etc. gerichtet.

Kann man sowas den Spielern zumuten? Es handelt sich lediglich um simple C# Scripte die der Spieler erstellen kann. Oder meint ihr, ein solches Gameplay-Element schreckt eher ab wenn dort auch ein großer Focus drauf gelegt wird?

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Ich liebe solche Sachen.Programmiertechnisch ist das aber ein schöner Brocken.

Meiner Meinung nach sollte der Schwierigkeitsgrat von Anfänger bis Fortgeschrittener reichen.

Denn wenn die Herausforderung fehlt ist der Spielspaß schnell im Keller.

Am besten verwendet man Button die man Logisch anordnen kann und wenn wann auf den Button drückt öffnet sich dieser damit man dort werte eingeben kann.

(Hab mal ein Bild eingefügt damit du weist was ich in etwa damit meine.)

Natürlich sollte eine Fehlerbehandlung vorhanden sein damit das Programm nicht abstürzen kann.

 

Beispiel.thumb.png.2c624d1a745a66ea35ad9f6c30ada143.png

Gruß Jog

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 6 Stunden schrieb Helishcoffe:

Heyho,

in meinem Spiel soll es unter anderem auch möglich sein, eigene Programme für Virtuelle kleine Computer zu entwickeln um z.B. eigene Maschinen zu steuern. Meine Idee bisher war, dass ich dazu einfach C# nutze und kleine C# Scripte zur Laufzeit dann kompiliere und ausführe, wenn der Spieler im Spiel seine Scripte schreibt.

Die Zielgruppe meines Spiels ist natürlich vor allem an Technikbegeisterte etc. gerichtet.

Kann man sowas den Spielern zumuten? Es handelt sich lediglich um simple C# Scripte die der Spieler erstellen kann. Oder meint ihr, ein solches Gameplay-Element schreckt eher ab wenn dort auch ein großer Focus drauf gelegt wird?

 

Mal ne Frage was Baust du da eigentlic? BoxelGame aka Minecraft? wenn ja lass mich testen xD.

So zu deiner Frage, Ich würde Lua mit einbauen "Aka ComputerCraft" wie für Minecraft, Lua ist für anfänger leicht und verständlich.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mich persönlich würde so etwas nicht stören, mir gefällt das ganz gut.
Z.B. eben das schon genannte computerCraft. Vermutlich sind Aussagen von Programmierern zu diesem Thema aber nicht ganz unbelastet.

Mal zur technischen Seite. Etwas ähnliches hab ich auch mal für einen Minecraft Clone probiert. (Wenn auch nicht aus dem Spiel selbst heraus)

Ziel war es eine weitere Blöcke inklusive Logik als Mods extra liegen zu haben, und das Spiel soll bei Start alle C# Scripts compilieren und dazu linken. In einem Testprojekt ohne Unity ging das ganz Problemlos. Letztendlich bin ich aber dran gescheitert gegen den von Unity generierten Content zu linken weil ich nicht genau wusste gegen was ich da linken musste.

Hab mich danach nicht weiter damit befasst, wenn du etwas ähnliches machst lass mich wissen wie.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Jog So eine grafische Umsetzung ist zwar recht nett und für Anfänger sicherlich praktisch, aber das sprengt glaube ich den Ramen für mein sowiso schon recht aufwendiges Spiel :D

@Kuxii Im Prinzip ist es vom Spielkonzept her wie Minecraft mit Tekkit Mod. Ganz grob gesagt. Natürlich soll es ein bisschen noch anders werden sonst könnte man ja halt einfach Tekkit spielen aber es geht in die Richtung.

@Mese96 Klingt interessant. Über die genauere technische Umsetzung habe ich mir bisher noch recht wenig Gedanken gemacht. Ich lass hier mal irgendwann ein Feedback da wie ich es umgesetzt habe. Wollte mir erstmal nur Ideen und Meinungen dazu hohlen :)

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde kein C# verwenden, sondern eine Skriptsprache auf C#-Basis, also sowas in die Richtung:
http://csscript.net/

Hat den Vorteil, es muss nicht kompiliert werden (man kann es direkt ausführen) und ist einfacher als C#.

Wenn man "Lust" hat kann man sich sogar seine eigene Skriptsprache basteln. Mal eine Sprache in Deutsch wär doch nett :)
https://msdn.microsoft.com/en-us/magazine/mt632273.aspx

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 26 Minuten schrieb Zer0Cool:

Ich würde kein C# verwenden, sondern eine Skriptsprache auf C#-Basis, also sowas in die Richtung:
http://csscript.net/

Ja stimmt schon, aber gibt es gibt doch in .NET bereits eine Klasse um C# Code zur Laufzeit zu kompilieren und direkt eine Assembly zu generieren. Meine Idee war aus dieser Assembly ein Object eine vorgefertigten Klasse zu erzeugen. Der Spieler kann in dieser Klasse dann seinen "Stuff" in vorgefertigte Methoden reinschreiben. Er sieht sozusagen von der Klasse selbst nichts. Wäre das ein guter Ansatz? ich weiß auch gar nicht in welcher .NET Version die Klasse hinzukam und ob diese deswegen überhaupt in Unity existiert. 

Am liebsten wäre mir sowas wie JavaScript oder halt eine andere Scriptsprache wie deinen Vorschlag. Muss ich mal schauen wie ich das Umsetze. Denn direkt Kompilierten C# Code zu nutzen setzt bestimmt auch ein bisschen Sicherheitsrisiko vorraus.

vor 31 Minuten schrieb Zer0Cool:

Wenn man "Lust" hat kann man sich sogar seine eigene Skriptsprache basteln. Mal eine Sprache in Deutsch wär doch nett :)

Das fällt dann doch eher raus :D 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...