Eigene Scriptsprache möglich?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

DJ_Mic

Betreff: Eigene Scriptsprache möglich?

BeitragSa, Sep 25, 2010 22:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich habe eine wichtige Frage an euch. Und zwar, brauche ich eine Scriptsprache für mein projekt. Da ich aber mit Lua nicht vertraut bin, und es auch wirklich nicht unbedingt sein möchte.
Wollte ich fragen, ob es möglich ist, für mein Projekt eine eigene Scriptsprache zu entwickeln?

Ich würde mir meine Scriptsprache so vor:

Code: [AUSKLAPPEN]
public OnPlayerConnect(playerid)
    Dim pName = String   
    Dim txt = String
    pName = GetPlayerName(playerid,max_player_name)
    txt = pName+" ist dem Spiel beigetreten"
    SendClientMessageToAll(FarbenHexCode,txt)
end


So ungefähr.
Fest Definierte Functionen im Programm:
max_player_name
Hat alle IDs gespeichert die im Spiel sind

GetPlayerName(playerid,max_player_name)
GetPlayerName ist eine Funktion wo den Namen anhand der playerid mit max_player_name vergleicht und den Namen rausgibt

txt
Ist ja definiert als String und dann wird ihm zugewiesen um was es sich für einen String handelt.

SendClientMessageToAll(FarbenHexCode,txt)
Die Funktion SendClientMessageToAll schickt die nachricht(txt) mit einer Farbe(FarbenHexCode), freier Wahl.

Wäre sowas bezüglich, BB möglich? Oder ist das eine Sache des undenkbaren?

MFg
Dennis

Nicdel

BeitragSa, Sep 25, 2010 22:55
Antworten mit Zitat
Benutzer-Profile anzeigen
(Fast) Alles ist möglich. Man muss es nur wollen bzw. auch können^^
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

DJ_Mic

BeitragSa, Sep 25, 2010 22:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Witzle geschissen? Very HappyVery Happy Spaß Wink

Okay, werde mal Gott fragen ob er mir leichte anreize gibt wie man das bewältigt xD


Ne ma im Ernst, danke! Werde mich mal näher Informieren.

mfg
dennis
 

Sterbendes Lüftlein

BeitragSo, Sep 26, 2010 8:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

BladeRunner

Moderator

BeitragSo, Sep 26, 2010 8:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Sicher kannst Du diene eigene Scriptsprache mit BB entwickeln. Es stellt sich nur die Frage ob es nicht leichter, schneller, fehlerfreier und komfortabler vonstatten geht wenn du eine bestehende wie zB Lua oder Python nimmst. Grade Lua wird nicht ohne Grund von vielen Studios im professionellen Bereich genutzt, es ist kompakt und sehr schnell in der Ausführung.

Edit: Solltest Du an einer eigensen Sprache festhalten wollen, belese dich zu Compiler/ Interpreterbau, Parsertechniken, Speichermanagement. Viel Erfolg Smile
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

DJ_Mic

BeitragSo, Sep 26, 2010 10:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Lua eine mächtige Sprache ist, das weiß ich auch. WoW und etc, nutzen das ja auch.
Nur habe ich mich nie damit beschäftigt, und ehrlich gesagt hab ich iwie Angst vor der Sprache xD (weil die ja so mächtig ist)
Ne Blödsinn Razz, Ich wüsste einfach nicht, wie ich diese Sprache mit meinem vorhaben verknüpfen soll.
Könnte mir evtl. jemand ein Beispiel liefern, wie ich das ungefähr mit meiner Syntax(1.Post) regel?

Theoretisch stelle ich eine Function namens OnPlayerConnect auf, das beinhaltet dann den ganzen Code und später rufe ich es zb mit: CallFunction( "OnPlayerConnect ", OnPlayerConnect )
Oder liege ich fallsch?

Und falls das Stimmen sollte, wie rufe ich dann interne Functionen auf wie zb:
Code: [AUSKLAPPEN]
GetPlayerName(playerid,max_player_name)


Das ist zb. Eine feste Function die von mir gegeben wird. Und wenn jemand nun sagt, ja schreib die ganzen Funktionen doch in ein extra Lua Script und lass es dann includen. Ja ok würde ich machen, aber woher weiß das Lua Script dann wieviele Leute im Spiel sind, deren Namen,ID's?
Also ich könnte mir es im Moment nicht erklären.

Ich geh erstma Frühstücken und überlege dann mal weiter, vielleicht hilft das. Aber ich wüsste echt nicht wie.

Ich würde auch lieber eine fertige Scriptsprache nehmen, anstatt sich die Arbeit zu machen und selber eine zu entwickeln.

Vielen Dank schonmal im Vorraus Smile
 

Sterbendes Lüftlein

BeitragSo, Sep 26, 2010 10:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

BladeRunner

Moderator

BeitragSo, Sep 26, 2010 10:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Totensturm, es wird de facto ipso leichter sein Lua zu schreiben als eine eigene Sprache zu entwickeln. Von daher frage ich mich warum Du ihm empfiehlst den steinigen Weg zu gehen.

Scriptsprachen erstellen ist sicher kein einfaches Thema - damit kann man sich problemlos jahrelang vergnügen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

DJ_Mic

