{"id":25,"date":"2019-03-01T21:21:00","date_gmt":"2019-03-01T20:21:00","guid":{"rendered":"http:\/\/doranurban.de\/portfolio\/?p=25"},"modified":"2026-07-27T14:53:18","modified_gmt":"2026-07-27T12:53:18","slug":"projektpruefung","status":"publish","type":"post","link":"https:\/\/doranurban.de\/portfolio\/schulzeit\/projektpruefung\/","title":{"rendered":"Projektpr\u00fcfung"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Zum MSA-Abschluss geh\u00f6rt eine Projektpr\u00fcfung. Meine habe ich 2019 absolviert, den Abschluss selbst erhielt ich im August 2021.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Rahmen dieser Projektpr\u00fcfung habe ich mit einer Vierergruppe eine Pr\u00e4sentation, eine \u201eHausarbeit\u201c und ein Spiel zum Thema \u201eBeat &#8218;em Up Arcade Spiele\u201c erstellt. Ich \u00fcbernahm eine tragende Rolle in der Organisation des Teams, erstellte die Musik und habe dar\u00fcber hinaus die gesamte Programmierung des Spiels in GameMaker Studio 2 \u00fcbernommen. Den Weg dorthin hatte zwei Jahre zuvor ein Kurs zu Raspberry Pi und Python geebnet, von dem ich <a href=\"https:\/\/doranurban.de\/portfolio\/hobby\/informationstechnik\/\">an anderer Stelle<\/a> ausf\u00fchrlicher erz\u00e4hle.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">GameMaker<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GameMaker Studio 2 ist eine IDE (Integrierte Entwicklungsumgebung) von YoYo Games Ltd., in welcher man mit einer Java-\u00e4hnlichen Programmiersprache (GML, GameMaker Language) Spiele programmiert. Diese Game Engine legt ihren Fokus auf 2D-Spiele und ist sehr anf\u00e4ngerfreundlich. Vorzeigespiele, welche mit dieser IDE entwickelt wurden, w\u00e4ren: Hyper Light Drifter, Katana ZERO und Undertale. Ich w\u00fcrde es somit als durchaus f\u00e4hige Umgebung zum Erstellen von Videospielen einsch\u00e4tzen. Ich habe durch die Projektpr\u00fcfung ein grundlegendes Verst\u00e4ndnis von GameMaker erlangt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Lizenz daf\u00fcr habe ich im Januar 2019 gekauft. Mit knapp 93\u00a0Euro ist sie bis heute der teuerste einzelne Posten in <a href=\"https:\/\/doranurban.de\/portfolio\/hobby\/videospiele\/\">meiner Steam-Bibliothek<\/a> \u2013 und der einzige, der gar kein Spiel ist.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Sprites<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zum Erstellen der Sprites haben wir uns einer Technik bedient, welche schon so alt wie Sprite-basierte Videospiele selbst ist: Videoaufnahmen machen und dort Einzelbilder nachzeichnen. \u00c4hnlich wurde es im Spielklassiker Mortal Kombat gemacht, nur dass dort die Einzelbilder nicht nachgezeichnet wurden, nur freigestellt.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Musik<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Musik f\u00fcr das Spiel erstellte ich im Programm \u201eFamiTracker\u201c, um einen authentisch alten Sound zu bekommen. FamiTracker simuliert n\u00e4mlich den Soundchip eines Nintendo Entertainment Systems. Ehrlich gesagt ist die Musik schnell auf den letzten Dr\u00fccker entstanden, weil sich das Spiel ohne sie etwas leblos anf\u00fchlte. Es gibt 3 verschiedene Tracks, wobei einer ein Cover von Dooms \u201eAt Doom&#8217;s Gate\u201c (E1M1) ist.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Spiel<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das fertige Spiel hat 4 spielbare Charaktere, mit unterschiedlich schnellen Angriffen, unterschiedlichen Spezialangriffen, Hitboxen und nat\u00fcrlich Sprites. Jeder Charakter kann 3 Angriffe machen, einen Schwachen, Starken und Fernangriff. Man kann au\u00dferdem mit Punkten einen Balken f\u00fcr Spezialangriffe f\u00fcllen. Es gibt 3 verschiedene Level, mit etwas Dekoration im Hintergrund, welche dank eines Zufallsgenerators variiert. Ziel des Spiels ist es, bis zu einer Fahne am Ende des Levels zu kommen und dabei eine hohe Punktzahl zu bekommen. Um dies zu erschweren, gibt es 2 Arten von Gegnern, einer im Nah- und der andere im Fernkampf.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Allgemeinen kann ich sagen, dass das Spiel funktioniert und auch sein Ziel erf\u00fcllt hat. R\u00fcckblickend w\u00fcrde ich einen Haufen Sachen ver\u00e4ndern oder anpassen, aber f\u00fcr mein erstes Projekt ist es nicht schlecht. Bewertet wurde die Projektpr\u00fcfung mit einer Eins.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Was davon geblieben ist<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Pr\u00fcfung war das erste Mal, dass ich etwas gebaut habe, das andere Menschen benutzen \u2013 mit allem, was dazugeh\u00f6rt: Arbeitsteilung im Team, ein Termin, der nicht verschiebbar ist, und die Erkenntnis, dass ein Projekt nie fertig ist, sondern irgendwann abgegeben wird. Dass die Musik auf den letzten Dr\u00fccker entstand, ist insofern kein Zufall, sondern der Normalfall.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Programmiert habe ich seitdem in anderen Zusammenh\u00e4ngen weiter, Spiele allerdings nicht mehr. Geblieben ist die Freude daran, ein Werkzeug so weit zu verstehen, dass man damit etwas Eigenes bauen kann \u2013 heute meistens Infrastruktur statt Sprites.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Hier ein YouTube-Video, in welchem ich das Spiel spiele. Bei Nachfrage an kontakt[at]doranurban.de kann ich auch das Spiel zur Verf\u00fcgung stellen.<\/p>\n\n\n\n\t\t\t\t\t<style>\n\t\t\t\t\t\t.ytu_6a8eae4726278 { width: 100%; height: 350px; }\n\t\t\t\t\t\t.display_bottom.ytu_6a8eae4726278 .tac_activate { width: 100%; }\n\t\t\t\t\t@media only screen and (max-width: 100%) {\n\t\t\t\t\t\t.display_bottom.ytu_6a8eae4726278 .tac_activate { width: 100%; }\n\t\t\t\t\t\t.ytu_6a8eae4726278 { width: 100% !important;}\n\t\t\t\t\t}\n\t\t\t\t\t<\/style><style>.display_bottom.ytu_6a8eae4726278 .tac_activate {background: transparent !Important;position: absolute; bottom: 0px;} .display_bottom.ytu_6a8eae4726278 {position: relative; } <\/style><div class=\"youtube_player display_bottom ytu_6a8eae4726278 yt_player_dark\" thumb=\"https:\/\/doranurban.de\/portfolio\/wp-content\/dsgvo-all-in-one-for-wp\/thumbnails\/WrSVeV1pdwE\/WrSVeV1pdwE.png\"  videoID=\"WrSVeV1pdwE\" width=\"100%\" height=\"350px\" theme=\"light\" controls=\"1\" rel=\"0\" autoplay=\"0\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>F\u00fcr die Projektpr\u00fcfung zum MSA habe ich mit meiner Gruppe ein Beat &#8218;em Up entwickelt: die gesamte Programmierung in GameMaker Studio 2, Sprites nach abgefilmten Einzelbildern und selbst komponierte Musik im NES-Sound. Mein erstes eigenes Spiel \u2013 und der Anfang von einigem.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[21,40,39],"class_list":["post-25","post","type-post","status-publish","format-standard","hentry","category-schulzeit","tag-schulprojekt","tag-spieleentwicklung","tag-videospiele"],"_links":{"self":[{"href":"https:\/\/doranurban.de\/portfolio\/wp-json\/wp\/v2\/posts\/25","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/doranurban.de\/portfolio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/doranurban.de\/portfolio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/doranurban.de\/portfolio\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/doranurban.de\/portfolio\/wp-json\/wp\/v2\/comments?post=25"}],"version-history":[{"count":3,"href":"https:\/\/doranurban.de\/portfolio\/wp-json\/wp\/v2\/posts\/25\/revisions"}],"predecessor-version":[{"id":304,"href":"https:\/\/doranurban.de\/portfolio\/wp-json\/wp\/v2\/posts\/25\/revisions\/304"}],"wp:attachment":[{"href":"https:\/\/doranurban.de\/portfolio\/wp-json\/wp\/v2\/media?parent=25"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/doranurban.de\/portfolio\/wp-json\/wp\/v2\/categories?post=25"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/doranurban.de\/portfolio\/wp-json\/wp\/v2\/tags?post=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}