CCF Forum


 CCF Forum / General / Clonk Netzwerk-Script Engine
Seite 11

Unread Von LieutenantMarko10_000 am 31.10.2011 14:50  
Bei Clonk Netzwerk soll Clonk völlig neu erstellt werden. 3D-Welt/Welten, Netzwerkzugriff, Datenzugriff, Plugins, ... .

Jetzt möchte ich mal hier einfach ob es spezielle Wünsche an die Script Engine gibt:
Vorab:
- Objektbasierendes Script (JavaScript ähnlich)
- Referenzen
- Operatoren
(- Zeiger?)

- NULL
(- ERROR, kann aber nicht benützt werden)
- BOOL
- DOUBLE
- NUMBER
- OBJECT
- ARRAY
(- GLOBAL, kann aber nicht im Script benutzt werden)
(- ARRAY2D?)
(- ARRAY3D?)

Fals ihr was braucht, einfach bescheid sagen ;)

Unread Von ClonkST-DDT am 01.11.2011 01:59  
Hab ich was verpasst? Was ist Clonk Netzwerk und wieso habe ich davon noch nix gehört?

mehrdimensionale Arrays sind schon was feines, aber wenn du die einführst dann bitte n-dimesional!
Normale Menschen würden die sich aber einfach aus Arrays selber bauen.

Was ist mit Strings/Texten? Chars?

btw. Referenzen=Zeiger
wird das performanter als Minecraft?

Unread Von ColonelCmdr. Adler am 01.11.2011 12:57  
Klingt nach gwX Konkurrent. Wird aber nicht fertig.

Unread Von LieutenantMarko10_000 am 01.11.2011 16:11  
Die Welt ist 3D aber man spielt auf einer 2D ebene

Unread Von EnsignMega Hazard am 03.11.2011 15:33  
Falscher Ansatz. Clonk ist nicht als High-End-Produkt bekannt geworden. Clonk fing an mit einer sehr einfachen Skriptsyntax (ok, Rechnen war damit komplizierter als später)  und auch recht einfachen Grafiken (d.h. jeder hatte ein Programm wie Paint auf dem PC und konnte ohne große Umschweife benutzt werden). Clonk war einfach. Dann kam irgendwie GWE, wo die schon erfahreren Clonker sich etwas zusammengeschustert haben, was alles verändert. Das ist natürlich nicht schlecht, man kann bessere Skripts und bessere Grafiken benutzen, aber die Anzahl der potentiellen Entwickler, die sich aus den existierenden und den neu anfangenden Clonkern zusammensetzt, wird dadurch verkleinert. Der Hauptteil der neuen Clonker sind Kinder, und die meisten können nicht programmieren und haben auch keine kommerzielle 3-D-Rendering- oder 2-D-Bildbearbeitungssoftware. [offtopic]Deswegen prophezeie ich mal ganze Frech das OpenClonk nie eine dem Orginalclonk ähnliche Community haben wird (in Größe aber vorallem in Zusammensetzung)[/offtopic]

Wenn du alleine oder mit nur sehr wenigen anderen Leuten an diesem Projekt arbeitest, hast du eigentlich nur zwei Möglichkeiten, die Masse als zukünftige Clonk-Netzwerk-Spieler und Clonk-Netzwerk-Entwickler zu rekrutieren:
1.) Du machst alles Recht einfach, dass heisst ein BASIC-like Ansatz, mit einfacher Syntax, klar erkennbaren Begriffen (d.h. man nehme englische Wörter als Schlüsselwörter) und benutzt gute einfache Windows-Bitmaps.
2.) Du entwickelst zusätzlich zu deinem "Clonk Netzwerk" eine passende Entwicklungsumgebung, die einfaches Editieren von Szenarien, Erstellen von sehr einfachen Skripts per Klicken (via check box/radio button oder weiß-der-Teufel-was), 2-D-Bildbearbeitung und 3-D-Modelling/Rendering ermöglicht.
[3.) Du schreibst ein Buch mit über 400 Seiten um den kleinen 12 und 13 jährigen Newbies vernünftiges Programmieren und Erstellen von Grafiken/3-D-Modellen beizubringen...]

