
{"id":256,"date":"2008-09-10T15:10:58","date_gmt":"2008-09-10T13:10:58","guid":{"rendered":"http:\/\/matosimi.websupport.sk\/atari\/?p=256"},"modified":"2013-09-17T10:51:41","modified_gmt":"2013-09-17T08:51:41","slug":"fireball-1k-obkec","status":"publish","type":"post","link":"http:\/\/matosimi.websupport.sk\/atari\/2008\/09\/fireball-1k-obkec\/","title":{"rendered":"[lang_en]About [\/lang_en]Fireball 1k [lang_sk]obkec[\/lang_sk]"},"content":{"rendered":"<p>[lang_sk]<a href=\"http:\/\/minigamecomp.org.uk\/\">V\u00fdsledky<\/a> s\u00fa\u0165a\u017ee <a href=\"http:\/\/minigamecomp.org.uk\/\">MiniGame Compo 2008<\/a> boli zverejnen\u00e9 8.septembra 2008. Moja gamesa <a href=\"http:\/\/matosimi.websupport.sk\/atari\/2008\/07\/fireball-1k\/\">Fireball 1k<\/a> sa umiestnila na piatej prie\u010dke. [\/lang_sk][lang_en]<a href=\"http:\/\/minigamecomp.org.uk\/\">Results<\/a> of <a href=\"http:\/\/minigamecomp.org.uk\/\">MiniGame Compo 2008<\/a> were released on september 8th 2008. My game <a href=\"http:\/\/matosimi.websupport.sk\/atari\/2008\/07\/fireball-1k\/\">Fireball 1k<\/a> took fifth place. [\/lang_en]<!--more--><\/p>\n<p>[lang_sk]Mus\u00edm poveda\u0165, \u017ee tento ro\u010dn\u00edk s\u00fa\u0165a\u017ee nebol pre m\u0148a tak\u00fd \u00faspe\u0161n\u00fd ako minul\u00fd, kde som z\u00edskal druh\u00e9 miesto za <a href=\"http:\/\/matosimi.websupport.sk\/atari\/2007\/07\/belljumper-1k\/\">Belljumper 1k<\/a>. Napriek tomu naprogramova\u0165 <a href=\"http:\/\/matosimi.websupport.sk\/atari\/2008\/07\/fireball-1k\/\">Fireball<\/a> bolo o dos\u0165 zlo\u017eitej\u0161ie ako <a href=\"http:\/\/matosimi.websupport.sk\/atari\/2007\/07\/belljumper-1k\/\">Belljumper<\/a>, preto\u017ee nebolo mo\u017en\u00e9 vyu\u017ei\u0165 na vykreslovanie kociek PMG. Kocky boli SW sprajty a zo za\u010diatku bol dos\u0165 vidite\u013en\u00fd probl\u00e9m s ich blikan\u00edm. Ke\u010f\u017ee nebolo mo\u017en\u00e9 pou\u017ei\u0165 doublebuffering, musel som vymyslie\u0165 alternat\u00edvny sp\u00f4sob priameho vykreslovania do videoRam, kde by blikanie nebolo vidie\u0165.<\/p>\n<p>Spolu s vyu\u017eit\u00edm SW sprajtov vznik\u00e1 probl\u00e9m detekcie kol\u00edzi\u00ed, ktor\u00e9ho rie\u0161enie nie je \u00faplne trivi\u00e1lna vec. T\u00fdm p\u00e1dom sa k\u00f3d hry zna\u010dne rozr\u00e1stol a na nejak\u00e9 \u0161peci\u00e1lne fi\u010d\u00farky u\u017e akosi neostalo miesto v 1024 bytovom intervale.<\/p>\n<p>P\u00f4vodne mal by\u0165 hern\u00fd koncept dos\u0165 odli\u0161n\u00fd. Pl\u00e1n bol tak\u00fd, \u017ee v hre nebude energia ale \u017eivoty. \u017divot by sa minul po zasiahnut\u00ed hr\u00e1\u010da kockou. \u010ealej som chcel implementova\u0165 to, \u017ee po zostrelen\u00ed kocky by z nej vypadol objekt (vi\u010f falling diamonds vo <a href=\"http:\/\/www.youtube.com\/watch?v=KZz-fQUJTKU\">Fireball Developer&#8217;s Log<\/a>), ktor\u00fd by dopadol na \u00farove\u0148 hr\u00e1\u010da a ten by ho musel vzia\u0165 aby z\u00edskal \u010fal\u0161ie sk\u00f3re. Samozrejme, \u017ee objekty, ktor\u00e9 by ostali &#8220;na zemi&#8221; pr\u00edli\u0161 dlho by zmizli. Z\u00e1rove\u0148 v kocke mohla by\u0165 bomba, ktor\u00e1 by po zobrat\u00ed hr\u00e1\u010dom sp\u00f4sobila to, \u017ee by vybuchli v\u0161etky kocky, ktor\u00e9 by boli pr\u00e1ve na obrazovke. Hr\u00e1\u010d mal by\u0165 p\u00f4vodne mal\u00fd drak, ktor\u00fd by vystre\u013eoval ohniv\u00e9 gule a triafal zamrznut\u00e9 kocky.<\/p>\n<p>Ako mo\u017eno vidie\u0165, ve\u013ea vymyslen\u00fdch vec\u00ed nebolo mo\u017en\u00e9 zrealizova\u0165 do 1024 bytovej bin\u00e1rky. V z\u00e1vere tvorby hry som aj tak nieko\u013ekokr\u00e1t celkom divoko optimalizoval k\u00f3d, \u010di u\u017e be\u017en\u00fdmi postupmi alebo vyu\u017eit\u00edm nezdokumentovan\u00fdch in\u0161trukci\u00ed DCM (DEC+CMP), preto\u017ee som potreboval ka\u017ed\u00fd u\u0161etren\u00fd byte.<\/p>\n<p>Napriek v\u0161etk\u00fdm z\u00e1drhelom to bola z\u00e1bavka :-).<br \/>\n[\/lang_sk][lang_en]I have to say that this year of competition was not so successful as previous, where I finished on second position with <a href=\"http:\/\/matosimi.websupport.sk\/atari\/2007\/07\/belljumper-1k\/\">Belljumper 1k<\/a>. Nevertheless it was quite harder to develop <a href=\"http:\/\/matosimi.websupport.sk\/atari\/2008\/07\/fireball-1k\/\">Fireball<\/a> than <a href=\"http:\/\/matosimi.websupport.sk\/atari\/2007\/07\/belljumper-1k\/\">Belljumper<\/a>, because bricks could not be created using PMG. Bricks were displayed as SW sprite objects which were flickering so much in very first versions of game. As it was impossible to use doublebuffering, I had to discover alternate method for displaying bricks directly to videoRam, to prevent the flicker.<\/p>\n<p>SW prites brought another problem: collision detection. Solving this task is not so trivial. All these SW sprite stuff reflected in code length, not many space remained for some special features in 1024 byte boundary.<\/p>\n<p>My original game concept was quite different. There should be lives instead of energy. Live would be removed after brick hits player. Next I wanted to implement objects which would fall from destroyed bricks (see falling diamonds in <a href=\"http:\/\/www.youtube.com\/watch?v=KZz-fQUJTKU\">Fireball Developer&#8217;s Log<\/a>). Falling object would remain on the ground for couple of seconds so player could get some extra score for taking it. Brick would also contain bomb which would destroy all bricks on screen after taking it. Player should be displayed as little dragon which could shoot fireballs to melt frozen bricks.<\/p>\n<p>As you can see, many thoughts could not be implemented into 1024 byte binary file. I had to optimize code several times, because every single byte was needed. I also used undocumented instruction DCM (DEC+CMP) to reduce size of final binary file.<\/p>\n<p>It was fun, despite all the trouble :-).<\/p>\n<p>[\/lang_en]<br \/>\n[lang_sk]S\u00favisiace linky:[\/lang_sk][lang_en]Other related links:[\/lang_en]<\/p>\n<ul>\n<li><a href=\"http:\/\/www.atariage.com\/forums\/index.php?showtopic=131370\">http:\/\/www.atariage.com\/forums\/index.php?showtopic=131370<\/a><\/li>\n<li><a href=\"http:\/\/www.atariage.com\/forums\/index.php?showtopic=128261\">http:\/\/www.atariage.com\/forums\/index.php?showtopic=128261<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>[lang_sk]V\u00fdsledky s\u00fa\u0165a\u017ee MiniGame Compo 2008 boli zverejnen\u00e9 8.septembra 2008. Moja gamesa Fireball 1k sa umiestnila na piatej prie\u010dke. [\/lang_sk][lang_en]Results of [&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],"tags":[11,13,100,40,41,39],"class_list":["post-256","post","type-post","status-publish","format-standard","hentry","category-atari","tag-1k","tag-13","tag-atari","tag-compo","tag-fireball","tag-minigame"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[lang_en]About [\/lang_en]Fireball 1k [lang_sk]obkec[\/lang_sk] - MatoSimi<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/matosimi.websupport.sk\/atari\/2008\/09\/fireball-1k-obkec\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[lang_en]About [\/lang_en]Fireball 1k [lang_sk]obkec[\/lang_sk] - MatoSimi\" \/>\n<meta property=\"og:description\" content=\"[lang_sk]V\u00fdsledky s\u00fa\u0165a\u017ee MiniGame Compo 2008 boli zverejnen\u00e9 8.septembra 2008. Moja gamesa Fireball 1k sa umiestnila na piatej prie\u010dke. [\/lang_sk][lang_en]Results of [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/matosimi.websupport.sk\/atari\/2008\/09\/fireball-1k-obkec\/\" \/>\n<meta property=\"og:site_name\" content=\"MatoSimi\" \/>\n<meta property=\"article:published_time\" content=\"2008-09-10T13:10:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-09-17T08:51:41+00:00\" \/>\n<meta name=\"author\" content=\"MatoSimi\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"MatoSimi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/2008\\\/09\\\/fireball-1k-obkec\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/2008\\\/09\\\/fireball-1k-obkec\\\/\"},\"author\":{\"name\":\"MatoSimi\",\"@id\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/#\\\/schema\\\/person\\\/2ff9bfa973a868c31914b5b1b659b697\"},\"headline\":\"[lang_en]About [\\\/lang_en]Fireball 1k [lang_sk]obkec[\\\/lang_sk]\",\"datePublished\":\"2008-09-10T13:10:58+00:00\",\"dateModified\":\"2013-09-17T08:51:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/2008\\\/09\\\/fireball-1k-obkec\\\/\"},\"wordCount\":697,\"commentCount\":0,\"keywords\":[\"1k\",\"2008\",\"Atari\",\"compo\",\"fireball\",\"minigame\"],\"articleSection\":[\"Atari\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/2008\\\/09\\\/fireball-1k-obkec\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/2008\\\/09\\\/fireball-1k-obkec\\\/\",\"url\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/2008\\\/09\\\/fireball-1k-obkec\\\/\",\"name\":\"[lang_en]About [\\\/lang_en]Fireball 1k [lang_sk]obkec[\\\/lang_sk] - MatoSimi\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/#website\"},\"datePublished\":\"2008-09-10T13:10:58+00:00\",\"dateModified\":\"2013-09-17T08:51:41+00:00\",\"author\":{\"@id\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/#\\\/schema\\\/person\\\/2ff9bfa973a868c31914b5b1b659b697\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/2008\\\/09\\\/fireball-1k-obkec\\\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/#website\",\"url\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/\",\"name\":\"MatoSimi\",\"description\":\"8-bit Atari and other stuff\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/#\\\/schema\\\/person\\\/2ff9bfa973a868c31914b5b1b659b697\",\"name\":\"MatoSimi\",\"url\":\"http:\\\/\\\/matosimi.websupport.sk\\\/atari\\\/author\\\/matosimi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[lang_en]About [\/lang_en]Fireball 1k [lang_sk]obkec[\/lang_sk] - MatoSimi","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":"http:\/\/matosimi.websupport.sk\/atari\/2008\/09\/fireball-1k-obkec\/","og_locale":"en_US","og_type":"article","og_title":"[lang_en]About [\/lang_en]Fireball 1k [lang_sk]obkec[\/lang_sk] - MatoSimi","og_description":"[lang_sk]V\u00fdsledky s\u00fa\u0165a\u017ee MiniGame Compo 2008 boli zverejnen\u00e9 8.septembra 2008. Moja gamesa Fireball 1k sa umiestnila na piatej prie\u010dke. [\/lang_sk][lang_en]Results of [&hellip;]","og_url":"http:\/\/matosimi.websupport.sk\/atari\/2008\/09\/fireball-1k-obkec\/","og_site_name":"MatoSimi","article_published_time":"2008-09-10T13:10:58+00:00","article_modified_time":"2013-09-17T08:51:41+00:00","author":"MatoSimi","twitter_misc":{"Written by":"MatoSimi","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/matosimi.websupport.sk\/atari\/2008\/09\/fireball-1k-obkec\/#article","isPartOf":{"@id":"http:\/\/matosimi.websupport.sk\/atari\/2008\/09\/fireball-1k-obkec\/"},"author":{"name":"MatoSimi","@id":"http:\/\/matosimi.websupport.sk\/atari\/#\/schema\/person\/2ff9bfa973a868c31914b5b1b659b697"},"headline":"[lang_en]About [\/lang_en]Fireball 1k [lang_sk]obkec[\/lang_sk]","datePublished":"2008-09-10T13:10:58+00:00","dateModified":"2013-09-17T08:51:41+00:00","mainEntityOfPage":{"@id":"http:\/\/matosimi.websupport.sk\/atari\/2008\/09\/fireball-1k-obkec\/"},"wordCount":697,"commentCount":0,"keywords":["1k","2008","Atari","compo","fireball","minigame"],"articleSection":["Atari"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/matosimi.websupport.sk\/atari\/2008\/09\/fireball-1k-obkec\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/matosimi.websupport.sk\/atari\/2008\/09\/fireball-1k-obkec\/","url":"http:\/\/matosimi.websupport.sk\/atari\/2008\/09\/fireball-1k-obkec\/","name":"[lang_en]About [\/lang_en]Fireball 1k [lang_sk]obkec[\/lang_sk] - MatoSimi","isPartOf":{"@id":"http:\/\/matosimi.websupport.sk\/atari\/#website"},"datePublished":"2008-09-10T13:10:58+00:00","dateModified":"2013-09-17T08:51:41+00:00","author":{"@id":"http:\/\/matosimi.websupport.sk\/atari\/#\/schema\/person\/2ff9bfa973a868c31914b5b1b659b697"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/matosimi.websupport.sk\/atari\/2008\/09\/fireball-1k-obkec\/"]}]},{"@type":"WebSite","@id":"http:\/\/matosimi.websupport.sk\/atari\/#website","url":"http:\/\/matosimi.websupport.sk\/atari\/","name":"MatoSimi","description":"8-bit Atari and other stuff","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/matosimi.websupport.sk\/atari\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"http:\/\/matosimi.websupport.sk\/atari\/#\/schema\/person\/2ff9bfa973a868c31914b5b1b659b697","name":"MatoSimi","url":"http:\/\/matosimi.websupport.sk\/atari\/author\/matosimi\/"}]}},"_links":{"self":[{"href":"http:\/\/matosimi.websupport.sk\/atari\/wp-json\/wp\/v2\/posts\/256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/matosimi.websupport.sk\/atari\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/matosimi.websupport.sk\/atari\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/matosimi.websupport.sk\/atari\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/matosimi.websupport.sk\/atari\/wp-json\/wp\/v2\/comments?post=256"}],"version-history":[{"count":12,"href":"http:\/\/matosimi.websupport.sk\/atari\/wp-json\/wp\/v2\/posts\/256\/revisions"}],"predecessor-version":[{"id":914,"href":"http:\/\/matosimi.websupport.sk\/atari\/wp-json\/wp\/v2\/posts\/256\/revisions\/914"}],"wp:attachment":[{"href":"http:\/\/matosimi.websupport.sk\/atari\/wp-json\/wp\/v2\/media?parent=256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/matosimi.websupport.sk\/atari\/wp-json\/wp\/v2\/categories?post=256"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/matosimi.websupport.sk\/atari\/wp-json\/wp\/v2\/tags?post=256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}