{"id":9211,"date":"2024-02-23T11:22:11","date_gmt":"2024-02-23T11:22:11","guid":{"rendered":"https:\/\/www.gamelab.ch\/?p=9211"},"modified":"2024-02-23T11:35:24","modified_gmt":"2024-02-23T11:35:24","slug":"sizecoding-vom-besten-c64-tetris-in-256-bytes","status":"publish","type":"post","link":"https:\/\/www.gamelab.ch\/?p=9211","title":{"rendered":"Sizecoding &#038; ein neues Highlight: C64-Tetris in 256 bytes !"},"content":{"rendered":"\n<p>Gamedesign-Sizecoding ist eigentlich ein Genre (Untergenre von Sizecoding) f\u00fcr sich: Es geht darum in m\u00f6glichst wenig Bytes m\u00f6glichst viel zu verpacken und dies war selbstverst\u00e4ndlich ein Muss in den Zeiten des 8Bit-Homecomputings. Da wurden Basics abge\u00e4ndert, dass sie in 8Kb-Cartridges passten und daf\u00fcr noch ein paar Grafik-Routinen reinpassten (Atari), da wurde in Games ROM-Code als Sound gespielt, weil der ROM-Speicher f\u00fcr den Sound fehlte und und&#8230;. Selbstverst\u00e4ndlich war Sizecoding mit m\u00f6glichst viel Effekten auch wichtig in der Crackerszene  aus der sich die Demoszene entwickelte.<\/p>\n\n\n\n<p>Eine Ausstellung zu diesem Thema findet sich <a href=\"https:\/\/www.toniz.ch\/?room=demoscene\" target=\"_blank\" rel=\"noreferrer noopener\">online here ><\/a><\/p>\n\n\n\n<p><strong>Size-Coding-Revival im Gamebereich: Nanogames<\/strong><\/p>\n\n\n\n<p>Eigentlich ist Size-Coding nicht mehr n\u00f6tig und gerade deswegen erlebt es als Challenge \/ Metaspiel in der Demoscene ein weiteres ungeahntes Revival. Besonders interessant sind dabei Nanogames. Diese meist 256 byte grossen Games sind eine wirkliche Herausforderung. Dabei spielt auch eine Rolle, welche Programmiersprache\/Framework\/Platform verwendet werden. BASIC etwa macht es schwierig gr\u00f6ssere Projekte zu machen (zu viel Code), Assembler ist schwierig im Handling (viel Knowhow n\u00f6tig, schwieriges Debuggen) und Fantasy-Consolen helfen teilweise mit Packern weiter sind aber bei weitem nicht so kompakt wie Assembler (ein Byte kann ein Befehle sein, daf\u00fcr viele Befehle). Alles in allem ist die Challenge aber enorm. Games sind leider auch auch eine Verwaltungsaufgabe von Objekten, Inputhandling (Interaktivit\u00e4t),  Darstellen &#8211; ein Haufen Loops und If-Bedingungen. Gamedesgin halt. Und damit &#8211; so zumindest die Ansicht von Gamedesignern* &#8211; noch einen Tick schwieriger als &#8222;nur&#8220; Demos mit Effekten (auch wenn gerade geraytraced wird in wenigen Bytes.<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/lovebyte.party\" target=\"_blank\">Lovebyte<\/a> &#8211; ein auf Sizecoding ausgerichtetes Online Festival &#8211; hat eine eigene Kategorie, die Nanogames mit ihren 256 Bytes. Dabei gibt es alte Platformen und neue. <\/p>\n\n\n\n<p>Die Resultate 2024 finden sich hier: <a rel=\"noreferrer noopener\" href=\"https:\/\/demozoo.org\/parties\/4760\/#competition_18627\" target=\"_blank\">Nanogames Result Lovebyte 2024 ><\/a><\/p>\n\n\n\n<p><strong>Nanogames  256 Bytes Getrickse<\/strong><\/p>\n\n\n\n<p>Dabei k\u00f6nnen die Entwickler* verschieden vorgehen: <\/p>\n\n\n\n<p>A. Sie versuchen ein existierendes Game umzusetzen. Dabei stellt sich die Frage, was ist die minimalste Gamemechanik und welchen Tricks setzt man sie um, was stellt die Platform zur Verf\u00fcgung oder <br>B. sie suchen eine Spielmechanik, die genau in diese 256 bytes passt. <\/p>\n\n\n\n<p><strong>Tetris<\/strong><\/p>\n\n\n\n<p>Nun ist es einem Team(?) gelungen, soweit ersichtlich ein <strong>fullfeatured Tetris <\/strong>in Assembler zu entwickeln in 256 Bytes auf dem C64 (Zeichensatzgrafik). Eine Leistung, die nicht zu erwarten war. Die n\u00e4chste Frage wird sein, ob das auch m\u00f6glich ist in den Fantasy Consolen.<\/p>\n\n\n\n<p> Das weiteres Spiel mit offenem Ausgang hat begonnen: 8Bit gegen Highend. <\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"256 byte Tetris for Commodore 64\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/H0Uj-dWpjg4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Gamedesign-Sizecoding ist eigentlich ein Genre (Untergenre von Sizecoding) f\u00fcr sich: Es geht darum in m\u00f6glichst wenig Bytes m\u00f6glichst viel zu verpacken und dies war selbstverst\u00e4ndlich ein Muss in den Zeiten des 8Bit-Homecomputings. Da wurden Basics abge\u00e4ndert, dass sie in 8Kb-Cartridges &hellip; <a href=\"https:\/\/www.gamelab.ch\/?p=9211\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts\/9211"}],"collection":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9211"}],"version-history":[{"count":5,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts\/9211\/revisions"}],"predecessor-version":[{"id":9216,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts\/9211\/revisions\/9216"}],"wp:attachment":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}