Unread Von LieutenantMarko10_000 am 03.11.2011 20:53  
Das mit dem Bitmap wird vermutlich gehen, solange das mit der Paint-Engine glatt läuft(also das Bild wird keine klare Farben haben)
1.) Über einen 2. integrierten Compilere können wir uns mahl austauschen ansonst halt ein Plugin
2.) Editor und Debuger, was wilst du denn sonst noch?
( 3.) Da war doch meine Idee doch nicht so schlecht ein Buch zu schreiben :D )

Ne frage am Rande:
Soll es zuletzt noch 2 bzw 3 Scripte geben(eins für die Anfänger(nicht sehr funktionsreich) und eins für die Profies(also HTML-Anfragen, Objekte, virtualle GameObjekte, ...))?

Unread Von LieutenantMarko10_000 am 03.11.2011 21:23  
Moment, man soll alles schöne über Bord werfen( (h) Referenzen, Objekte, Functionen als Objekt, ... )???
Dafür ein extrem einfaches Basic benutzen o_O??? (wenn das wirklich dein ernst ist, mach ich ne abstimmung bein News(es soll ja Jeder gesehen haben!))

Unread Von MajorBloodrain am 03.11.2011 22:29  
1.) Es gibt ne Edit-Funktion, auch im Forum.

2.) Er sagt nicht, du musst das machen. Er empfiehlt es, wenn du viele neue Spieler haben willst die alle ihre kleinen Sachen EINFACH entwickeln können. Und nicht etwas total umfangreiches erschaffen, bei dem dann nur die Leute durchblicken die sich mit Scripts etc eh schon auskennen.

Unread Von LieutenantMarko10_000 am 03.11.2011 23:11  
1.) Sollte aber getrennt bleiben, da es 2 verschiedene Sichtweisen sind

2.) ja trozdem stellt er mich vor ne EXTREM wichtige Frage und da muss sowas genau überlegt sein. Einfacheres Scripten mit weniger Funktionen oder komplizierteres Scripten mit mehr funktionen.

Unread Von ClonkST-DDT am 04.11.2011 11:22  
Mach doch zwei verschiedene Sachen die sich über ein Schlüsselwort unterscheiden.
Doppelter Aufwand für Doppelt Spaß!
#simple vs. #extended

Unread Von LieutenantMarko10_000 am 04.11.2011 11:45  
ich dachte mehr daran, dass public, protected und private functions mit ^ für C5Basic aufgelöst werden müssen!
Aber das mit der Sprachdefinition wäre villeicht gut bei funktionen :O

EDIT: (mahl sehen obs wieder geht)
ich versuchs mahl einbzubauen!

Unread Von LieutenantMarko10_000 am 04.11.2011 14:16  
Paar fragen noch zu der BASIC basierten Scriptart:
- Soll Gros und Kleinschreibung egal sein?
- reichen NULL, BOOL, DOUBLE, STRING, ARRAY, C5ID(so wie ein String also "unbegrenzt") und C5OBJECT aus?

Unread Von EnsignFoaly am 04.11.2011 14:41  
Meiner Meinung nach wäre eine es für Anfänger auf jeden Fall leichter wenn die Groß-klein-schreibung egal ist.
Die Typen passen, aber ich würde noch einen Ganzzahltyp wie Integer hinzufügen.

Unread Von LieutenantMarko10_000 am 04.11.2011 19:27  
DOUBLE ist ganzahlig blos hat doppelt so viel Speicher(glaub 2 ^ 64, kann das sein?)

Unread Von ColonelClonkGeist am 05.11.2011 11:13  
Es wäre vielleicht besser zusätzlich einen normalen Integer hinzuzufügen, da dieser schneller verarbeitet werden kann.

