Wie funktionieren die Zwischensequenzen/Cutscenes in Videospielen?

Guten Tag,

erst einmal muss ich gestehen, dass ich in dem Thema rund ums Programmieren 0 Ahnung habe. Also verzeiht mir bitte im Voraus. Okay:

Bei sehr vielen Games ist es ja so, dass zwischen des Spielgeschehens - in welches man aktiv eingreift - immer mal kurze Story-Filme kommen, um das Spiel besser zu vermitteln. Am öftesten kommen diese Sequenzen in Spielen, die eine Story haben, wie z. B. in GTA, the witcher und 1.000 anderen spielen vor (z. B. wenn man zu einem Quest-Typen geht, der einem was erklärt oder wenn bestimmte Nebeninfos vermittelt werden). Was ich mich nur frage: Sind diese Cutscenes einfach nur "mp4 Dateien", die abgespielt werden, oder handelt es sich um programmierte Inhalte, die während der Sequenz in der bestehenden programmierten Umgebung verarbeitet werden? Bis jetzt kann ich mir nur letzteres vorstellen, da ich in solchen Cutscenes schon oft Grafikbugs entdeckt habe, die in ner mp4 Datei logischerweise nicht möglich wären. Des Weiteren fiel mir z. B. in the Witcher auf, dass Gerald (der main character) in den Sequenzen die individuelle Kleidung trug, die man sich erspielt hatte. Außerdem blieb das Wetter auch gleich (was auch ausschließen würde, dass mehrere mp4 Filme existieren, da das wegen den 1.000 Kombinationsmöglichkeiten und mangeldem Speicher doch unrealistisch wäre!?). Aber dann denke ich mir, dass es doch in einigen Spielen mehr Sinn machen würde, erstellte Videodateien in das Spiel hinein zu fügen, da diese 1.000 mal realistischer und detailgetreuer sein könnten und nicht verbugt sind. Ich würde mich sehr freuen, wenn jemand in diesem Bereich Ahnung hat und mir sagen kann, was das jetzt mit den Sequenzen auf sich hat. Vielen Dank im Voraus! :)

PC, Computer, Games, Videospiele, Software, Technik, programmieren, JavaScript, Gaming, Anwendungsentwicklung, zocken, Spiele und Gaming
JQuery Code wird in falscher Reihenfolge ausgeführt?

Guten Tag. Ich will einen Bar Chart generieren nachdem ich informationen bei einer API ausgelesen habe. Dies habe ich mir so vorgestellt, dass erstmal die daten ausgelesen werden, diese in ein array umgewandelt werden und dann der barchart generiert wird.

Gerade komme ich nicht weiter beim umwandeln zum Array. Die Funktion test() wird schon am direkt am anfang ausgeführt, obwohl noch nicht alle informationen zusammengestellt wurden. Was kann ich machen, damit test() erst nach dem start() vollständig ausgeführt wurde, ausgeführt wird?

Code:

var app = {};
			//a jQuery function that is directly called using jQuery is registered to be started after the page has finished loading
$(function() {
      start();
	  test();
});
        var arrayy = [];


        function start()
        {
            getLogDataKeys();   
        }
        
        //a function that retrieves a list of objects for owner logdata
        function getLogDataKeys()
        {
            $.getJSON("http://webtechlecture.appspot.com/cloudstore/listkeys?owner=logdata",
                      
                      function(data)//this function is called when the server answers its data
                      {
                        console.log(data)
                        if (data.length>0)
                        {
                            $.each(data,
                                   function(index,logEntry){//this function is called for each single object in the array named "data" (listobjects and listkeays answer an array, while get does not!)
                                        processLogEntry(logEntry);
                                    });
                        }
                      }
                        
                     );




        }
        
        //each logEntry is processed here
        //process & aggregate the data here
        function processLogEntry(aEntry)
        {
            $.getJSON("http://webtechlecture.appspot.com/cloudstore/get?owner=logdata&key="+aEntry.key,
                function(data)//this function is called when the server answers its data
                      {
                        var diena = data.app;
                        
                        if(app.hasOwnProperty(diena)){
                        var value= app[diena];
                        app[diena]= value+1;
                        }
                        if(!(app.hasOwnProperty(diena))){
                        app[diena] = 1;
                        }
                        console.log(aEntry);
                        
                    });
        }
    function test()
        {
                        Object.keys(app).forEach(function(key) { arrayy.push([key,app.key])});
                        console.log("HI");
        }
    google.charts.load('current', {packages: ['corechart', 'bar']});
    google.charts.setOnLoadCallback(drawBarColors);

function drawBarColors() {       var data = google.visualization.arrayToDataTable([         arrayy       ]);

      var options = {
        title: 'Population of Largest U.S. Cities',
        chartArea: {width: '50%'},
        colors: ['#b0120a', '#ffab91'],
        hAxis: {
          title: 'Total Population',
          minValue: 0
        },
        vAxis: {
          title: 'City'
        }
      };
      var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
      chart.draw(data, options);
    } </script>

programmieren, JavaScript, JQuery

Meistgelesene Beiträge zum Thema JavaScript