{"id":988,"date":"2025-01-08T14:06:57","date_gmt":"2025-01-08T14:06:57","guid":{"rendered":"http:\/\/mycours.es\/egd\/?page_id=988"},"modified":"2025-04-08T12:08:05","modified_gmt":"2025-04-08T12:08:05","slug":"project-remaking-asteroids","status":"publish","type":"page","link":"https:\/\/mycours.es\/egd\/project-remaking-asteroids\/","title":{"rendered":"Project: Remaking Asteroids"},"content":{"rendered":"<p><iframe loading=\"lazy\" title=\"(Arcade) Asteroids\" width=\"840\" height=\"630\" src=\"https:\/\/www.youtube.com\/embed\/WYSupJ5r2zo?start=1&#038;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Try an online port here:<br \/>\n<a href=\"https:\/\/freeasteroids.org\/\">https:\/\/freeasteroids.org\/<\/a><\/p>\n<p><span style=\"font-weight: 400;\">One of the first arcade games, it came out in 1979.<br \/>\n<\/span><span style=\"font-weight: 400;\"><br \/>\nI\u2019m not a fan of the game, and I\u2019m not nostalgic. <\/span><span style=\"font-weight: 400;\">I just like it as an example because it\u2019s simple, v<\/span><span style=\"font-weight: 400;\">ery easy to break down conceptually, <\/span><span style=\"font-weight: 400;\">it\u2019s a good way to introduce many game programming patterns.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/p>\n<h2>A Bit of History<\/h2>\n<p>Let&#8217;s go back in time. What&#8217;s the first videogame ever?<\/p>\n<p>Right Answer #1<br \/>\n<iframe loading=\"lazy\" title=\"Lyle Bickley explains the PDP-1 (and we play the original Spacewar!)\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/1EWQYAfuMYw?start=652&#038;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>1962 Steve Russell &amp; al. Bastard child of the military industrial complex. Based on a virtual planetarium. Rand on PDP-1 an early digital computer. Open source-ish collaborative creation (modding). Progenitor of Asteroids and all shooters.<br \/>\nScreen was a WWII radar &#8211; its roundness possibly affected the design of the game.<\/p>\n<p><strong>Reading<br \/>\n<\/strong><a href=\"https:\/\/www.wheels.org\/spacewar\/stone\/rolling_stone.html\">Fanatic Life and Symbolic Death Among the Computer Bums <\/a>by Stewart Brand (Rolling Stone 1972)<\/p>\n<p>The interface was a bunch of awkwardly positioned switches. So they had to invent the joystick. Its mapping still dictates much of the movements in game spaces.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2177\" src=\"http:\/\/mycours.es\/gamedesign2017\/files\/2017\/10\/Screen-Shot-2017-10-12-at-9.43.27-AM.png\" alt=\"Screen Shot 2017-10-12 at 9.43.27 AM\" width=\"1224\" height=\"658\" \/><\/p>\n<p>Right Answer #2<br \/>\n<iframe loading=\"lazy\" title=\"History Of First Computer Game II Tennis For Two\" width=\"840\" height=\"630\" src=\"https:\/\/www.youtube.com\/embed\/0lan34aLpdo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>1958 William Higinbotham, Robert Dvorak. Analog computer, oscilloscope screen. Pacifist\/scientific sibling of Spacewar. Progenitor of pong and all sports games.<br \/>\nControl system based on knobs which spawn a the commercial pong style controllers years later, now out of fashion (but somewhat closer to the analog stick than switches).<\/p>\n<figure id=\"attachment_2178\" aria-describedby=\"caption-attachment-2178\" style=\"width: 2588px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2178\" src=\"http:\/\/mycours.es\/gamedesign2017\/files\/2017\/10\/pong-clones.jpg\" alt=\"In 1977 a million of pong clones flooded the market crashing the young industry\" width=\"2588\" height=\"1572\" \/><figcaption id=\"caption-attachment-2178\" class=\"wp-caption-text\">In 1977 a million of pong clones flooded the market crashing the nascent industry<\/figcaption><\/figure>\n<p>Control interfaces mostly stabilized until the advent of mouse and GUI in the early 90s (fostering\u00a0less action oriented genres like RTS, puzzles, point and click adventures, and externalizing the look and aim to the mouse).<\/p>\n<p>Game genres developed incrementally mainly by reimagining the relationship between the standard cartesian control system and player\/avatar.<\/p>\n<p>SpaceWar was cloned and turned into a coin operated machine. Not super successful but enough for the creators to launch Atari (which then will publish Asteroids).<\/p>\n<p><a href=\"http:\/\/mycours.es\/egd\/files\/2025\/01\/image8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1002\" src=\"http:\/\/mycours.es\/egd\/files\/2025\/01\/image8.png\" alt=\"\" width=\"1700\" height=\"1092\" srcset=\"https:\/\/mycours.es\/egd\/files\/2025\/01\/image8.png 1700w, https:\/\/mycours.es\/egd\/files\/2025\/01\/image8-300x193.png 300w, https:\/\/mycours.es\/egd\/files\/2025\/01\/image8-1024x658.png 1024w, https:\/\/mycours.es\/egd\/files\/2025\/01\/image8-768x493.png 768w, https:\/\/mycours.es\/egd\/files\/2025\/01\/image8-1536x987.png 1536w, https:\/\/mycours.es\/egd\/files\/2025\/01\/image8-1200x771.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a>The game ran on a vector system developed for Lunar Lander (1979)<br \/>\nThe <a href=\"https:\/\/youtu.be\/JiGjU-NnkfE?si=GTJt4PyP3ypCTtMn&amp;t=485\">vector hardware<\/a> was chosen because the high image quality would permit precise aiming.<\/p>\n<p><iframe loading=\"lazy\" title=\"Arcade Game: Lunar Lander (1979 Atari)\" width=\"840\" height=\"630\" src=\"https:\/\/www.youtube.com\/embed\/McAhSoAEbhM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Upon release Asteroids displaced Space Invaders as the most popular coin op game<\/p>\n<p><iframe loading=\"lazy\" title=\"Space Invaders (1978) - 100% Longplay (No Commentary)\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/uGjgxwiemms?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h2>Problem decomposition<\/h2>\n<p>Let&#8217;s reverse engineer Asteroids and break it in smaller problems.<\/p>\n<p>&#8211; What are the &#8220;things&#8221; and the &#8220;verbs&#8221; in the game<\/p>\n<p>&#8211; If you are familiar with Object Oriented Programming, what could be the classes\/objects involved?<\/p>\n<p>&#8211; Let&#8217;s try to re-create the ship controls using Unity&#8217;s built-in Input and physics.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Try an online port here: https:\/\/freeasteroids.org\/ One of the first arcade games, it came out in 1979. I\u2019m not a fan of the game, and I\u2019m not nostalgic. I just like it as an example because it\u2019s simple, very easy to break down conceptually, it\u2019s a good way to introduce many game programming patterns. A &hellip; <a href=\"https:\/\/mycours.es\/egd\/project-remaking-asteroids\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Project: Remaking Asteroids&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":12,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-988","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mycours.es\/egd\/wp-json\/wp\/v2\/pages\/988","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mycours.es\/egd\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mycours.es\/egd\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mycours.es\/egd\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mycours.es\/egd\/wp-json\/wp\/v2\/comments?post=988"}],"version-history":[{"count":8,"href":"https:\/\/mycours.es\/egd\/wp-json\/wp\/v2\/pages\/988\/revisions"}],"predecessor-version":[{"id":1024,"href":"https:\/\/mycours.es\/egd\/wp-json\/wp\/v2\/pages\/988\/revisions\/1024"}],"wp:attachment":[{"href":"https:\/\/mycours.es\/egd\/wp-json\/wp\/v2\/media?parent=988"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}