BeitragSo, Sep 26, 2010 11:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay, nun aus mit den Streitigkeiten ^^
Ich bin Momentan, immer noch nicht auf ein Ergebnis gestoßen...
Ist möglicherweise ein "Funktionszeiger" die Lösung?
 

BBPro2

BeitragSo, Sep 26, 2010 11:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

Klar, Lua ist definitiv erlernenswert, die Frage ist, ob der Lernaufwand sich dann letztendlich für dich lohnt


selbstverständlich tut er das
lua zu erlernen (nicht meistern) dauert höchstens 1/10 mal so lang wie ne eigene halbwegs vernünftige scripsprache zu schreiben
lua kann man immer und immer wieder verwenden während die eigene scriptsprache über das projekt für das sie jetzt erstellt werden würde vermutlich nie mehr wiederverwendbar wäre.

fakt ist: in 99% der fälle ist lua lernen die bessere alternative und ich bin zu 100% davon überzeugt, dass dieser fall unter diese 99% fällt.

lerne lua !
 

DJ_Mic

BeitragSo, Sep 26, 2010 11:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Lolsen, okay danke ^^ ich werde Lua lernen, nur wenn man mir sagt ob man auf interne Functionen zugreifen kann? xD bzw, wie ich das ganze bewätlige.

BladeRunner

Moderator

BeitragSo, Sep 26, 2010 11:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Noobody hat einen Luawrapper geschrieben, den Du in BB einbinden kannst.
https://www.blitzforum.de/foru...hlight=lua
Er liefert auch Beispiele mit.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

DJ_Mic

BeitragSo, Sep 26, 2010 12:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Und damit, kann ich auch interne Funktionen aufrufen? Shocked

Nochmal: Ich will fest definierte Funktionen haben. sehen wir zb.: GetPlayerName(playerid,max_player_name)

Die Funktion GetPlayerName ermittelt, anhand ID und der maximalen Spielern, wie der Spieler heißt!

Und diese sollte fest integriert sein(Nicht veränderbar) und das möchte ich dann mit dem Lua Script aufrufen, geht das?

Gruß
Dennis

BladeRunner

Moderator

BeitragSo, Sep 26, 2010 12:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Jop.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Noobody

BeitragSo, Sep 26, 2010 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
DJ_Mic hat Folgendes geschrieben:
Und damit, kann ich auch interne Funktionen aufrufen?

Ja, das wird in dem von BladeRunner verlinkten Thread erklärt und, falls es dort nicht ganz klar wird, in den Beispielen auch nochmals aufgenommen Wink

Falls du die Scriptsprache selber schreiben willst, musst du dafür mindestens einige Monate einrechnen, bevor du etwas halbwegs benutzbares erhältst. Stabile Scriptsprachen zu machen, die auch noch genug Features zur Verwendung im eigenen Spiel haben, ist leider relativ schwierig (ich selbst bin ja auch ein paar mal dran gescheitert Razz ). Es ist aber auf jeden Fall eine grossartige Lernmöglichkeit. Falls du dich also dafür interessierst, dann nur zu! Compilerbau ist eine sehr spannende Angelegenheit. Du darfst am Ende einfach nicht erwarten, die super-duper-Scriptsprache zu haben, die du direkt in dein Spiel einbauen kannst.
Eigene Funktionen von der Scriptsprache aus auszurufen wird dann aber relativ schwierig. Mit normalem BB geht das überhaupt nicht, mit den Funktionszeigern nur auf Unwegen.

Falls es dir aber nur darum geht, eine Scriptsprache zu verwenden, dann würde ich auch Lua empfehlen. Ich habe in einigen Projekten durchaus positive Erfahrungen damit gemacht, und es ist ja auch relativ weit verbreitet.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

BIG BUG

BeitragSo, Sep 26, 2010 22:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Und hier mal wieder der Tipp sich vielleicht auch mal BriskVM http://www.koriolis-fx.com/ anzusehen. Damit kannst Du BlitzBasic-Programme quasi direkt ausführen.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

peacemaker

BeitragMo, Sep 27, 2010 9:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, ich würde dir auch empfehlen LUA zu benutzen. Eine eigene zu entwickeln die auch annehmbar läuft ist sehr aufwändig.

Alternativ kann ich dir auch ( Very Happy ) HDSS empfehlen, welches in BB geschrieben ist. Zwar lange nicht an LUA rankommt was Speed und Stabilität anbelangt, jedoch mehr auf BB zugeschnitten ist.

Guckst du

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

DJ_Mic

BeitragMi, Sep 29, 2010 22:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Also HDSS ist für mein Projekt eigentlich von der Struktur etc, so wie ich es mir vorstelle!

Bin aber noch am entscheiden was ich nehme 80% sagen in mir: "Nimm Lua"

Hab bis dato ja noch Zeit, also mal schauen, wie ich mich entscheide Smile

Danke

Gruß
dennis

peacemaker

BeitragDo, Sep 30, 2010 9:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würd sagen kommt auf die speziellen Bedürfnisse an.

HDSS ist recht spezifisch, und halt auch lange nicht so stabil wie LUA. Dafür aber, wenn die game-engine auf dieses System zugeschnitten ist, sehr effizient. (Hat uns bei Tehadon sehr viele Vorteile gebracht)

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

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group