{"id":2666,"date":"2020-04-03T11:34:39","date_gmt":"2020-04-03T09:34:39","guid":{"rendered":"https:\/\/www.jesperjuul.net\/ludologist\/?p=2666"},"modified":"2020-04-03T11:34:39","modified_gmt":"2020-04-03T09:34:39","slug":"petscii-jetski-a-c64-game-in-basic","status":"publish","type":"post","link":"https:\/\/www.jesperjuul.net\/ludologist\/2020\/04\/03\/petscii-jetski-a-c64-game-in-basic\/","title":{"rendered":"Petscii Jetski &#8211; a C64 game in BASIC"},"content":{"rendered":"<div class=\"\" data-block=\"true\" data-editor=\"5sesc\" data-offset-key=\"4c3n8-0-0\">\n<div class=\"_1mf _1mj\" data-offset-key=\"4c3n8-0-0\"><span data-offset-key=\"4c3n8-0-0\">Introducing <a href=\"https:\/\/nickm.com\/montfort_juul\/petscii_jetski\/\">Petscii Jetski<\/a>!<a href=\"https:\/\/www.jesperjuul.net\/ludologist\/wp-content\/uploads\/2020\/04\/Jetscii.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-2667\" src=\"https:\/\/www.jesperjuul.net\/ludologist\/wp-content\/uploads\/2020\/04\/Jetscii-450x319.png\" alt=\"\" width=\"367\" height=\"259\" srcset=\"https:\/\/www.jesperjuul.net\/ludologist\/wp-content\/uploads\/2020\/04\/Jetscii-450x319.png 450w, https:\/\/www.jesperjuul.net\/ludologist\/wp-content\/uploads\/2020\/04\/Jetscii-150x106.png 150w, https:\/\/www.jesperjuul.net\/ludologist\/wp-content\/uploads\/2020\/04\/Jetscii-768x544.png 768w, https:\/\/www.jesperjuul.net\/ludologist\/wp-content\/uploads\/2020\/04\/Jetscii.png 845w\" sizes=\"auto, (max-width: 367px) 85vw, 367px\" \/><\/a><\/span><\/div>\n<\/div>\n<div class=\"\" data-block=\"true\" data-editor=\"5sesc\" data-offset-key=\"bv2an-0-0\">\n<div class=\"_1mf _1mj\" data-offset-key=\"bv2an-0-0\"><span data-offset-key=\"bv2an-0-0\">\u00a0<\/span><\/div>\n<\/div>\n<div class=\"\" data-block=\"true\" data-editor=\"5sesc\" data-offset-key=\"fhh2l-0-0\">\n<div class=\"_1mf _1mj\" data-offset-key=\"fhh2l-0-0\"><span data-offset-key=\"fhh2l-0-0\">Instigated by <a href=\"https:\/\/nickm.com\/\">Nick Montfort<\/a>, we returned to the Commodore 64 to write a 10-line game &amp; visual poem.<\/span><\/div>\n<div data-offset-key=\"fhh2l-0-0\"><\/div>\n<div class=\"_1mf _1mj\" data-offset-key=\"fhh2l-0-0\"><span data-offset-key=\"fhh2l-0-0\">A very long time ago I used to be into C64 programming, at first BASIC and later assembly. I have severe existential reservations about going back to &#8220;things that I gave up years ago&#8221;, but it really was like coming home in a holy &amp; broken sort of way.<\/span><\/div>\n<div data-offset-key=\"fhh2l-0-0\"><\/div>\n<div class=\"_1mf _1mj\" data-offset-key=\"fhh2l-0-0\"><span data-offset-key=\"fhh2l-0-0\">In a world full of ever-shifting Javascript preprocessors and package managers, a simple predictable machine is a comfort, and yet the BASIC implementation is excruciatingly slow and full of strange decisions. For example, on this 1 Mhz machine, the BASIC implementation only runs floating point, which is really slow. This meant that the C64 was special in that assembly was perhaps a 1000 times faster than BASIC, a much bigger difference than in modern languages.<\/span><\/div>\n<\/div>\n<div class=\"\" data-block=\"true\" data-editor=\"5sesc\" data-offset-key=\"b135g-0-0\">\n<div class=\"_1mf _1mj\" data-offset-key=\"b135g-0-0\"><span data-offset-key=\"b135g-0-0\">\u00a0<\/span><\/div>\n<\/div>\n<div class=\"\" data-block=\"true\" data-editor=\"5sesc\" data-offset-key=\"9hkkt-0-0\">\n<div class=\"_1mf _1mj\" data-offset-key=\"9hkkt-0-0\"><span data-offset-key=\"9hkkt-0-0\">Play Petscii Jetski online at <a href=\"https:\/\/nickm.com\/montfort_juul\/petscii_jetski\/\">https:\/\/nickm.com\/montfort_juul\/petscii_jetski\/<\/a> and read a detailed discussion of BASIC optimization at <a href=\"https:\/\/nickm.com\/trope_tank\/TROPE-20-01.pdf\">https:\/\/nickm.com\/trope_tank\/TROPE-20-01.pdf<\/a><\/span><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Introducing Petscii Jetski! \u00a0 Instigated by Nick Montfort, we returned to the Commodore 64 to write a 10-line game &amp; visual poem. A very long time ago I used to be into C64 programming, at first BASIC and later assembly. I have severe existential reservations about going back to &#8220;things that I gave up years &hellip; <a href=\"https:\/\/www.jesperjuul.net\/ludologist\/2020\/04\/03\/petscii-jetski-a-c64-game-in-basic\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Petscii Jetski &#8211; a C64 game in BASIC&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[8,10,2],"tags":[],"class_list":["post-2666","post","type-post","status-publish","format-standard","hentry","category-actual-games","category-game-design","category-games"],"_links":{"self":[{"href":"https:\/\/www.jesperjuul.net\/ludologist\/wp-json\/wp\/v2\/posts\/2666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jesperjuul.net\/ludologist\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jesperjuul.net\/ludologist\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jesperjuul.net\/ludologist\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jesperjuul.net\/ludologist\/wp-json\/wp\/v2\/comments?post=2666"}],"version-history":[{"count":4,"href":"https:\/\/www.jesperjuul.net\/ludologist\/wp-json\/wp\/v2\/posts\/2666\/revisions"}],"predecessor-version":[{"id":2671,"href":"https:\/\/www.jesperjuul.net\/ludologist\/wp-json\/wp\/v2\/posts\/2666\/revisions\/2671"}],"wp:attachment":[{"href":"https:\/\/www.jesperjuul.net\/ludologist\/wp-json\/wp\/v2\/media?parent=2666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jesperjuul.net\/ludologist\/wp-json\/wp\/v2\/categories?post=2666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jesperjuul.net\/ludologist\/wp-json\/wp\/v2\/tags?post=2666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}