Laden...

Welche Entwicklungsumgebung für einen Flugsimulator?

Erstellt von stefanpc81 vor 6 Jahren Letzter Beitrag vor 5 Jahren 1.212 Views
S
stefanpc81 Themenstarter:in
24 Beiträge seit 2017
vor 6 Jahren
Welche Entwicklungsumgebung für einen Flugsimulator?

Hallo,

ich habe jahrelang jeweils eine HTM-Seite mit Javascript programmiert und konnte recht gut einen Flugsimulator aufbauen. Das Problem besteht nun darin, dass der Browser (IE 11 als auch Google Chrome) schnell in die Knie gezwungen wird (viele Berechnungen im Intervall 0.1 sec).
Nun stellt sich mir die Frage, ob ich mit C# besser davon käme. Was ich bräuchte, kommt gleich in einer kurzen Liste, ansonsten weiß ich nicht, ob ich das alles entweder mit der
"Entwicklung für die universelle Windows-Plattform" oder ".NET-Desktopentwicklung" (Windows Forms) besser programmieren kann?

  1. wie in JS ein Intervall in min. 0.5 Sekunden-Schritten zur Berechnung in einer größeren Methode (Flugzeugposition und -lage, Treibstoffverbrauch, Geschwindigkeit etc.)
  2. Arrays o.ä. die z.B. so aussehen:
    Arrays für Flughafen-Code, Runway-Name, geografische Koordinate, Länge der Runway
    Anhand der Array-Nummer werden z.B. die geografischen Koordinaten in eine andere einfache Variable eingetragen
  3. Bevor der eigentliche Flugsimulator gestartet wird, sollen bestimmte Variablen aus einer Datei ausgelesen werden.
  4. Grafische Darstellung von Bildern, Text und Linien auf veränderlichen x/y-Koordinaten auf einem Monitor im Cockpit; Stichwort GDI
  5. Bilder an festen Positionen, die durch andere Bilder ersetzt werden können, also Taster, Hebel, Schalter (bei JS: mit ID, Name ansprechbar)
  6. möglichst mit Tastatur- und Joystick-Eingaben (letzteres nur die x/y-Achse ohne Knöpfe).
  7. Fast vergessen: Layer, also Ebenen, sind auch sehr wichtig.

Ich brauche kein 3D und auch keine Szenerie, die aus dem Cockpitfenster zu sehen sind.
Was meint ihr, mit welcher Umgebung geht das alles zusammen am besten?

Vielen Dank für wertvolle Hinweise!
Grüße
Stefan

Hinweis von Abt vor 6 Jahren

Es gibt absolut keine Notwendigkeit den gesamten Text fett zu schreiben.

286 Beiträge seit 2011
vor 5 Jahren

Du kannst dir mal die Unity-Engine anschauen, die hat bereits eine Einbindung in Visual-Studio. Diese wäre sogar dazu geeignet, dass von dir nicht gewünschte, 3D-Feature zu liefern.

Aber dennoch könntest du damit eine ansprechende Grafik mit haptischen Steuerelementen bauen.

Ansonsten schau dir mal das hier im Forum an Space Opera (C#, XNA)

Beste Grüße
emuuu

2+2=5( (für extrem große Werte von 2)

B
153 Beiträge seit 2014
vor 5 Jahren

Finde ich ja nett das mein ProjektThread als Beispiel heran gezogen wird. 😁
Korrekterweise muss man sagen das ich aktuelle MonoGame verwende, da XNA leider seits Microsoft tot ist.

Also im Prinzip kann MononGame alles was du forderst. Vieles musst du dir erstmal einfach bauen.
MonoGame selbst versucht immer bei 60 FPS zu bleiben.
Wenn ich das richtig im Kopf habe läst sich das aber im entsprechenden Konstruktur einstellen.

[Space Opera Blog](http://bradley-software.blogspot.com/)
[Space Opera Forum](http://forum.bradley-labs.de/)
5.657 Beiträge seit 2006
vor 5 Jahren

Hi stefanpc81,

wenn du dich sowieso in eine neue Technologie einarbeiten mußt, dann kannst du dich auch gleich in WPF einarbeiten. Hier hast du den Vorteil, daß du mit DataBinding arbeiten kannst. Wie das funktioniert, ist in [Artikel] MVVM und DataBinding beschrieben, und das funktioniert auch für grafische Darstellungen. Du könntest also deine Kartenansicht durch eine Canvas realisieren, auf der dann die einzelnen Text- und Grafik-Elemente positioniert werden. Durch das DataBinding wird die Ansicht dann automatisch aktualisiert, sobald sich die Daten ändern.

Wenn es dir allerdings um die Performance-Probleme bei deiner JavaScript-Implementierung geht, dann könntest du auch dort ansetzen, ohne noch einmal mit einer neuen Technologie von vorne anzufangen. Die genannten Anforderungen sollten auch im Browser ohne Performance-Probleme möglich sein. Da gibt es sicherlich einiges zu optimieren, und du würdest bei dem Prozess eine Menge lernen.

Weeks of programming can save you hours of planning