[Projekt] sfäre aka Bulletmaker
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.
Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.
This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.
Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.
This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
[Projekt] sfäre aka Bulletmaker
Gestern habe ich simple Emitter erstellt die Schüsse auf einem fixen Pfad relativ zum Emitter erstellen. Die Schüsse werden nur gerendert, sind aber nicht als Objekte definiert. Änderungen am Emitter führen auch direkt zu Änderungen der Schüsse. Die Vorschau zeigt direkt an wo die Schüsse durchgehen werden. Mit der Maus können Emitter platziert, selektiert, bewegt und rotiert werden. In einem JS-Editor kann der Code festgelegt werden.
Heute kam Emitterbewegung dazu. Das hatte schwerwiegende Folgen für meinen Code. Bewegt sich der Emitter müssen die Schüsse tatsächlich abgeschossen werden. Die Vorschau dient jetzt lediglich als Hinweis, aber nicht mehr als genaue Anzeige für die Bewegung des Schusses.
Heute kam Emitterbewegung dazu. Das hatte schwerwiegende Folgen für meinen Code. Bewegt sich der Emitter müssen die Schüsse tatsächlich abgeschossen werden. Die Vorschau dient jetzt lediglich als Hinweis, aber nicht mehr als genaue Anzeige für die Bewegung des Schusses.
Zuletzt geändert von marcgfx am 07.07.2020, 16:43, insgesamt 1-mal geändert.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Bulletmaker
Schüsse können nun in weitere Schüsse explodieren.
So glaube jetzt reichts mal für das mini-projekt vorerst. Mal sehen ob ich es sinnvoll einsetzen kann.
Code: Alles auswählen
result.x = time * 200;
result.y = 0;
createBullet(time,0.5,7,0,0,0,function(result, time, dot){
result.x = time*100;
});
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Bulletmaker
Wenn Zeitverplempern sinnvoll einsetzen ist, dann wars ein voller Erfolg.
Bullets:
Emitter:
Bullets:
Code: Alles auswählen
result.x = time * 200;
result.a = time;
window.createBullet(time,1,6);
Code: Alles auswählen
result.a = time*Math.PI*.1;
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
-
- Moderator
- Beiträge: 2116
- Registriert: 25.02.2009, 13:37
Re: [Projekt] Bulletmaker
Ich find's optisch super ansprechend. Wenn du es noch schaffst da Gameplay dranzutackern würde ich es wahrscheinlich kaufen.
Re: [Projekt] Bulletmaker
Ja in die Richtung überlege ich auch. Hab mir gar mal Unity runtergeladen. Wäre nur schon spannend zu sehen wie sich das kleine Javascript Programm transferieren lässt.
Spielmässig könnte es sowas wie Mario Maker sein. Man kann sein kleines Bullet Hell Level machen, wo man von A nach B gelangen muss, oder einfach eine gewisse Zeit zu überstehen hat. Evtl. liesse sich das ganze auch ohne Code-Editor machen, wäre zumindest zugänglicher.
Spielmässig könnte es sowas wie Mario Maker sein. Man kann sein kleines Bullet Hell Level machen, wo man von A nach B gelangen muss, oder einfach eine gewisse Zeit zu überstehen hat. Evtl. liesse sich das ganze auch ohne Code-Editor machen, wäre zumindest zugänglicher.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
-
- Moderator
- Beiträge: 2116
- Registriert: 25.02.2009, 13:37
Re: [Projekt] Bulletmaker
Ich kenne Mario Maker nur aus Erzählungen aber etwas in Richtung Creative Play könnte ich mir hier gut vorstellen.
Re: [Projekt] Bulletmaker
Immerhin läuft jetzt schon was in Unity. Das wird für mich denke ich ein ziemlicher Challenge... mal wider mit Typen und Klassen arbeiten. Ich habe natürlich direkt Versucht mein Zeug in Unity reinzuwürgen, anstatt mich einzulesen und sachte an die Geschichte ranzugehen. Die Dreiecke werden über ein Mesh gerendert, dass ich nur teilweise verstehe. Eigentlich wollte ich das ganze mit PointSprites realisieren, aber anscheinend sind die wieder out???
Performance ist relativ bescheiden. Dachte mit Unity könnte ich sicher 1mio von den Dreiecken rendern, aber dann sackt die Framerate auf 4 runter. Bis jetzt hat Javascript für mich die Nase vorn, aber was soll ich nach einem Tag und Null Ahnung meckern.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- Chromanoid
- Moderator
- Beiträge: 4261
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: [Projekt] Bulletmaker
Schau Dir vielleicht gleich von Anfang an das hier an: https://learn.unity.com/tutorial/entity ... ent-system
Die bauen bei Unity3d gerade einiges um und schaffen zwei Wege Dinge zu tun, einen bequemen und einen performanten.
Die bauen bei Unity3d gerade einiges um und schaffen zwei Wege Dinge zu tun, einen bequemen und einen performanten.
- xq
- Establishment
- Beiträge: 1581
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: [Projekt] Bulletmaker
Das geht auch, aber: Du kannst nicht 500.000 Drawcalls machen, mit jeweils 2 Dreiecken. Hast du die 2D-Utilities oder 3D-Rendering genutzt? Der 2D-Kram müsste eigentlich echt gut batchenPerformance ist relativ bescheiden. Dachte mit Unity könnte ich sicher 1mio von den Dreiecken rendern, aber dann sackt die Framerate auf 4 runter. Bis jetzt hat Javascript für mich die Nase vorn, aber was soll ich nach einem Tag und Null Ahnung meckern.
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
Re: [Projekt] Bulletmaker
Ich mach sicher noch vieles falsch, aber so viele draw-calls dürftens nicht sein. Ich benutze ein Mesh object. Eigentlich ist der ganze Javascript code in einem einzigen Objekt verpackt, also die Dreiecke sind keine eigenen Entities.
Ich hab ein bisschen getestet und Sachen rumgeschoben. uvs und triangles in Start rüberschieben hat viel gebracht. Mein render Aufruf kostet aktuell sehr viel (berechnet 120k Punkte im Test). Ohne render und vertices, gehts auf 300fps, ohne render sinds etwa 180fps.
Code: Alles auswählen
void Start(){
...
mesh = gameObject.GetComponent<MeshFilter>().mesh;
mesh.Clear();
mesh.vertices = vertices;
//mesh.Clear();
//mesh.vertices = new Vector3[maxBuffer];
mesh.uv = uvs;
mesh.triangles = triangles;
}
void Update(){
....
render();
mesh.vertices = vertices;
}
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- xq
- Establishment
- Beiträge: 1581
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: [Projekt] Bulletmaker
Probier mal aus, Sprite-Entities zu spawnen, statt den Kram selber zu rendern. Das dürfte wahrscheinlich sogar flotter sein
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
Re: [Projekt] Bulletmaker
Wie misst du die Performance? Das Stats-Window im Unity-Editor oder im Standalone Build mit eigenem FPS-Counter. Das Stats Window im Editor ist nurn Anhaltspunkt.
Re: [Projekt] Bulletmaker
Boa hab grad schon ein bisschen die Schnauze voll von Unity. Überall hats Zeug das ich überhaupt nicht brauche und was ich machen will geht nicht. Ich schaffs nicht mal ein Material auf mein Mesh zu legen. Auf eine Kugel kann ichs draufziehen, aber auf Mesh nicht. Wieso auch immer. Wenn ich einen neuen Shader schreiben will ist dort schon haufenweise Code drin der micht nicht interessiert. ich will einfach eine Farbe ausgeben und brauche weder Glossiness noch Metallic oder sonst so ein Mist. Dranbleiben, wird sicher noch besser.
Performance: Ich hab einfach so ein FPS Asset verwendet
Performance: Ich hab einfach so ein FPS Asset verwendet
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- xq
- Establishment
- Beiträge: 1581
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: [Projekt] Bulletmaker
Meshes haben in Unity auch keine Materials. Du hast eine Entity mit einem MeshRenderer, welcher ein Mesh mit einem Material rendert. Dementsprechend musst du das Material im Prefab für dein Objekt setzen oder aber in dem MeshRenderer selberIch schaffs nicht mal ein Material auf mein Mesh zu legen. Auf eine Kugel kann ichs draufziehen, aber auf Mesh nicht.
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
Re: [Projekt] Bulletmaker
Aaaaa danke! Hab jetzt auch noch gecheckt wie ich einen Shader im Material unterbringen kann. Ganz schön verschachtelt das ganze...
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Bulletmaker
Mir ist mega wichtig, dass es schön ausschaut, also das was ich in Canvas/JS habe sollte auch in Unity machbar sein. Halt mit viel besserer Performance versteht sich...
Mit dem schöner ausschauen habe ich noch meine Mühe. Auch mit 4xAnti-Aliasing find ich das nicht sonderlich rund. Ein bisschen stolz bin ich auf die Kreise dennoch. Ich benutze weiterhin gleichseitige Dreiecke für meine Bullets und habe eine Textur dementsprechend verzerrt, dass am Ende wieder ein Kreis dabei rauskommen soll. Bei genauem hinsehen wird es vermutlich nicht ganz passen. Viel weniger Polygone und Pixel kann ich vermutlich gar nicht mehr rendern pro Kreis?
Musste es grad mal überprüfen und ich bin über die Rundheit des grossen Kreises sehr erfreut, es ist nur minimal verzerrt. Bei der Nahaufnahme wird aber ein anderes Problem offensichtlich...
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Bulletmaker
Ok, hängt mit dem z-Wert noch irgendwie zusammen. Ich hatte den für die Farbversuche missbraucht...
Wenn ich für jedes Poly den z-Wert minimal erhöhe scheint es korrekt zu rendern, mit dem schönen Nebeneffekt das die Schüsse zuoberst und rot gefärbt sind.
Wenn ich für jedes Poly den z-Wert minimal erhöhe scheint es korrekt zu rendern, mit dem schönen Nebeneffekt das die Schüsse zuoberst und rot gefärbt sind.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Bulletmaker
Jo wenn man von hand-made kommt, braucht man eine gewisse Umgewöhnungszeit. Aber glaube lohnt sich dranzubleiben. :D
Re: [Projekt] Bulletmaker
Gestern abend war ich voll stolz auf meine Lösung, wie ich einen Kreis in mein gleichseitiges Dreieck gebracht habe. Mit fixen koordinaten an den Ecken (0,0 - 0,1 - 1,0) habe ich einen Kreis so in eine Textur verzerrt, damit es beim entzerren wieder zum Kreis wird. Genial!
Am selben abend wollte ich meine Lösung erklären, da viel es mir wie Schuppen vor den Augen, dass ich ein Holzkopf bin. Wenn auch einer mit einer interessanten Lösung. Anstatt die Textur zu verwürgen, hätte ich bloss die UV Koordinaten korrigieren müssen, was ich inzwischen getan habe.
Heute morgen sind mir x Ideen durch den Kopf gegangen. Auf alpha kann ich komplett verzichten wenn ich mit additive Blending arbeite. Als Textur für die Kugeln nehme ich jetzt einen Kreis-Gradienten, dachte mir damit kann ich evtl. noch lustige Effekte im Shader machen. Für den Shader habe ich dann was gefunden, dass sich gut angehört hat (verstehe die Shader noch nicht ganz in Unity) und das Resultat verwirrt mich ziemlich. Es ist aber genau was ich haben wollte. Vor allem gibt es scharfe und ziemlich saubere Kanten, obwohl ich eigentlich einen Gradienten in der Textur habe.
Am selben abend wollte ich meine Lösung erklären, da viel es mir wie Schuppen vor den Augen, dass ich ein Holzkopf bin. Wenn auch einer mit einer interessanten Lösung. Anstatt die Textur zu verwürgen, hätte ich bloss die UV Koordinaten korrigieren müssen, was ich inzwischen getan habe.
Heute morgen sind mir x Ideen durch den Kopf gegangen. Auf alpha kann ich komplett verzichten wenn ich mit additive Blending arbeite. Als Textur für die Kugeln nehme ich jetzt einen Kreis-Gradienten, dachte mir damit kann ich evtl. noch lustige Effekte im Shader machen. Für den Shader habe ich dann was gefunden, dass sich gut angehört hat (verstehe die Shader noch nicht ganz in Unity) und das Resultat verwirrt mich ziemlich. Es ist aber genau was ich haben wollte. Vor allem gibt es scharfe und ziemlich saubere Kanten, obwohl ich eigentlich einen Gradienten in der Textur habe.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Bulletmaker
Also paar Sachen sind schon echt krass. Post Processing... wär für mich in WebGL wieder ein längeres Thema zum realisieren. In Unity geht es dermassen einfach, schon geil. Etwas bloom drauf und mein erster custom post-processing shader der ein bisschen spiegelt.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Bulletmaker
Mein grösstes Problem wird vermutlich eine Lösung zu finden wie ich die Funktionen in Unity eingeben soll. Ich schaue mir grad Sachen wie MathParser an und dynamic code generation mit CodeDom. Performance und Security sind da die grossen offenen Fragen die ich habe. Evtl. kann ich einfach die Eingabe überprüfen und nur sehr beschränkte Parameter überhaupt zulassen. Dynamisch kompiliert sollte code eigentlich flott sein, ich habe etwas Angst das es mit Tokenizer zu langsam wird.
Als Übergabewerte für eine Funktion müssten time(t), number(n) reichen. An Funktionen braucht es nicht übetrieben viele (abs, min, max, sin, +, -, *, /, %) wären schon mal nett. Alles was nicht dem entspricht könnte ich dann ablehnen.
Als Übergabewerte für eine Funktion müssten time(t), number(n) reichen. An Funktionen braucht es nicht übetrieben viele (abs, min, max, sin, +, -, *, /, %) wären schon mal nett. Alles was nicht dem entspricht könnte ich dann ablehnen.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- xq
- Establishment
- Beiträge: 1581
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: [Projekt] Bulletmaker
Was spricht denn gegen den Einsatz von NLua?
Das ist nen Lua-Wrapper für .NET und sehr sehr angenehm zu benutzen.
Das ist nen Lua-Wrapper für .NET und sehr sehr angenehm zu benutzen.
Code: Alles auswählen
using (Lua lua = new Lua())
{
lua.State.Encoding = Encoding.UTF8;
state.DoString (@"
function bullet (val1, val2)
if val1 > val2 then
return val1 + 1
else
return val2 - 1
end
end
");
var scriptFunc = state ["bullet"] as LuaFunction;
// scriptFunc lässt sich dann später beliebig oft aufrufen und der Code muss nicht immer wieder neu geparsed werden:
var res = (int)scriptFunc.Call (3, 5).First ();
}
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
Re: [Projekt] Bulletmaker
Danke! Schau ich mir direkt an. Spricht nichts dagegen, nur dass ich keinen Schimmer habe :)
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Bulletmaker
Es läuft halbwegs... @xq
Performance ist aber aus mir unbekannten Gründen komplett in den Keller (auch ohne Lua). Werde wohl noch einen Hund ausgraben müssen.
Performance ist aber aus mir unbekannten Gründen komplett in den Keller (auch ohne Lua). Werde wohl noch einen Hund ausgraben müssen.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Bulletmaker
Ich glaub ich bin dabei das beste Projekt für Javascript in Unity umzusetzen. Hab mir gar schon V8 integration angeschaut, aber sieht irgendwie kompliziert aus. Lua läuft leider sehr langsam für meine Zwecke, aber man ist ja erfinderisch.
Eigentlich berechne ich viel zu viel. Die Strahlen von den Emittern sind eigentlich alle gleich, nur halt rotiert. (Stimmt nicht ganz, in der JS version konnte man noch etwas mehr, aber ich vereinfache mal)
1. Optimierung: Ich berechne nur einen Strahl und alle anderen Punkte rendere ich bloss rotiert um den Emitter.
Ich berechne für die Vorschau 500 Punkte in Lua, dann noch 100 Schüsse im worst case. Kann ich alles schon vorberechnen, es verändert sich ja nicht mit der Zeit. Also 1000 Zeitschritte berechnen, evtl. interpolieren zwischen den Rechenschritten. Nicht 100% genau, aber gut genug.
Immerhin 120fps, was auch immer das für diesen Code bedeutet (ohne Optimierungen war ich bei 3-4fps). Muss noch Profilen, gibt garantiert noch mehr rauszuholen. Aber als nächstes versuch ich jetzt ein Textfeld mit meinem Lua-Emitter zu verbinden.
Eigentlich berechne ich viel zu viel. Die Strahlen von den Emittern sind eigentlich alle gleich, nur halt rotiert. (Stimmt nicht ganz, in der JS version konnte man noch etwas mehr, aber ich vereinfache mal)
1. Optimierung: Ich berechne nur einen Strahl und alle anderen Punkte rendere ich bloss rotiert um den Emitter.
Ich berechne für die Vorschau 500 Punkte in Lua, dann noch 100 Schüsse im worst case. Kann ich alles schon vorberechnen, es verändert sich ja nicht mit der Zeit. Also 1000 Zeitschritte berechnen, evtl. interpolieren zwischen den Rechenschritten. Nicht 100% genau, aber gut genug.
Immerhin 120fps, was auch immer das für diesen Code bedeutet (ohne Optimierungen war ich bei 3-4fps). Muss noch Profilen, gibt garantiert noch mehr rauszuholen. Aber als nächstes versuch ich jetzt ein Textfeld mit meinem Lua-Emitter zu verbinden.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Bulletmaker
13 Sekunden habe ich gezählt um folgendes Script 1000 mal aufzurufen um die Werte vorzuberechnen:
Ist nicht gerade schnell. Ich muss es wohl noch mal anders versuchen. Mit dieser Funktion wollte ich mir in einem Aufruf die 1000 Werte berechnen lassen.
Es gibt ein LuaTable zurück. Der Code der danach entstanden ist, ist ziemlich ekelhaft. Deshalb bin ich zu den 1000 Aufrufen zurück gewechselt.
Aber es läuft mit diesem Ekelcode schneller, aber immer noch viel zu langsam. Je mehr Zeilen ausgeführt werden, desto langsamer. Scheint fast linear zu sein. Für 4 Zeilen 12s, für eine ~3s... mach ich was voll falsch?
edit:
http://mathparser.org/ schaut vielversprechend aus
Code: Alles auswählen
Lua lua = new Lua();
lua.State.Encoding = Encoding.UTF8;
lua.DoString(@"
function bullet (result, time)
result.x = 100*time
result.y = 40*math.sin(time*4)
end
");
var scriptFunc = lua["bullet"] as LuaFunction;
float time = 0;
for(var i = 0; i < accuracy; i++, time += step)
{
var r = rarr[i]; r.x = 0; r.y = 0; r.a = 0; r.s = 1;
scriptFunc.Call(r, time);
}
Code: Alles auswählen
function all()
a = {}
steps = 1000
step = 10.0/steps
for i=0,steps do
result = {x=0,y=0,a=0,s=1}
bullet(result, 1)
table.insert(a,result);
end
return a
end
Aber es läuft mit diesem Ekelcode schneller, aber immer noch viel zu langsam. Je mehr Zeilen ausgeführt werden, desto langsamer. Scheint fast linear zu sein. Für 4 Zeilen 12s, für eine ~3s... mach ich was voll falsch?
Code: Alles auswählen
lua.DoString(@"
function bullet (result, time)
" + code + @"
end
function all()
a = {}
time = 0
steps = "+accuracy+@"
step = 10.0/steps
for i=0,steps-1 do
result = {x=0,y=0,a=0,s=1}
bullet(result, time)
table.insert(a,result);
time = time+step
end
return a
end
");
var scriptFunc = lua["all"] as LuaFunction;
var table = scriptFunc.Call()[0] as LuaTable;
Dictionary<object, object> dict = lua.GetTableDict(table);
int i = 0;
try
{
foreach (KeyValuePair<object, object> de in dict)
{
Console.WriteLine("{0} {1}", de.Key.ToString(), de.Value.ToString());
var r = rarr[i++];
Dictionary<object, object> tmp = lua.GetTableDict(de.Value as LuaTable);
object value;
tmp.TryGetValue("x", out value);
r.x = Double.Parse(value.ToString());
tmp.TryGetValue("y", out value);
r.y = Double.Parse(value.ToString());
tmp.TryGetValue("a", out value);
r.a = Double.Parse(value.ToString());
tmp.TryGetValue("s", out value);
r.s = Double.Parse(value.ToString());
}
}catch(Exception ex)
{
Debug.LogError(ex);
}
Code: Alles auswählen
result.x = 100*time+50
result.a = time
result.s = math.sin(time*6)
result.y = math.sin(time)*60
http://mathparser.org/ schaut vielversprechend aus
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- Chromanoid
- Moderator
- Beiträge: 4261
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: [Projekt] Bulletmaker
Sicher dass Du bei LUA die Auswertung/Kompilierung des Scripts nicht cachen kannst? Ich würde auf keinen Fall irgendwas dynamisch in CLR-Bytecode kompilieren oder überhaupt kompilieren. Sonst verstößt Du auch sicher gegen Apple-Richtlinien usw. falls das mal ansteht. Außerdem ist das vielleicht gar nicht überall möglich (AOT-Kompilierung und so). Einfach einen auswertbaren Ausdruck-Baum generieren - das kann man auch leicht selbst implementieren und ist kein Sicherheitsrisiko (außer DOS-Angriffe, aber da kann man dann auch leicht ein Limit gegen einbauen). Bei http://mathparser.org/ stimme ich dir zu. Das sieht vielversprechend aus. Und besonders langsam sollte das auch nicht sein. Du musst halt darauf achten, dass Ausdrücke nur einmal geparst werden und nicht bei jedem Aufruf.
Ansonsten könntest Du auch über eine visuelle Sprache nachdenken, das könnte für manche leichter zu handlen sein. Keine Ahnung was da noch gehen soll :) Naja jedenfalls kann man die Graphen, die man da dann zusammen bastelt ja meistens auch direkt auswerten.
Ansonsten könntest Du auch über eine visuelle Sprache nachdenken, das könnte für manche leichter zu handlen sein. Keine Ahnung was da noch gehen soll :) Naja jedenfalls kann man die Graphen, die man da dann zusammen bastelt ja meistens auch direkt auswerten.
Re: [Projekt] Bulletmaker
Ja an eine Version nur mit Reglern hab ich auch schon gedacht, was für den Normalanwender :)
Aber mein Windows 7 hat sich grad verabschiedet befürchte ich... Update steckt bei 35% und will nicht mehr. So ein Müll, dachte da der Support eingestellt wird hätte ich endlich meine Ruhe.
edit: Glück gehabt, Windows lebt
Aber mein Windows 7 hat sich grad verabschiedet befürchte ich... Update steckt bei 35% und will nicht mehr. So ein Müll, dachte da der Support eingestellt wird hätte ich endlich meine Ruhe.
edit: Glück gehabt, Windows lebt
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Bulletmaker
Regler, sooo viele Regler und es fehlen noch mehr Regler. Regelrecht eine Reglerdilemma.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Bulletmaker
Als nächstes muss ich mir was gutes Überlegen für das UI. Weil die ganzen Regler kann ich keinem antun... evtl. gibts Rechtecke wo man einen Punkt drin verschieben kann, jede Ecke steht für einen bestimmten Regler, heisst gewisse kombination kann es nicht geben.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space