{"id":605,"date":"2008-09-15T23:27:49","date_gmt":"2008-09-16T06:27:49","guid":{"rendered":"http:\/\/multimedia.cx\/eggs\/flash-traffic-coding-puzzle\/"},"modified":"2008-09-16T10:22:42","modified_gmt":"2008-09-16T17:22:42","slug":"flash-traffic-coding-puzzle","status":"publish","type":"post","link":"https:\/\/multimedia.cx\/eggs\/flash-traffic-coding-puzzle\/","title":{"rendered":"Flash Traffic Coding Puzzle"},"content":{"rendered":"<p>I am studying the data files for an old interactive movie named <a href=\"http:\/\/www.mobygames.com\/game\/dos\/flash-traffic-city-of-angels\">Flash Traffic: City of Angels<\/a>. It is the purest I-movie I have encountered to date (and I&#8217;ve been exposed to more than the ordinary gamer due to my unhealthy interest in multimedia technology): It plays a movie and then presents the user with 3 clickable options. There aren&#8217;t even any extra side puzzles.<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.mobygames.com\/game\/dos\/flash-traffic-city-of-angels\"><img decoding=\"async\" src=\"\/eggs\/images\/flash-traffic-screenshot.jpg\" alt=\"Flash Traffic: City of Angels -- screenshot\" border=\"0\" \/><\/a><br \/>\n<\/center><\/p>\n<p>This game seems to consist of <a href=\"http:\/\/wiki.multimedia.cx\/index.php?title=BFI\">BFI multimedia files<\/a> along with CVN files (ConVersatioN?). We know the BFI format. I am trying to sort out the CVN format. It seems straightforward at first with text strings paired with numbers that lead to BFI files with the same number. However, there is something unique about the text coding format. Observe:<\/p>\n<pre>\r\n   20 6C 61 62  20 64 6F 77  6E 74 6F 77  6E 20 61 74   lab downtown at\r\n   20 6D 69 64  41 91 09 74  2C 20 74 68  65 79 20 67   midA..t, they g\r\n   41 56 13 6E  74 6F 20 61  20 73 65 72  69 6F 75 73  AV.nto a serious\r\n<\/pre>\n<p>The start of the second line should have &#8220;midnight&#8221;. Somehow, the 4 letters n, i, g, and h get replaced with only 3 bytes 0x41, 0x91, and 0x09. Similarly, on the third line, the characters o, t, space, and i are substituted by 3 apparently unrelated bytes. One theory I have is that perhaps this forms an index into a dictionary in the header of the CVN file, except that I can&#8217;t find any of the characters in question at the start of the file either. And that would be a fairly useless compression algorithm. These substitutions often begin with &#8216;A&#8217;.<\/p>\n<p>If you are interested in studying the format and solving the puzzle (and I know you are), here&#8217;s a sample file: <a href=\"\/eggs\/images\/4001.CVN\">4001.CVN<\/a>, which is where the snippet above comes from.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I am studying the data files for an old interactive movie named Flash Traffic: City of Angels. It is the purest I-movie I have encountered to date (and I&#8217;ve been exposed to more than the ordinary gamer due to my unhealthy interest in multimedia technology): It plays a movie and then presents the user with [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-605","post","type-post","status-publish","format-standard","hentry","category-game-hacking"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/comments?post=605"}],"version-history":[{"count":0,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/605\/revisions"}],"wp:attachment":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/media?parent=605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/categories?post=605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/tags?post=605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}