Unread Von LieutenantMarko10_000 am 05.11.2011 12:41  
Also darum mach ich mir eigendlich keine sorgen. Die Miste Zeit braucht eh immer das rendern der Bilder!

Unread Von ColonelClonkGeist am 06.11.2011 11:25  
Dann kannst du aber ja wenigstens in diesem Bereich ein wenig "sparen"?

Unread Von LieutenantMarko10_000 am 06.11.2011 14:18  
das reists nicht raus :O
ich arbeite mehr daran die Funktionen so schnell wie möglich machen(also nicht ein ewiges herumgecalle.

Unread Von LieutenantMarko10_000 am 04.11.2011 20:19  
So, aber jetzt zurück zum Thema. Fehlt jemanden Funktionen bei Clonk Rage(Script funktionen z.B. Materialien in Layern und so)?

Unread Von CaptainWasserwipf am 04.11.2011 20:43  
Graphiken per appendto verändern :>

Unread Von LieutenantMarko10_000 am 04.11.2011 23:07  
ok, ich schau mahl was sich machen lässt ;)

Unread Von MajorCarli am 05.11.2011 22:46  
Nimm lieber JavaScript.
Das gibts in Form der V8 fertig runterzuladen und als Lib einzubinden, ist schnell und fehlerfrei implementiert.
Ansonsten würde mich mal euer Netzwerkmodus interessieren und wer alles mitmacht.

Unread Von LieutenantMarko10_000 am 06.11.2011 13:40  
fägt diese Diskusion schon wieder an =( . Ich dachte das haben wir schon 5 mal durchgekaut!
Langsam machts den eindruck als möchtest du das ganse Projekt schlecht machen!

So, aber jetzt zu was anderem. Wie soll bitte schön V8 mit C5BASIC kompatibel sein? JavaScript ist schwerer als BASIC(ich mach ein Mix aus Q-BASIC, BASIC und C). Zudem wie soll V8 bitte schön für C5BASIC auflösen oder die entsprechende Werte returnen? WENN DU DENKST ICH ÜBERPRÜFE JEDEN WERT VON V8 UND TU ES DANN IN DAS BASIC OBJEKT UMWANDELN HAST DU DICH ABER GEWALTIG GESCHNITTEN!(Sorry hat raus müssen).
> Das gibts in Form der V8 fertig runterzuladen und als Lib einzubinden, ist schnell und fehlerfrei implementiert.
nichts ist fehlerfrei und am Ende möchte ich nicht tausende von Libs haben.
> Ansonsten würde mich mal euer Netzwerkmodus interessieren [...]
Es gibt einen objektsycronen(hier bestimmt der Host-PC was wo sich bewegt) und einen unsycronen(jeder Spieler(nicht Client) hat seinen eigenenes Spiel, das mit anderen überappten tut).
Der objktsycronisierende Modus überträgt positionen, ... von Objekten, Material und Partikel.
Vorteil: Bei alles bleibt alles gleich, keine seltsame ereignisse(z.B. Clonk läuft durch Material durch :O).
Nachteil: Jeden ist an jeden Gebunden. kein Spieler kann einfach die Welt verlassen und auf ne neue gehen ohne dabei die anderen nicht mitzunehmen :O
Der unsycroner ist wie der objektsycron Modus, nur dass das Script sagen kann, was nicht syncronisiert werden soll.
Vorteil:
- Was unsyncron ist kann eingestellt werden.
- Jeder Spieler kann die Welt anders haben(z.B. kann man dann gebäute machen in denen man rumläuft ohne dabei die anderen Spieler gegen die Wände laufen.
Nachteil:
- Bei schlechter anwendung kann es zu sycronisationslöchern kommen(werden dann aber mit der Crew-ID wieder ausgeglichen).


 CCF Forum / General / Clonk Netzwerk-Script Engine
Seite 11