Simple Script

Übersicht Sonstiges Projekte

Neue Antwort erstellen

coolo

Betreff: Simple Script

BeitragSa, Sep 13, 2008 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
wie einige von euch vllt. mitbekommen haben, arbeite ich derzeit an einer Scriptsprache.
Sie ist wie ich finde ziemlich schnell.

Wenn die Scriptsprache fertig ist, sollte man damit einfach kleinere bis mittlere Spiele erstellen können.

Was Sie alles kann:
If Abfragen (Boolsche Operatoren...)
Schleifen (Repeat forever/until,while wend,for - next)
Variablen(Strings Ints floats)
Funktionen
EOP(Ereignis Orientiert Programmierung)
uvm.

Eas Sie können soll:
OOP(Objekt Orientierte Programmierung)
Multidimensionale Array's
Dynamische Speicherlisten (Types)
Einbinden verschiedener Engines(B3d,Escape Gui,Devil Shadow,Devil Physics, Devil particle, Draw 3d,...)

Download: https://www.blitzforum.de/upload/file.php?id=3403
IDE: https://www.blitzforum.de/upload/file.php?id=3409

Kritik erwünscht
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat
  • Zuletzt bearbeitet von coolo am So, Sep 14, 2008 10:18, insgesamt einmal bearbeitet
 

da_poller

BeitragSa, Sep 13, 2008 21:54
Antworten mit Zitat
Benutzer-Profile anzeigen
dann wäre nur noch eine anleitung recht wie man eigene scripts machen kann weil mehr als eine kleine hello world exe seh ich nciht und kann so auch nicht sagen wie die scripte sich anwenden lassen(komfort etc)

Thorsten

BeitragSa, Sep 13, 2008 22:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, wenigstens ne PreAlpha-IDE hätte ich jetzt erwartet Rolling Eyes

mfG,

Thorsten

peacemaker

BeitragSa, Sep 13, 2008 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, es funktioniert ja immerhin.

Was mir nicht gefällt ist diese (verzeihung) grauenhafte Syntax. Etwas mehr bequemlichkeit hätte ja nicht geschadet.
Aber immerhin funktionierts, und das einigermassen flott.

mfG
~Tehadon~
www.tehadon.de
http://www.blitzforum.de/worklogs/14/

the FR3AK

BeitragSa, Sep 13, 2008 23:39
Antworten mit Zitat
Benutzer-Profile anzeigen
sieht eigentlich ganz gut aus =) aber ich fände es angenehmer wenn man bei den events/ifs usw. statt endif oder so einfach mit den von c(++) bekannten '{' und '}' arbeiten könnte...aber das ist ja geschmackssache Wink

coolo

BeitragSo, Sep 14, 2008 8:15
Antworten mit Zitat
Benutzer-Profile anzeigen
@the FR3AK: Genau dies Klammern wollte ich Nicht! da weiß man ja nie(ausser man hat ne Ordentliche IDE) Ob das jetzt eine While Schleife sein soll, oder doch eine Bedingung.

@Thorsten: Die IDE steht schon fast, ich habe gerade das System auf Named Pipes umgeändert. Es sollte die IDE nächste Woche kommen.

@peacemaker: Was ist den so Grauenhaft? Wie gesagt, ich wollte mich weitgehend am Basic Syntax halten(Ausser ein paar Sachen, die mir in C/C++ besser gefallen haben). Ok, das $ % # am Anfang jeder Variable habe ich am Anfang auch nevig gefunden, aber so langsam gewöhnt man sich daren.

@da_poller: Im Worklog sind genug Bespielscripte, und im Ordner scripts sind auch ein paar funktionernde dabei(ausser die im Ordner OOP Wink). Werde dann mal ne kleine ANleitung schreiben.

Edit: Ich hab mir mal gedacht, obwohl die IDE noch nicht komilieren kann, uppe ich sie mal.
DL: https://www.blitzforum.de/upload/file.php?id=3409
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat
 

Matthias

BeitragSo, Sep 14, 2008 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Hay.
Also habe jetzt die datei. script.ss.txt aus dem Ordner "dies und das" in dem Ordner Kopiert in dem auch die main.exe liegt.

Hab die main.exe gestartet und es gibt keine Veränderung.

Doch mir stellt sich nun die Frage für was das ganze.

Soll mann die Skripte in seine Spiele einbauen könne. Dann bräuchte mann aber den Quellcode.
Oder soll das eine neue Programmiersprache werden.

Wenn B zutrifft werde ich diese wohl niemals benutzen denn Blitz ist von hause aus schon langsamm.
Dann noch Skriptbasierent. Das ist ja noch langsammer.
Eigende Tests in diesem Bereich haben mir betätigt das auch selbst mit zwichencode ein Term ca 20mal langsammer berechnet wird als wenn mann die berechnung von Blitz ausführen läst.

Bin gespannt wie es weiter geht.

coolo

BeitragSo, Sep 14, 2008 18:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Du mausst die script.ss.txt erstmal in script.ss umbenennern, und dann in den Ordner Scripts verschieben.

Die Scriptsprache wird Primär dafür gedacht sein, damit Spiele zu Programmieren. Sie dann später Open Source zu Veröffentlichen kommt dann später. Am Anfang wurde sie konzipiert um Sie in bestehende Projekt einzubauen, aber da stehen 2 Dinge im Weg:
1. Wie du schon sagst, ist B3D nicht die schnellste Sprache.
2. Hat die Scriptsprache eine Architektur, welche es nicht erlaubt sachen zu schreiben wie: Update_engine().

Dieses Ergebnis das ein Term ausrechnen 20 mal schneller braucht , habe ich leider auch schon feststellen müssen Wink.
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat

Geeecko

BeitragDi, Sep 16, 2008 14:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie sie hat eine Architektur, das mann Update_Engine() nicht machen kann?
Erklärung wäre ganz nett Wink INteressiert mich Smile

PS: Wie regelst du das mit den variablen?
Im Speicher oder gehst du bei jedem Variablen-"Aufruf" eine Liste / Array durch?

lg MD Wink

coolo

BeitragDi, Sep 16, 2008 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Also zu Frage 2:
Es gibt im Grunde genommen 2 Stacks(oder wie man das auch nennt): einen für die Parameter und den 2. für Globale/Lokale Variablen. Am Anfang geht der PArser durch und schaut sich, an welche Variablen es gibt, und was Sie sind. Und wenn diese Variable schon vergeben wurde, wird einfach die ID statt dem Namen geschrieben.
Dann als gezählt wurde wieviele Lokale/Globale Variablen es gibt wird ein Array so groß erzeugt wie die Variablenanzahl ist.
Wenn es auf ein Kommando welches eine Zahl stößt weiß Simple Script sofort, dass es sich um eine Variable handelt. Dann wird einfach die ID aufgerufen und verändert.

Bei dem 1. Stack läuft das per Types ab, warum? weil das System es anders nicht erlaubte, da ja das Array von Anfang an eine feste Größe hat. Da läufts mit der Namensprüfung ab.

Zu Frage 2: Weil Simple Script parst immer eine ganze Datei, ohne das es irgendwann zurückkehrt. Man könnte zwar das zurechtbiegen, aber dann beseteht die Gefahr das irgendein System nicht mehr funktioniert.
Das ärgert mich auch ein bisschen, dass ich nicht genügend vorraus geplant habe.
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group