Suchergebnisse

Suchergebnisse 1-20 von insgesamt 1.000. Es gibt noch weitere Suchergebnisse, bitte verfeinern Sie Ihre Suche.

  • Wenn 2 cross products und ein paar vektoradditionen die pro updateloop aufgerufen werden zu Performanceproblemen führen sollen, dann frage ich mich wie du überhaupt ein Spiel auf der jeweiligen platform ausführen möchtest. Das sind bei weitem keine aufwendigen kalkulationen die der CPU irgendwelche probleme bereiten sollten. (Falls du Performanceeinbrüche hast dann würde ich das genauer Benchmarken um zu prüfen von welchen instruktionen genau diese verursacht werden.) Zitat von Rodrog: „Lewa: Je…

  • Was du brauchst ist das Kreuzprodukt zwischen deinem Kamera forward vektor und up-vektor. Dieses wird dir einen Vektor im Raum geben der (je nach dem ob du AxB oder BxA rechnest) nach "links" oder "rechts" gerichtet sein wird. (relativ zur kameraperspektive) Das Kreuzprodukt: cross-product.gif Was du dann machen kannst ist diesen vektor dann mit einem Wert zu multiplizieren (den du z.B: von der Mausbewegung am Bildschirm ausrechnest) und diesen addierst du dann zu deinen kamerakoordinaten. Das e…

  • Variable kann nicht geändert werden

    LEWA - - Technische Fragen

    Beitrag

    GML-Quellcode (4 Zeilen) Verwende den vergleichsoperator "==" anstatt den zuweisungsoperator "=". zudem kannst mit show_debug_message() in der console outputs zu debugzwecken ausgeben um zu prüfen ob z.B: die variablen auch die korrekten werte haben und ob du überhaupt ins if-statement reinkommst. z.B: GML-Quellcode (6 Zeilen) /Edit: Hab vergessen zu erwähnen dass das if-statement GML-Quellcode (1 Zeile) nur true zurückliefert wenn x genau gleich room_width/2 ist (selbst kleine abweichungen im n…

  • *STAMPF!*

    LEWA - - Technische Fragen

    Beitrag

    Ich kann dir nur nahe ans herz legen dich selbst mit den themen auseinanderzusetzen wenn du zukünftig selbstständig spiele entwickeln möchtest. Wenn du hingegen wirklich keinerlei Interesse hast um Erfahrung in dem Bereich zu sammeln und nur schnell ein fertiges Spiel releasen möchtest, dann würde ich an deiner stelle jemanden anheuern der für dich die Software schreibt (gegen entgeld versteht sich. Kosten für Strom, Miete und Lebensmittel sind immer vorhanden und Geld wächst bekanntlich nicht a…

  • Habe leider keine direkten tutorials die ich empfehlen könnte. (Das meiste wass ich weiss hat sich mit der Zeit durch selbstexperimente und recherche gesammelt.) Falls du schwierigkeiten hasst den code in den shader einzubauen habe ich das mal schnell für dich gemacht. GML-Quellcode (47 Zeilen) //Edit: UPS! Grade bemerkt dass dies der fragment shader ist. *facepalm* Wenn die Matrix_world im fragmentshader existiert,sollte das trotzdem funktionieren, aber performanter waere es dies im vertex shad…

  • Du musst die lichtnormale mit der transponierten inversen welttransformationsmatrix multiplizieren. Auf der alten GMC hat einer so eine Funktion mit einem kleinen codesnippet gepostet die du in den shader copy&pasten kannst: gmc.yoyogames.com/index.php?showtopic=587700&page=1

  • Performance verbessern (Listen...)

    LEWA - - Technische Fragen

    Beitrag

    Was ich hinzufügen kann ist dass es sein kann dass die Veränderung eines Strings immer mit dem allokieren und dealokieren des gesamten Strings im Ram verbunden ist. Beispiel: Quellcode (2 Zeilen) Ich habe selbst mal einen eigenartigen bottleneck gehabt wo mit der Zeit das spiel immer langsamer wurde. Ich kam dann drauf dass einer der Scripte der über mehrere Steps verteilt einen Buffer in einen string umgewandelt hat (um diesen über HTTP an einen webserver senden zu können) die Ursache war. Je g…

  • Memory läuft ständig hoch

    LEWA - - Technische Fragen

    Beitrag

    Zitat von Jomnitech: „Hab mal etwas gegoogelt und was in die Richtung gefunden: bugs.yoyogames.com/view.php?id=21622 Scheint das es ein bekanntes Problem ist. Bin mir jetzt auch nicht sicher ob das noch gefixt wird da ja schon GMS2 draussen ist. Hmm...“ Auf dem bugreport steht dass es bereits "resolved" ist. Bist du auf der aktuellsten GM Studio version? Falls nicht, update. Falls schon dann heisst es einfach dass dieser Bug entweder nicht behoben wurde oder mit einem neuen Update wieder eingefü…

  • Memory läuft ständig hoch

    LEWA - - Technische Fragen

    Beitrag

    Zitat von Jomnitech: „Ich habe mal alles auf einen Bone reduziert. Sobald ich skeleton_bone_state_set("Bone", map); ausklammere ist die Memory auch stabil und läuft nicht weiter hoch. Nun weiss ich allerdings nicht was ich dagegen tun soll?“ Ich würde das Yoyogames als bug melden. (Was anderes bleibt einem nicht übrig. Man hat ja nicht zugriff auf dem Source-code vom GM um das selber fixen zu können...) Der Grund wieso ich überhaupt skeleton_bone_state_set und ..._get erwähnt habe, ist weil ich …

  • Memory läuft ständig hoch

    LEWA - - Technische Fragen

    Beitrag

    Falls es wirklich ein memory leak ist, würde ich versuchen nacheinander codezeilen auszukommentieren und dann schauen ob die speicherauslastung weiter läuft. z.B: versuch die skeleton_bone_state_get und skeleton_bone_state_set funktionsaufrufe auszukommentieren. Und bezüglich optimierung würde ich wie bereits oben gesagt nur 1 mal eine map erstellen und diese wiederverwenden. Ständige allocationen und deallocationen mit ds_map_create und _destroy können sich negativ auf die performance auswirken…

  • Es gibt mehrere möglichkeiten dies zu realisieren. a) lass die room speed auf 120 fps (sofern du fixed time stamp verwendest) und führe die draw-events nur jedes 2te frame aus. Create event: GML-Quellcode (1 Zeile) step: GML-Quellcode (5 Zeilen) Das schwierige an der sache ist aber festzustellen was für einen Monitor der User hat. (ob dieser auf 60Hz oder 120 Hz läuft.) b) setze die FPS/room speed auf 60 und führe das Step-event 2 mal pro frame aus. Dazu müsstest du die step events aller objekte…

  • Daten auf server speichern

    LEWA - - Technische Fragen

    Beitrag

    Ich kenne keine alternativen zu den oben gennanten services (hab auch nie mit solchen gearbeitet) wollte legendlich hinweisen dass es durchaus möglich ist sowas auch selbst implementieren zu können. Game Maker hat die möglichkeit einfache HTTP requests an Webserver senden zu können. Diese kannst du dann auf dem Webserver mithilfe von PHP bearbeiten und gegebenenfalls in eine SQL Datenbank eintragen (sei es MySQL oder PostgreSQL.) Schaut dir die http_post_string() methode an: docs.yoyogames.com/s…

  • Game Maker Studio 2

    LEWA - - Game Maker Allgemein

    Beitrag

    Zitat von Chinafreak: „@LEWA aber ich würde noch nicht die Hoffnung aufgeben. Ich meine, geh bei Startseite bei Game Maker: Studio 2.0, auf "neues Projekt" erstellen und dann siehe da, es gibt 2 Button Auswahl zwischen "Drag & Drop" und "GML", da aber die Button eher in Grid-form anzeigt (statt hälfte links für D&D-Button und hälfte rechts für GML-Button) , vermute ich mal, das es in der Zukunft auch hoffentlich in andere Sprachen geben wird. Ich hoffe auf C# oder C/C++. JavaScript wäre auch in …

  • Game Maker Studio 2

    LEWA - - Game Maker Allgemein

    Beitrag

    Zitat: „@'LEWA' so wie ich es momentan sehe muss ich dich leider enttäuschen also im großen und ganzen sieht es so aus als wäre alles so geblieben wie es auch davor schon war... die GML hat einfach nur paar neue Funktionen. in-Built Variablen usw. erhalten ansonsten sieht es stark dannach aus als hätte man nichts gemacht.“ Das ist sehr schade. Das war einer der größten Kritikpunkte der immerwieder auf der alten GMC aufgebracht wurde. Das Problem daran ist dass Code modularisierung und Datenabstr…

  • Game Maker Studio 2

    LEWA - - Game Maker Allgemein

    Beitrag

    Was ich mir erhofft habe ist dass die der GML scriptsprache einen komplette neusanierung verpassen werden. Soweit ich gesehen/gehört habe hat man immernoch die möglichkeit die alte Syntax zu verwenden (habe die Beta version nicht) wodurch das ganze mit GM Studio 1.x abwärtskompatibel sein soll. (daher nehme ich an dass es immernoch das Event system gibt?) Hat GML aber nun konkreten OOP support bekommen? Paar fragen dazu falls dies der Fall sein sollte. (diejenigen die in anderen Sprachen program…

  • Draw anstatt step.

    LEWA - - Technische Fragen

    Beitrag

    Natürlich kannst du die Spiellogik (wie kollisionsprüfungen oder AI) im draw-event stehen haben. Keiner hällt dich davon ab. Allerdings musst du dir bewusst sein dass der GM das step und draw-event intern in bestimmten Szenarios unterschiedlich handhaben wird. Beispielsweise kannst du mit draw_enable_drawevent() das automatische ausführen aller draw-events von objekten deaktivieren. (Wenn du z.B diese manuell ausführen/zeichnen möchtest.) Wenn die Spiellogik im Draw event steht, wird diese dann …

  • Texturgenerierung verhindern

    LEWA - - GameMaker: Studio

    Beitrag

    Du kannst backgrounds/sprites/texturen auch als "included files" ins Spiel laden. Diese Ressourcen werden vom GM nicht konvertiert (oder sonst irgendwie verändert.) Dann musst du aber viele Sachen die der GM für dich übernehmen würde (wie z.B: die Texturepage optimierungen) selbst implementieren. Ist es suboptimal? Womöglich. Dass hast du aber heutzutage bei vielen Engines (Game Maker ist bei weitem nicht ein einzelfall). Entweder passt man sich daran an oder (wozu ich immer tendiere da ich selb…

  • Texturgenerierung verhindern

    LEWA - - GameMaker: Studio

    Beitrag

    Du musst bedenken dass Grafikkarten die Texturen nicht auf dieselbe weise (komprimiert als jpeg oder png) im Grafikspeicher speicher. Die GPU speichert texturen unkomprimiert, egal was das ursprüngliche format auf der Festplatte ist. (Weshalb ich generell nicht empfehle jpegs zu verwenden.) Die Textur wird von der HDD in den RAM gelesen, dort dekomprimiert und an die GPU in unkomprimierten format gesendet. Du kannst dir einfach ausrechnen wieviel Speicher ein 1024*1024 pixel bild verbraucht: Jed…

  • Verwende einen DataInputStream anstelle eines normalen Inputstreams. Quellcode (1 Zeile) Du kannst dann den inhalt der an den Server gesendet wird ganz einfach auslesen: Quellcode (24 Zeilen) Der Thread wird gestartet und die "checkForMessages" Methode wird ausgeführt. In dem Fall versucht es immerwieder 4 bytes zu lesen die empfangen wurden. Wenn ein Byte noch nicht angekommen ist (z.B: das c2) dann stallt/wartet der ganze Thread und wird erst an der stelle (an dem er auf das byte wartet) fortg…

  • Ein Sockettimeout kann jederzeit auftauchen, egal an welcher stelle das Programm gerade executiert. In java kannst du du mit einem try/catch block einfach auf eine Sockettimeoutexception prüfen (welche und (falls diese auftauchen sollte) die jeweiligen maßnahmen treffen. Quellcode (17 Zeilen) Wenn ein disconnect auftritt, wird die SocketTimeoutException geworfen und demnach der ganze Thread beendet.