{"author_name":"Suese","cat":"LD #33","comments":[{"author_name":"","time":"August 15, 2015 1:32 pm","epoch":1439663520,"text":"I&#8217;m sorry I don&#8217;t quiet understand what you did there &#8211; like what is the server client architecture here?<br \/>\n Oh btw I also used &#8220;_&#8221; object to make my own jQuery thingy once haha","spam":"N"},{"author_name":"Suese","time":"August 17, 2015 1:56 pm","epoch":1439837760,"text":"Definitely.","spam":"N"},{"author_name":"","time":"August 17, 2015 4:45 pm","epoch":1439847900,"text":"Hmm OK I&#8217;m gonna read between the lines and hope I&#8217;m correct &#8211; are you planning to make a multiplayer game?<br \/>\n I honestly don&#8217;t understand your statements &#8211; you call this an API and then you talk about an SDK and then you tell me it&#8217;s bunch of mods and then you talk about multi-runtime. I feel like the entire thing is scattered.<br \/>\n Well, as far as I know there are already lots of plugins that allow php and javascript merge pretty well in one place.<br \/>\n Really appreciate your response but you see, I could really care less about the prettiness of runtime-functionality made into modular components. Let PHP do what PHP does best. I don&#8217;t like forcing languages out of their natures, let each language do what it does best or you&#8217;re just making it pointless. Why not use a single-agreed upon language to everything? Because that&#8217;s a terrible idea. I do appreciate stuff like Node.js and all sorts of plugins but I guess I&#8217;m just not into the kind of stuff of twisting it too much, by the end of the day this means more vulnerability in the web. I prefer letting browsers leave HTML4 and go into the new era safely and slowly. So I guess this stuff isn&#8217;t my thing .. but I&#8217;m sure this is a cool thing I do like drag &amp; drop features like everybody else =]<br \/>\n As for its usefulness &#8211; well, I mostly see potential in client-server based games which is most of the time multiplayer \/ shared worlds or stats.<br \/>\n All of the canvas and the boilerplate parts I guess are cool but I don&#8217;t get how they are dependent on this thing?<br \/>\n Couldn&#8217;t you just program it into some native JS module or something?","spam":"N"}],"epoch":1439678940,"likes":2,"metadata":{"p_key":"16907","p_author":"Suese","p_authorkey":"8361","p_urlkey":"52201","p_title":"I\u2019m In \u2013 Since 2009 \u2013 New API","p_cat":"LD #33","p_event":"LD33","p_time":"1439678940","p_likes":"2","p_comments":"3","p_status":"UPD5","us_key":"8361","us_name":"Suese","us_username":"suese","event_start":"1440115200","event_key":"29","event_name":"LD33"},"text":"<h3>Goodbye <em><strong>Retro Flow API<\/strong><\/em><\/h3>\n <div id=\"attachment_460667\" style=\"width: 160px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/04\/screen_shot11.png\"><img class=\"size-thumbnail wp-image-460667\" src=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2015\/04\/screen_shot11-150x150.png\" alt=\"Love Bomber - The Cult Simulator Click here to play.\" width=\"150\" height=\"150\" \/><\/a><p class=\"wp-caption-text\"><a href=\"http:\/\/ludumdare.com\/compo\/ludum-dare-32\/?action=preview&amp;uid=8361\">Click here<\/a> to play.<\/p><\/div>\n <div id=\"attachment_319525\" style=\"width: 160px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2013\/12\/one_cig.png\"><img class=\"size-thumbnail wp-image-319525\" src=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2013\/12\/one_cig-150x150.png\" alt=\"Click here to player &amp; rate. KEYBOARD + MOUSE W,A,S,D - Move Click - Use Tool Mouse Scroll - Change Tool\" width=\"150\" height=\"150\" \/><\/a><p class=\"wp-caption-text\"><a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-28\/?action=preview&amp;uid=8361\">Click here<\/a> to play.<\/p><\/div>\n <div id=\"attachment_139529\" style=\"width: 160px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2012\/04\/tiny_civ_colour.png\"><img class=\"size-thumbnail wp-image-139529\" src=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2012\/04\/tiny_civ_colour-150x150.png\" alt=\"Tiny Civilization with colour\" width=\"150\" height=\"150\" \/><\/a><p class=\"wp-caption-text\"><a href=\"http:\/\/danmckinnon.net\/tiny_world\/\">Click here<\/a> to play.<\/p><\/div>\n <p>&nbsp;<\/p>\n <p>&nbsp;<\/p>\n <p>&nbsp;<\/p>\n <p>&nbsp;<\/p>\n <p>&nbsp;<\/p>\n <p>&nbsp;<\/p>\n <p>&nbsp;<\/p>\n <p>I developed Retro Flow API in AS3 in 2009 specifically for Ludum Dare. \u00a0Once Flash was officially depricated it was time to move on.<\/p>\n <h3>Hello <em><strong>Super Flow SDK<\/strong><\/em><\/h3>\n <p>The past few weeks I&#8217;ve been developing a fresh new Javascript Software Development Kit tentatively named &#8220;Super Flow&#8221;.<\/p>\n <p>I figured it was time to make my &#8220;Dream API&#8221; for Game Jams and Ludum Dare, something that had a few\u00a0specific requirements:<\/p>\n <ul>\n <li>Convenient programming.<\/li>\n <li>Deployable\u00a0to the web\u00a0without plugins<\/li>\n <li>One programming language for <em>everything<\/em>.<\/li>\n <\/ul>\n <p>I came up with a concept I call <em><strong>directives-based programming<\/strong><\/em>.<\/p>\n <p>In practice it&#8217;s a modular <em><strong>server\/client<\/strong><strong>\u00a0API<\/strong><\/em>. \u00a0In reality it&#8217;s a bit of a <em><strong>paradigm shift<\/strong><\/em> in the way you write multi-runtime software.<\/p>\n <p>Directives may or may not be a new concept, I do not know but they will definitely require a tutorial for me to adequately demonstrate their\u00a0power. \u00a0I feel that once you understand the concept its <em><strong>power<\/strong><\/em> will be very evident.<\/p>\n <p>Technically speaking directives allow you to define data and entry points for multi-runtime software in any execution order without repeating code using one language.<\/p>\n <p>Why that&#8217;s useful comes down to convenience. \u00a0It&#8217;s an extremely convenient way to write complicated\u00a0software for the web such as <em><strong>web games.<\/strong><\/em><\/p>\n <p><code>\/\/ in one file...<br \/>\n _.server()<br \/>\n _.remote(\"do_something\",function(arg1,arg2){<br \/>\n trace(\"a client called this function with arg1 =\" + arg1 + \" and arg2 = \" + arg2 )<br \/>\n })<\/p>\n <p>_.client()<br \/>\n _.ready(function(){<br \/>\n send(\"do_something\", 0, 0 )<br \/>\n })<\/code><\/p>\n <p>This doesn&#8217;t give it justice at all. \u00a0 Like I say, some tutorials will clear up how powerful this concept really is in the near future.<\/p>\n <h3>Super Flow Prototype 3<\/h3>\n <p>Althought I&#8217;m developing a complete <em><strong>SDK<\/strong> <\/em>(software development kit), \u00a0complete a powerful <em><strong>IDE<\/strong> <\/em>(integrated development environment), \u00a0I&#8217;ll be using <em><strong>Super Flow Prototype 3<\/strong><\/em> this Ludum Dare.<\/p>\n <p>This was the first solid prototype that really took advantage of directives. \u00a0It resembles very closely the final design of the API.<\/p>\n <p><a href=\"https:\/\/www.dropbox.com\/s\/e0qfsaxgepssy2h\/super_flow_prototype3_by_dan_player_mckinnon_with_net_tank_aug_2015_08_15.zip?dl=0\">Click here<\/a>\u00a0(25.2 kb ZIP) &#8211;\u00a0download Super Flow Prototype 3 w\/ Net Tank Source Code.<\/p>\n <p>Requires NodeJS,<\/p>\n <p>type &#8220;node sf.js server&#8221; to run.<\/p>\n <p>Browse to http:\/\/localhost:8080 to play the game.<\/p>\n <h3>Docs<\/h3>\n <p>Sorry, there are no docs yet.<\/p>\n <p>&nbsp;<\/p>","time":"August 15th, 2015 5:49 pm","title":"I\u2019m In \u2013 Since 2009 \u2013 New API"}