{"id":944,"date":"2012-05-01T12:34:55","date_gmt":"2012-05-01T19:34:55","guid":{"rendered":"https:\/\/dylanmc.ca\/\/-\/?p=944"},"modified":"2024-09-16T10:04:04","modified_gmt":"2024-09-16T17:04:04","slug":"space-bees-attack-my-ludum-dare-23-entry","status":"publish","type":"post","link":"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/","title":{"rendered":"Space Bees Attack! &#8211; My Ludum Dare 23 entry"},"content":{"rendered":"\n<p>My friend Andrew convinced me to participate in <a href=\"http:\/\/www.ludumdare.com\/\">Ludum Dare 23<\/a>\u00a0\u2014 a fun and informal 48-hour (or 72-hour) game making competition.\u00a0He created an insane, brilliant little game called <a href=\"https:\/\/web.archive.org\/web\/20210225021832\/http:\/\/www.ludumdare.com\/compo\/ludum-dare-23\/?action=preview&amp;uid=11072\">Baby Farm<\/a>.\u00a0I went ahead with <a href=\"https:\/\/web.archive.org\/web\/20121015142154\/http:\/\/www.ludumdare.com\/compo\/ludum-dare-23\/?uid=10898\">a poorly thought out idea<\/a>: &#8220;I&#8217;ll make a game where you have to build a structure to defend your world where evil things are falling from the sky! <em>With physics!<\/em>&#8220;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/screenshot-from-2012-04-21-110429-2\/\" rel=\"attachment wp-att-948\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"224\" data-attachment-id=\"948\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/screenshot-from-2012-04-21-110429-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?fit=1002%2C749&amp;ssl=1\" data-orig-size=\"1002,749\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Screenshot from 2012-04-21 11:04:29\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?fit=300%2C224&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?fit=525%2C392&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?resize=300%2C224&#038;ssl=1\" alt=\"\" class=\"wp-image-948\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?resize=300%2C224&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?resize=750%2C560&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?w=1002&amp;ssl=1 1002w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>The &#8220;with physics&#8221; part is where it went wrong. Words for the wise: physics are evil.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>It sort of evolved in an interesting way, though. I decided I would commit to some specific technologies and make them work, rather than worrying constantly about my choice of tools like I usually do. I decided on Python and I grabbed a very nice hardware accelerated 2d graphics library called&nbsp;<a href=\"http:\/\/www.pyglet.org\/\">pyglet<\/a> (which I had been meaning to learn) as well as&nbsp;<a href=\"http:\/\/code.google.com\/p\/pymunk\/\">pymunk<\/a> for 2d physics, and I planned to do any graphics as quickly as possible with Inkscape. I started off just making it possible for the player to dump objects in the scene.&nbsp;Originally, the defensive structure was going to be assembled from different materials like bricks and pieces of wood. The results were kind of uninspiring.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/screenshot-from-2012-04-21-213521\/\" rel=\"attachment wp-att-949\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"224\" data-attachment-id=\"949\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/screenshot-from-2012-04-21-213521\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-213521.png?fit=1002%2C749&amp;ssl=1\" data-orig-size=\"1002,749\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Screenshot from 2012-04-21 21:35:21\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-213521.png?fit=300%2C224&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-213521.png?fit=525%2C392&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-213521.png?resize=300%2C224&#038;ssl=1\" alt=\"\" class=\"wp-image-949\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-213521.png?resize=300%2C224&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-213521.png?resize=750%2C560&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-213521.png?w=1002&amp;ssl=1 1002w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>After some fiddling, I erased a lot of code and switched to Tetris blocks: they fall from the sky and you place them to form sturdy towers. This is one thing that turned out really well. I have played a few Tetris + physics games, and they tend to be unbelievably frustrating. I wanted something that felt a lot like normal Tetris, so the blocks are easy to fit together and the one you control is fluid and reliable. Of course, this is where I finally explored a very important point first hand: video game physics are not real physics. To keep everything stable, blocks gain a whole bunch of extra mass when they are released, and some custom collision handlers ensure that blocks are as steady as possible while they are being controlled. The block being controlled by the player is pulled along by a set of constraints: one handles rotation (in 90\u00b0 increments) and another forces the block to snap to a specific point on the X axis.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/screenshot-from-2012-04-22-221019\/\" rel=\"attachment wp-att-954\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"186\" data-attachment-id=\"954\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/screenshot-from-2012-04-22-221019\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-22-221019.png?fit=1202%2C749&amp;ssl=1\" data-orig-size=\"1202,749\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Screenshot from 2012-04-22 22:10:19\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-22-221019.png?fit=300%2C186&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-22-221019.png?fit=525%2C327&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-22-221019.png?resize=300%2C186&#038;ssl=1\" alt=\"\" class=\"wp-image-954\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-22-221019.png?resize=300%2C186&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-22-221019.png?resize=750%2C467&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-22-221019.png?w=1202&amp;ssl=1 1202w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-22-221019.png?w=1050&amp;ssl=1 1050w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>I then spent a bizarre number of hours trying to rotate a group of sprites around an arbitrary point. Because, of course, it&#8217;s great that you can have a physics library that tells you how to position and rotate everything, but if you can&#8217;t <em>draw<\/em> those objects the way it wants, you aren&#8217;t getting anywhere. Suffice it to say, I was getting nowhere for a very long time. I think part of this may have been a misunderstanding about coordinate systems, but in the end I solved it by borrowing the Sprite class from Cocos2d, so <i>it<\/i> could deal with that stuff for me. Yes, I suck at math.<\/p>\n\n\n\n<p>My big regret here is that I completely ignored the&nbsp;point of the game \u2014 the Space Bees \u2014 until something like six hours before the deadline. This meant very little testing, so I ended up sticking to the first terrible idea that landed in my head: &#8216;they&#8217;ll fly like real bees, and just be really heavy blocks so the physics stuff will take care of itself.&#8217; No, it doesn&#8217;t happen that way: I spent five minutes making them fly, and five hours tuning them, fruitlessly.&nbsp;In retrospect, I should have gone for something more like falling rocks, and I should have removed them from the physics simulation. Having these falling bees inside the simulation provided no gameplay benefits and created some rather horrible visual issues. Most importantly, I think it would have helped me if I had focused on establishing some kind of (preferably amusing) challenge as early as possible. As it turns out, that really is a big priority in making a game.<\/p>\n\n\n\n<p>At any rate, this is <a href=\"https:\/\/web.archive.org\/web\/20121015142154\/http:\/\/www.ludumdare.com\/compo\/ludum-dare-23\/?uid=10898\">my first Ludum Dare entry<\/a>!\u00a0It is possibly the first time I have built a game with any kind of playability, however brief the amusement may be. It was especially fun seeing the comments people left for my game. I was terrified at first, but they were all lovely, constructive and encouraging comments. The Ludum Dare community is amazing and I definitely look forward to doing this again, armed with the lessons and the confidence I gained this time.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/screenshot-from-2012-04-23-184731\/\" rel=\"attachment wp-att-950\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"327\" data-attachment-id=\"950\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/screenshot-from-2012-04-23-184731\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?fit=1202%2C749&amp;ssl=1\" data-orig-size=\"1202,749\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Screenshot from 2012-04-23 18:47:31\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?fit=300%2C186&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?fit=525%2C327&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?resize=525%2C327&#038;ssl=1\" alt=\"\" class=\"wp-image-950\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?resize=750%2C467&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?resize=300%2C186&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?w=1202&amp;ssl=1 1202w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?w=1050&amp;ssl=1 1050w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>You can download the game for&nbsp;<a href=\"https:\/\/dylanmc.ca\/wp-content\/uploads\/SpaceBeesAttack-source.tar.gz\">Linux<\/a>&nbsp;and&nbsp;<a href=\"https:\/\/dylanmc.ca\/wp-content\/uploads\/SpaceBeesAttack-windows.zip\">Windows<\/a>. If you want to play with the source code, you&#8217;re welcome to it. It&#8217;s all there in the Linux download.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My friend Andrew convinced me to participate in <a href=\"http:\/\/www.ludumdare.com\/\">Ludum Dare 23<\/a>\u00a0\u2014 a fun and informal 48-hour (or 72-hour) game making competition.\u00a0He created an insane, brilliant little game called <a href=\"https:\/\/web.archive.org\/web\/20210225021832\/http:\/\/www.ludumdare.com\/compo\/ludum-dare-23\/?action=preview&amp;uid=11072\">Baby Farm<\/a>.\u00a0I went ahead with <a href=\"https:\/\/web.archive.org\/web\/20121015142154\/http:\/\/www.ludumdare.com\/compo\/ludum-dare-23\/?uid=10898\">a poorly thought out idea<\/a>: &#8220;I&#8217;ll make a game where you have to build a structure to defend your world where evil things are falling from the sky! <em>With physics!<\/em>&#8220;<\/p>\n<p><a href=\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/screenshot-from-2012-04-21-110429-2\/\" rel=\"attachment wp-att-948\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"224\" data-attachment-id=\"948\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/screenshot-from-2012-04-21-110429-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?fit=1002%2C749&amp;ssl=1\" data-orig-size=\"1002,749\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Screenshot from 2012-04-21 11:04:29\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?fit=300%2C224&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?fit=525%2C392&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?resize=300%2C224&#038;ssl=1\" alt=\"\" class=\"wp-image-948\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?resize=300%2C224&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?resize=750%2C560&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-21-1104291.png?w=1002&amp;ssl=1 1002w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>The &#8220;with physics&#8221; part is where it went wrong. Words for the wise: physics are evil&hellip;<\/p>\n","protected":false},"author":2,"featured_media":950,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federate","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[54],"tags":[57],"class_list":["post-944","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-games","tag-ludum-dare"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Space Bees Attack! - My Ludum Dare 23 entry - Dylan McCall<\/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:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Space Bees Attack! - My Ludum Dare 23 entry - Dylan McCall\" \/>\n<meta property=\"og:description\" content=\"My friend Andrew convinced me to participate in Ludum Dare 23\u00a0\u2014 a fun and informal 48-hour (or 72-hour) game making competition.\u00a0He created an insane, brilliant little game called Baby Farm.\u00a0I went ahead with a poorly thought out idea: &#8220;I&#8217;ll make a game where you have to build a structure to defend your world where evil things are falling from the sky! With physics!&#8220;    The &#8220;with physics&#8221; part is where it went wrong. Words for the wise: physics are evil&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/\" \/>\n<meta property=\"og:site_name\" content=\"Dylan McCall\" \/>\n<meta property=\"article:published_time\" content=\"2012-05-01T19:34:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-16T17:04:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1202\" \/>\n\t<meta property=\"og:image:height\" content=\"749\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Dylan McCall\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dylan McCall\" \/>\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:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/\"},\"author\":{\"name\":\"Dylan McCall\",\"@id\":\"https:\/\/dylanmc.ca\/\/-\/#\/schema\/person\/c244419a779c5414c768bc53ac5fb2d5\"},\"headline\":\"Space Bees Attack! &#8211; My Ludum Dare 23 entry\",\"datePublished\":\"2012-05-01T19:34:55+00:00\",\"dateModified\":\"2024-09-16T17:04:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/\"},\"wordCount\":777,\"image\":{\"@id\":\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?fit=1202%2C749&ssl=1\",\"keywords\":[\"Ludum Dare\"],\"articleSection\":[\"Games\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/\",\"url\":\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/\",\"name\":\"Space Bees Attack! - My Ludum Dare 23 entry - Dylan McCall\",\"isPartOf\":{\"@id\":\"https:\/\/dylanmc.ca\/\/-\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?fit=1202%2C749&ssl=1\",\"datePublished\":\"2012-05-01T19:34:55+00:00\",\"dateModified\":\"2024-09-16T17:04:04+00:00\",\"author\":{\"@id\":\"https:\/\/dylanmc.ca\/\/-\/#\/schema\/person\/c244419a779c5414c768bc53ac5fb2d5\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?fit=1202%2C749&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?fit=1202%2C749&ssl=1\",\"width\":\"1202\",\"height\":\"749\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dylanmc.ca\/\/-\/#website\",\"url\":\"https:\/\/dylanmc.ca\/\/-\/\",\"name\":\"Dylan McCall\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dylanmc.ca\/\/-\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/dylanmc.ca\/\/-\/#\/schema\/person\/c244419a779c5414c768bc53ac5fb2d5\",\"name\":\"Dylan McCall\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dylanmc.ca\/\/-\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c94ab3a7e6a884542205e0408711cd54bb1fd5f4e90e7a5f621a54656a18a037?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c94ab3a7e6a884542205e0408711cd54bb1fd5f4e90e7a5f621a54656a18a037?s=96&d=mm&r=g\",\"caption\":\"Dylan McCall\"},\"description\":\"Software developer, tea drinker, GNOME contributor. Occasionally a raving fanatic.\",\"sameAs\":[\"https:\/\/dylanmc.ca\/\/-\"],\"url\":\"https:\/\/dylanmc.ca\/\/-\/blog\/author\/dylan\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Space Bees Attack! - My Ludum Dare 23 entry - Dylan McCall","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:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/","og_locale":"en_US","og_type":"article","og_title":"Space Bees Attack! - My Ludum Dare 23 entry - Dylan McCall","og_description":"My friend Andrew convinced me to participate in Ludum Dare 23\u00a0\u2014 a fun and informal 48-hour (or 72-hour) game making competition.\u00a0He created an insane, brilliant little game called Baby Farm.\u00a0I went ahead with a poorly thought out idea: &#8220;I&#8217;ll make a game where you have to build a structure to defend your world where evil things are falling from the sky! With physics!&#8220;    The &#8220;with physics&#8221; part is where it went wrong. Words for the wise: physics are evil&hellip;","og_url":"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/","og_site_name":"Dylan McCall","article_published_time":"2012-05-01T19:34:55+00:00","article_modified_time":"2024-09-16T17:04:04+00:00","og_image":[{"width":1202,"height":749,"url":"https:\/\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png","type":"image\/png"}],"author":"Dylan McCall","twitter_misc":{"Written by":"Dylan McCall","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/#article","isPartOf":{"@id":"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/"},"author":{"name":"Dylan McCall","@id":"https:\/\/dylanmc.ca\/\/-\/#\/schema\/person\/c244419a779c5414c768bc53ac5fb2d5"},"headline":"Space Bees Attack! &#8211; My Ludum Dare 23 entry","datePublished":"2012-05-01T19:34:55+00:00","dateModified":"2024-09-16T17:04:04+00:00","mainEntityOfPage":{"@id":"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/"},"wordCount":777,"image":{"@id":"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?fit=1202%2C749&ssl=1","keywords":["Ludum Dare"],"articleSection":["Games"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/","url":"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/","name":"Space Bees Attack! - My Ludum Dare 23 entry - Dylan McCall","isPartOf":{"@id":"https:\/\/dylanmc.ca\/\/-\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/#primaryimage"},"image":{"@id":"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?fit=1202%2C749&ssl=1","datePublished":"2012-05-01T19:34:55+00:00","dateModified":"2024-09-16T17:04:04+00:00","author":{"@id":"https:\/\/dylanmc.ca\/\/-\/#\/schema\/person\/c244419a779c5414c768bc53ac5fb2d5"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/01\/space-bees-attack-my-ludum-dare-23-entry\/#primaryimage","url":"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?fit=1202%2C749&ssl=1","contentUrl":"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?fit=1202%2C749&ssl=1","width":"1202","height":"749"},{"@type":"WebSite","@id":"https:\/\/dylanmc.ca\/\/-\/#website","url":"https:\/\/dylanmc.ca\/\/-\/","name":"Dylan McCall","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dylanmc.ca\/\/-\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/dylanmc.ca\/\/-\/#\/schema\/person\/c244419a779c5414c768bc53ac5fb2d5","name":"Dylan McCall","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dylanmc.ca\/\/-\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c94ab3a7e6a884542205e0408711cd54bb1fd5f4e90e7a5f621a54656a18a037?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c94ab3a7e6a884542205e0408711cd54bb1fd5f4e90e7a5f621a54656a18a037?s=96&d=mm&r=g","caption":"Dylan McCall"},"description":"Software developer, tea drinker, GNOME contributor. Occasionally a raving fanatic.","sameAs":["https:\/\/dylanmc.ca\/\/-"],"url":"https:\/\/dylanmc.ca\/\/-\/blog\/author\/dylan\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2012-04-23-184731.png?fit=1202%2C749&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pcXOQX-fe","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/posts\/944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/comments?post=944"}],"version-history":[{"count":24,"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/posts\/944\/revisions"}],"predecessor-version":[{"id":12775,"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/posts\/944\/revisions\/12775"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/media\/950"}],"wp:attachment":[{"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/media?parent=944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/categories?post=944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/tags?post=944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}