{"id":301,"date":"2026-06-09T13:40:58","date_gmt":"2026-06-09T13:40:58","guid":{"rendered":"https:\/\/longhaulmovingpros.com\/?p=301"},"modified":"2026-06-09T13:40:58","modified_gmt":"2026-06-09T13:40:58","slug":"masochistic-youtuber-punishes-himself-by-writing-a-first-person-shooter-entirely-in-cobol","status":"publish","type":"post","link":"https:\/\/longhaulmovingpros.com\/?p=301","title":{"rendered":"Masochistic YouTuber Punishes Himself by Writing a First Person Shooter Entirely in COBOL"},"content":{"rendered":"<div>\n<p>So: masochism. You might know that it takes its name from 19th-century\u00a0Austrian nobleman and writer Leopold Ritter von Sacher-Masoch\u2014and specifically from the content of his famous work, <em>Venus in Furs<\/em>, which catalogued the narrator\u2019s submissive nature and fondness for experiencing pain and humiliation. Masoch himself was apparently not amused by the fact that his name became attached to such predilections\u2014probably fair, given that the term was first used in a book entitled <em>Psychopathia Sexualis<\/em>, which also pioneered negging by speculating that Masoch himself \u201cwould have achieved real greatness had he been actuated by normally sexual feelings.\u201d Happily, modern attitudes to the \u201cS\u201d part of BDSM are significantly more enlightened than they were in the 1880s and 1890s.<\/p>\n<p>Read more <a href=\"https:\/\/longhaulmovingpros.com\/?p=299\">The Kennedy Center\u2019s Has Scrubbed Trump\u2019s Name Off its Website<\/a><\/p>\n<p>In entirely unrelated news, a YouTuber by the name of icitry\u2014whose bio on the site reads simply \u201ctry now, suffer later\u201d\u2014has written a whole first-person shooter in freaking COBOL.<\/p>\n<p>If you\u2019ve never had to deal with COBOL, well, good for you, and you should probably keep it that way. The language is amongst the oldest computer languages, and was developed in the 1960s for managing business mainframes. It\u2019s probably what drove poor Ginsberg in <em>Mad Men<\/em> out of his mind. COBOL remains in use today, largely in such legacy mainframes and other places where it\u2019s not feasible to replace existing systems that, for all their foibles, still work.<\/p>\n<div>\n<\/div>\n<p>One purpose for which it absolutely does not remain in use\u2014and, in fact, has never been used\u2014is programming first-person shooters. So why in the name of all that is good and holy would anyone do this to themselves?<\/p>\n<div><noscript><iframe loading=\"lazy\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen=\"\" frameborder=\"0\" height=\"281\" referrerpolicy=\"strict-origin-when-cross-origin\" src=\"https:\/\/www.youtube.com\/embed\/qzpZQe7JT-o?feature=oembed\" title=\"Is COBOL Enough To Make An FPS Game From Scratch?\" width=\"500\"><\/iframe><\/noscript><\/div>\n<p>In his video, icitry explains that the project started with him wondering, \u201cWhat\u2019s the dumbest but still technically possible language for writing a small FPS style game?\u201d The answer was, yes, COBOL, and because the laws of the universe dictate that anything that can happen <em>must <\/em>happen, icitry got to work. Long, painstaking, tedious hours of work.<\/p>\n<div>\n<\/div>\n<p>As he points out, COBOL is \u201cold, verbose, missing most features even the shittiest modern languages have \u2026 and is definitely not created for game development.\u201d All of this is true, although in fairness to COBOL, it was created at a time when people were still figuring out how programming should work and what a programming language should aim to be. Its earliest standard predated the idea of structured programming, although it soon attracted criticism from advocates of that concept\u2014 Edsger Dijkstra, in particular, famously hated the language and said its use \u201ccripples the mind.\u201d<\/p>\n<p>Read more <a href=\"https:\/\/longhaulmovingpros.com\/?p=297\">At Long Last, Instagram Users are Free to Reorganize Their Grids<\/a><\/p>\n<p>To modern eyes, just trying to parse a COBOL program is enough to induce a headache, let alone trying to write a game in it\u2014but, miraculously, icitry manages to get his Wolfenstein 3D-esque project to work. He dodges COBOL\u2019s complete lack of graphical functions by basically treating the game as what he calls a \u201cframe generator\u201d: his code computes the contents of each frame and uses a standard output function to write the results into a simple image format. This is rendered by ffplay\u2014which, yes, is probably cheating, but not even old Leopold would try to write an entire graphics API from scratch in COBOL.<\/p>\n<div>\n<\/div>\n<p>Elsewhere, icitry dodges COBOL\u2019s lack of input management by using the console to input single characters to his game. He doesn\u2019t so much dodge COBOL\u2019s lack of any vector math functions\u2014which are kind of important for a game where the entire gameplay loop revolves around calculating and manipulating 2D movement vectors\u2014as he does just work around them by kinda writing them himself. And then, as if this wasn\u2019t all enough self-punishment, he goes the extra mile by implementing <em>DOOM<\/em> engine functions like variable ceiling height.<\/p>\n<p>The whole project is a testament to mankind\u2019s ingenuity, resourcefulness, and ability to withstand all manner of self-inflicted punishment. Watching the game run, you\u2019d never guess it was written in a language so manifestly unsuited for the task at hand.<\/p>\n<p>Still! At least it\u2019s not FORTRAN, right? Right?? *smash cut to an Austrian aristocrat at his desk with a copy of <em>The Fortran Automatic Coding System for the IBM 704<\/em> and the <em>DOOM<\/em> source code*<\/p>\n<p>Read more <a href=\"https:\/\/longhaulmovingpros.com\/?p=295\">A Farmer Donated Land For a Public Park and the City Sold It to a Data Center Developer for $10 Million<\/a><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>No kink-shaming, but&#8230;<\/p>\n","protected":false},"author":1,"featured_media":300,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-301","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-culture"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Masochistic YouTuber Punishes Himself by Writing a First Person Shooter Entirely in COBOL - Long Haul Moving Pros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/longhaulmovingpros.com\/?p=301\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Masochistic YouTuber Punishes Himself by Writing a First Person Shooter Entirely in COBOL - Long Haul Moving Pros\" \/>\n<meta property=\"og:description\" content=\"No kink-shaming, but...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/longhaulmovingpros.com\/?p=301\" \/>\n<meta property=\"og:site_name\" content=\"Long Haul Moving Pros\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-09T13:40:58+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/#\\\/schema\\\/person\\\/ed9c8f732aec56889e8fd0602fe5af4b\"},\"headline\":\"Masochistic YouTuber Punishes Himself by Writing a First Person Shooter Entirely in COBOL\",\"datePublished\":\"2026-06-09T13:40:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301\"},\"wordCount\":764,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/longhaulmovingpros.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/5cc62f26a1310f98ac49a763ff2e8cdb.webp\",\"articleSection\":[\"Culture\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301\",\"url\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301\",\"name\":\"Masochistic YouTuber Punishes Himself by Writing a First Person Shooter Entirely in COBOL - Long Haul Moving Pros\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/longhaulmovingpros.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/5cc62f26a1310f98ac49a763ff2e8cdb.webp\",\"datePublished\":\"2026-06-09T13:40:58+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/#\\\/schema\\\/person\\\/ed9c8f732aec56889e8fd0602fe5af4b\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301#primaryimage\",\"url\":\"https:\\\/\\\/longhaulmovingpros.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/5cc62f26a1310f98ac49a763ff2e8cdb.webp\",\"contentUrl\":\"https:\\\/\\\/longhaulmovingpros.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/5cc62f26a1310f98ac49a763ff2e8cdb.webp\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?p=301#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/longhaulmovingpros.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Masochistic YouTuber Punishes Himself by Writing a First Person Shooter Entirely in COBOL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/#website\",\"url\":\"https:\\\/\\\/longhaulmovingpros.com\\\/\",\"name\":\"Long Haul Moving Pros\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/longhaulmovingpros.com\\\/#\\\/schema\\\/person\\\/ed9c8f732aec56889e8fd0602fe5af4b\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/50b1ad2e498f523425ee0a8cc5180a210646db1622662a3d56cc405d3e0c346a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/50b1ad2e498f523425ee0a8cc5180a210646db1622662a3d56cc405d3e0c346a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/50b1ad2e498f523425ee0a8cc5180a210646db1622662a3d56cc405d3e0c346a?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"http:\\\/\\\/longhaulmovingpros.com\"],\"url\":\"https:\\\/\\\/longhaulmovingpros.com\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Masochistic YouTuber Punishes Himself by Writing a First Person Shooter Entirely in COBOL - Long Haul Moving Pros","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/longhaulmovingpros.com\/?p=301","og_locale":"en_US","og_type":"article","og_title":"Masochistic YouTuber Punishes Himself by Writing a First Person Shooter Entirely in COBOL - Long Haul Moving Pros","og_description":"No kink-shaming, but...","og_url":"https:\/\/longhaulmovingpros.com\/?p=301","og_site_name":"Long Haul Moving Pros","article_published_time":"2026-06-09T13:40:58+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/longhaulmovingpros.com\/?p=301#article","isPartOf":{"@id":"https:\/\/longhaulmovingpros.com\/?p=301"},"author":{"name":"admin","@id":"https:\/\/longhaulmovingpros.com\/#\/schema\/person\/ed9c8f732aec56889e8fd0602fe5af4b"},"headline":"Masochistic YouTuber Punishes Himself by Writing a First Person Shooter Entirely in COBOL","datePublished":"2026-06-09T13:40:58+00:00","mainEntityOfPage":{"@id":"https:\/\/longhaulmovingpros.com\/?p=301"},"wordCount":764,"commentCount":0,"image":{"@id":"https:\/\/longhaulmovingpros.com\/?p=301#primaryimage"},"thumbnailUrl":"https:\/\/longhaulmovingpros.com\/wp-content\/uploads\/2026\/06\/5cc62f26a1310f98ac49a763ff2e8cdb.webp","articleSection":["Culture"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/longhaulmovingpros.com\/?p=301#respond"]}]},{"@type":"WebPage","@id":"https:\/\/longhaulmovingpros.com\/?p=301","url":"https:\/\/longhaulmovingpros.com\/?p=301","name":"Masochistic YouTuber Punishes Himself by Writing a First Person Shooter Entirely in COBOL - Long Haul Moving Pros","isPartOf":{"@id":"https:\/\/longhaulmovingpros.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/longhaulmovingpros.com\/?p=301#primaryimage"},"image":{"@id":"https:\/\/longhaulmovingpros.com\/?p=301#primaryimage"},"thumbnailUrl":"https:\/\/longhaulmovingpros.com\/wp-content\/uploads\/2026\/06\/5cc62f26a1310f98ac49a763ff2e8cdb.webp","datePublished":"2026-06-09T13:40:58+00:00","author":{"@id":"https:\/\/longhaulmovingpros.com\/#\/schema\/person\/ed9c8f732aec56889e8fd0602fe5af4b"},"breadcrumb":{"@id":"https:\/\/longhaulmovingpros.com\/?p=301#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/longhaulmovingpros.com\/?p=301"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/longhaulmovingpros.com\/?p=301#primaryimage","url":"https:\/\/longhaulmovingpros.com\/wp-content\/uploads\/2026\/06\/5cc62f26a1310f98ac49a763ff2e8cdb.webp","contentUrl":"https:\/\/longhaulmovingpros.com\/wp-content\/uploads\/2026\/06\/5cc62f26a1310f98ac49a763ff2e8cdb.webp","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/longhaulmovingpros.com\/?p=301#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/longhaulmovingpros.com\/"},{"@type":"ListItem","position":2,"name":"Masochistic YouTuber Punishes Himself by Writing a First Person Shooter Entirely in COBOL"}]},{"@type":"WebSite","@id":"https:\/\/longhaulmovingpros.com\/#website","url":"https:\/\/longhaulmovingpros.com\/","name":"Long Haul Moving Pros","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/longhaulmovingpros.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/longhaulmovingpros.com\/#\/schema\/person\/ed9c8f732aec56889e8fd0602fe5af4b","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/50b1ad2e498f523425ee0a8cc5180a210646db1622662a3d56cc405d3e0c346a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/50b1ad2e498f523425ee0a8cc5180a210646db1622662a3d56cc405d3e0c346a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/50b1ad2e498f523425ee0a8cc5180a210646db1622662a3d56cc405d3e0c346a?s=96&d=mm&r=g","caption":"admin"},"sameAs":["http:\/\/longhaulmovingpros.com"],"url":"https:\/\/longhaulmovingpros.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/longhaulmovingpros.com\/index.php?rest_route=\/wp\/v2\/posts\/301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/longhaulmovingpros.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/longhaulmovingpros.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/longhaulmovingpros.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/longhaulmovingpros.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=301"}],"version-history":[{"count":0,"href":"https:\/\/longhaulmovingpros.com\/index.php?rest_route=\/wp\/v2\/posts\/301\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/longhaulmovingpros.com\/index.php?rest_route=\/wp\/v2\/media\/300"}],"wp:attachment":[{"href":"https:\/\/longhaulmovingpros.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/longhaulmovingpros.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/longhaulmovingpros.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}