{"id":177,"date":"2023-06-04T09:37:51","date_gmt":"2023-06-04T09:37:51","guid":{"rendered":"https:\/\/research.swissdigitization.ch\/?p=177"},"modified":"2023-06-04T09:48:11","modified_gmt":"2023-06-04T09:48:11","slug":"gamedevs-work","status":"publish","type":"post","link":"https:\/\/research.swissdigitization.ch\/?p=177","title":{"rendered":"Gamedevs work"},"content":{"rendered":"\n<p>Ein Gamedev* im technischen Bereich muss die Grundlagentechnik beherrschen (Basic Layer). Wird ein neues System angegangen geht es darum, grundlegendste F\u00e4higkeiten zu erarbeiten. Praxis des Vorgehens etwa bei der Einarbeitung in ein unbekanntes System wie den C64 erfolgt oft wie folgt:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Coding-Layer: <\/h4>\n\n\n\n<p>Wie kann ich \u00fcberhaupt auf einer Platform coden? Welche Sprachen sind m\u00f6glich und sind akzeptabel f\u00fcr das Produkt\/Game bzw. f\u00fcr die Entwickler. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Output-Layer: Displays &#8211; Gebr\u00e4uchlichste Graphik &amp; Sound<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Grafik: Darstellung von Objekten meist Grafiken sp\u00e4ter auch 3DModelle<br>Die konkreten Fragen: Graphikmodelle, Abbildung RAM, Punkte Zeichnen. Auf diesem kann alles weiter aufgebaut werden. Grundlagentechniken.<\/li>\n\n\n\n<li>Grafik: Technische Machbarkeit von statischen Gameobjekten(Hintergrund) und Sich-bewegendem (Anfangs Sprites)<br>Konkretes einbetten von extern erstellten Grafiken. Wie l\u00e4dt man diese? Wie stellt man sie dar? N\u00e4chste Stufe: Wie kann man bewegende Objekte alias Avatar und NPCs darstellen und handeln. <\/li>\n\n\n\n<li>Sound: Wie kann Sound generiert werden als Grundlage? Wie funktionieren Soundeffekte, wie kann Music implementiert werden. <\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Input-Layer:  Interaktivit\u00e4t &#8211; Gebr\u00e4uchlichste  Tastatur, Joystick, Maus<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wie funktioneren diese technisch? Wie lassen sie sich einbinden? <\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Mangement-Layer: Management des Spiels<\/h4>\n\n\n\n<p>Spiele verf\u00fcgen \u00fcber Anforderungen, die sich zumindest in der Fr\u00fchzeit der Computerspiel mehrheitlich bei den Spielen finden (Sie sind keine reinen Input-Output-Programme vgl hierzu auch Brainfuck vs Brainfuckconsole74).<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Nebenl\u00e4ufigkeit<strong>\/<\/strong>Scheinbare<strong> Gleichzeitigkeit<\/strong><\/h5>\n\n\n\n<p>Nebenl\u00e4ufige Tasks: Games ben\u00f6tigen meist einen Loop (nur so sehen Ingamelebenswelten auch so aus, als w\u00fcrden sie &#8218;leben&#8216;), der wiederholend auf Interaktivit\u00e4t &#8218;wartet&#8216; und gleichzeitig das Spiel prozessiert.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Objekt-Datenmanagement<\/h5>\n\n\n\n<p>Aufbauend darauf stellt sich die Frage, wie prozessiert man die alle die Einzelaktivit\u00e4ten des Spiels wie Output\/Input\/Daten-Management. Das kann man eher die Datenverarbeitungskomponente des Spiels nennen und \u00e4hnelt in der Mehrheit der F\u00e4lle einem Excel-Sheet mit Gameobjekten.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Historische Entwicklung &#8211; Verlorene Spielmechaniken<\/h4>\n\n\n\n<p>Der dargestellte Prozess bezieht sich vor allem auf die fr\u00fche Gameentwicklung, wo die Gamedevs eigentlich die ganze Grundlage auf Basis der jeweiligen Hardware entwickelt haben. Damit haben sie selbst eigene Gameengines erstellt, in denen dann jeweils ein Spiel programmiert wurde &#8211; \u00f6fters Hardverdrahtet genau f\u00fcr dieses Spiel. Erst sp\u00e4ter (noch konkret zu erforschen) kommen vermehrt GameEngines auf, die Entwicklung heben und zu einer Art Betriebssystem (Jahrmann) werden f\u00fcr die Spielentwicklung. Dabei gehen interessanterweise Dinge auch wiederum verloren. So arbeiten heutige Engines fast alle mit Objekten (Objektorientierter Ansatz) und zwar auch im Display. Dadurch ist es heute viel schwieder Tile basierte Spiele oder gar Pixelbasierte Spiele zu entwickeln. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Komplexit\u00e4t &#8211; Konstanter Mainstream<\/h5>\n\n\n\n<p>Interessant is auch, dass die Spiele in ihrem Management oder dem &#8218;was-gehandelt&#8216; wird gar nicht soviel komplexer geworden sind. Meist sind es 1-6 Objekte die sich bewegen: Avatar und ein paar Gegner. Selbstverst\u00e4ndlich gibt es seit den BulletHell-Shootern und Strategiespielen auch den Trend zu massig vielen, der gerade auch aktuell ein Trend ist.Aber im Grossen und Ganzen sind die 8 Sprites etwa des C64 immer noch das, was Spieler handeln k\u00f6nnen. Wobei das Handling in 3D Spielwelten eher weniger als 8 aktive handelbare Gameobjekte umfasst. Es scheint, als seien mehr zu kontrollierende Objekte nicht handelbar oder einfach zu stressig.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein Gamedev* im technischen Bereich muss die Grundlagentechnik beherrschen (Basic Layer). Wird ein neues System angegangen geht es darum, grundlegendste F\u00e4higkeiten zu erarbeiten. Praxis des Vorgehens etwa bei der Einarbeitung in ein unbekanntes System wie den C64 erfolgt oft wie folgt: Coding-Layer: Wie kann ich \u00fcberhaupt auf einer Platform coden? Welche Sprachen sind m\u00f6glich und [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-177","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=\/wp\/v2\/posts\/177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=177"}],"version-history":[{"count":4,"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=\/wp\/v2\/posts\/177\/revisions"}],"predecessor-version":[{"id":181,"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=\/wp\/v2\/posts\/177\/revisions\/181"}],"wp:attachment":[{"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}