{"id":1170,"date":"2011-03-09T10:46:37","date_gmt":"2011-03-09T01:46:37","guid":{"rendered":"http:\/\/www.codedojo.com\/?p=1170"},"modified":"2011-04-05T13:03:17","modified_gmt":"2011-04-05T04:03:17","slug":"dev-diary-networking-and-the-fling","status":"publish","type":"post","link":"https:\/\/www.codedojo.com\/?p=1170","title":{"rendered":"Dev Diary: Networking and the Fling"},"content":{"rendered":"<h3>Tank game: Networking is go!<\/h3>\n<p><a href=\"http:\/\/www.codedojo.com\/wp-content\/uploads\/2011\/03\/st_netplay4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1171\" title=\"st_netplay4\" src=\"https:\/\/www.codedojo.com\/wp-content\/uploads\/2011\/03\/st_netplay4-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.codedojo.com\/wp-content\/uploads\/2011\/03\/st_netplay4-300x225.jpg 300w, https:\/\/www.codedojo.com\/wp-content\/uploads\/2011\/03\/st_netplay4.jpg 1000w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Networking test of my new tank game, here is what that jumbled mess in the picture is:<\/p>\n<ul>\n<li>iPad, iPhone, and two Windows clients are playing a four player game<\/li>\n<li>Game server\/matchmaker running on linux-based webserver running in the US<\/li>\n<li>The game server lets me telnet to it directly to monitor it and give it commands<\/li>\n<li>Using client prediction code, everybody moves silky smooth (it helps that tanks aren&#8217;t really able to suddenly reverse course like say, Quake)<\/li>\n<li>Using <a href=\"http:\/\/enet.bespin.org\">enet<\/a> with a mix of guaranteed\/non-guaranteed packets for networking, it&#8217;s rock solid<\/li>\n<\/ul>\n<p>I&#8217;m glad I&#8217;m finally getting into the networking side of things, haven&#8217;t really done anything real-time like this before and it&#8217;s been a blast.\u00a0 Definitely something I will be focusing on in future titles as well.<\/p>\n<h3>RTsoft makes things like funeral parlor simulations,\u00a0 how can a mundane tank game fit in?<\/h3>\n<p>The worrying thing is I really want this game to be unique and interesting and not &#8220;another dang tank game&#8221;.\u00a0\u00a0 This is a game where making a character pregnant or abusive (my usual way?)\u00a0 just isn&#8217;t going to work so I&#8217;m going to have to dig deeper and do actual good game design I guess.\u00a0 Got some ideas&#8230;<\/p>\n<h3>Using the Fling with Dink<\/h3>\n<p>I was sent a couple of <a href=\"http:\/\/tenonedesign.com\/fling.php\">Flings<\/a> &#8211; a sort of gamepad for the iPad and by jove, it really works!\u00a0 With no tweaking at all Dink HD controls absolutely great with it.\u00a0 Only problem is selecting dialog and items is a bit sketchy, so I will be creating a &#8220;Fling-friendly&#8221; update soon.\u00a0 It&#8217;s just that good.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tank game: Networking is go! Networking test of my new tank game, here is what that jumbled mess in the picture is: iPad, iPhone, and two Windows clients are playing a four player game Game server\/matchmaker running on linux-based webserver running in the US The game server lets me telnet to it directly to monitor [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,12,16],"tags":[],"class_list":["post-1170","post","type-post","status-publish","format-standard","hentry","category-development","category-dink","category-proton"],"_links":{"self":[{"href":"https:\/\/www.codedojo.com\/index.php?rest_route=\/wp\/v2\/posts\/1170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codedojo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codedojo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codedojo.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codedojo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1170"}],"version-history":[{"count":14,"href":"https:\/\/www.codedojo.com\/index.php?rest_route=\/wp\/v2\/posts\/1170\/revisions"}],"predecessor-version":[{"id":1215,"href":"https:\/\/www.codedojo.com\/index.php?rest_route=\/wp\/v2\/posts\/1170\/revisions\/1215"}],"wp:attachment":[{"href":"https:\/\/www.codedojo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codedojo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codedojo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}