{"id":498,"date":"2011-07-14T16:57:26","date_gmt":"2011-07-14T15:57:26","guid":{"rendered":"http:\/\/shadowcovenant.com\/blog\/2011\/07\/14\/mobile-madness\/"},"modified":"2011-07-14T17:08:04","modified_gmt":"2011-07-14T16:08:04","slug":"mobile-madness","status":"publish","type":"post","link":"http:\/\/shadowcovenant.com\/blog\/2011\/07\/14\/mobile-madness\/","title":{"rendered":"Mobile madness!"},"content":{"rendered":"<p align=\"justify\">Hey all!<\/p>\n<p align=\"justify\">I\u2019ve been a bit busy lately, finishing up a project for work that kind of consumed all my life, except World of Warcraft (yay, killed Shannox, got a Eternal Ember!!).<\/p>\n<p align=\"justify\">Anyway, I\u2019ve been working on the port of Spellbook onto the <a href=\"http:\/\/www.madewithmarmalade.com\/\" target=\"_blank\">Marmalade<\/a> framework (so I can use it in future mobile games). Also been talking a lot about mobile games and some of the ex-members of Spellcaster Studios decided to do some experimental games on those platforms..<\/p>\n<p align=\"justify\">I\u2019ve never been much of a \u201cmobile gamer\u201d, most of my knowledge of games on mobile platforms being from mainstream websites (so I only know the more famous titles, and most of those seem to resemble Flash games anyway), so I decided to check out what\u2019s out what\u2019s there.<\/p>\n<p align=\"justify\">I\u2019ve looked around and I found <a href=\"http:\/\/toucharcade.com\/\" target=\"_blank\">Touch Arcade<\/a>, which is a site dedicated to iPhone games\u2026 although my target will probably be iOS, Android and Windows7 phones, it\u2019s still a good place to start, and I found some stuff there that was quite interesting, specially from a technical standpoint:<\/p>\n<div style=\"padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px\" id=\"scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:424f6a14-dd95-44f9-92f1-65835cae44aa\" class=\"wlWriterEditableSmartContent\">\n<div><object width=\"480\" height=\"390\"><param name=\"movie\" value=\"http:\/\/www.youtube.com\/v\/08GJ0pz_ims?hl=en&amp;hd=1\"><\/param><embed src=\"http:\/\/www.youtube.com\/v\/08GJ0pz_ims?hl=en&amp;hd=1\" type=\"application\/x-shockwave-flash\" width=\"480\" height=\"390\"><\/embed><\/object><\/div>\n<\/div>\n<p align=\"justify\">&#160;<\/p>\n<div style=\"padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px\" id=\"scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:ab0c095d-54c6-44f6-89a8-b3f8eeeee99b\" class=\"wlWriterEditableSmartContent\">\n<div><object width=\"480\" height=\"390\"><param name=\"movie\" value=\"http:\/\/www.youtube.com\/v\/TXNsrRvS3bE?hl=en&amp;hd=1\"><\/param><embed src=\"http:\/\/www.youtube.com\/v\/TXNsrRvS3bE?hl=en&amp;hd=1\" type=\"application\/x-shockwave-flash\" width=\"480\" height=\"390\"><\/embed><\/object><\/div>\n<\/div>\n<div style=\"padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px\" id=\"scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:4137794b-f91c-4286-830e-f2d01d1d5f26\" class=\"wlWriterEditableSmartContent\">\n<div><object width=\"640\" height=\"390\"><param name=\"movie\" value=\"http:\/\/www.youtube.com\/v\/pAUseUg7qd4?hl=en&amp;hd=1\"><\/param><embed src=\"http:\/\/www.youtube.com\/v\/pAUseUg7qd4?hl=en&amp;hd=1\" type=\"application\/x-shockwave-flash\" width=\"640\" height=\"390\"><\/embed><\/object><\/div>\n<\/div>\n<p>&#160;<\/p>\n<p align=\"justify\">So, not all mobile games must look like Flash games, and some of them have quite interesting graphics, from a technical standpoint\u2026<\/p>\n<p align=\"justify\">For the record, I knew there were games on the iPhone that didn\u2019t look like Flash games, but most of them actually do\u2026 it\u2019s refreshing to see something that escapes from that normalized graphical look.<\/p>\n<p align=\"justify\">Anyway, in the next weeks I hope to be able to find the time to port Spellbook onto Marmalade and get some simple games up and running!<\/p>\n<p align=\"justify\">This is the current state of the port:<\/p>\n<p align=\"justify\"><a href=\"http:\/\/shadowcovenant.com\/blog\/wp-content\/uploads\/2011\/07\/IMG_20110714_1652191.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px\" title=\"IMG_20110714_165219\" border=\"0\" alt=\"IMG_20110714_165219\" src=\"http:\/\/shadowcovenant.com\/blog\/wp-content\/uploads\/2011\/07\/IMG_20110714_165219_thumb1.jpg\" width=\"146\" height=\"244\" \/><\/a><\/p>\n<p align=\"justify\">This doesn\u2019t look impressive (specially with such a blurry photo), but it shows the blitting system working (without textures yet, need to add a DDS loader), with a fixed function pipeline shader that gets translated from my own engine structures (similar to DirectX) to OpenGL ES. This shader is read through my resource manager, from a file in my own format. The blit system used my mesh system, so that\u2019s a double victory. Projections (in this case orthogonal) are also handled by my system.<\/p>\n<p align=\"justify\">This wouldn\u2019t be a big achievement for anybody but me, since I\u2019ve never worked in any depth with OpenGL, let alone OpenGL ES, and my engine is all DirectX based\u2026<\/p>\n<div id=\"tweetbutton498\" class=\"tw_button\" style=\"\"><a href=\"http:\/\/twitter.com\/share?url=http%3A%2F%2Fshadowcovenant.com%2Fblog%2F2011%2F07%2F14%2Fmobile-madness%2F&amp;text=Mobile%20madness%21&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fshadowcovenant.com%2Fblog%2F2011%2F07%2F14%2Fmobile-madness%2F\" class=\"twitter-share-button\"  style=\"width:55px;height:22px;background:transparent url('http:\/\/shadowcovenant.com\/blog\/wp-content\/plugins\/wp-tweet-button\/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;\">Tweet<\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>Hey all! I\u2019ve been a bit busy lately, finishing up a project for work that kind of consumed all my life, except World of Warcraft (yay, killed Shannox, got a Eternal Ember!!). Anyway, I\u2019ve been working on the port of Spellbook onto the Marmalade framework (so I can use it in future mobile games). Also [&hellip;]<\/p>\n<div id=\"tweetbutton498\" class=\"tw_button\" style=\"\"><a href=\"http:\/\/twitter.com\/share?url=http%3A%2F%2Fshadowcovenant.com%2Fblog%2F2011%2F07%2F14%2Fmobile-madness%2F&amp;text=Mobile%20madness%21&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fshadowcovenant.com%2Fblog%2F2011%2F07%2F14%2Fmobile-madness%2F\" class=\"twitter-share-button\"  style=\"width:55px;height:22px;background:transparent url('http:\/\/shadowcovenant.com\/blog\/wp-content\/plugins\/wp-tweet-button\/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;\">Tweet<\/a><\/div>","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-498","post","type-post","status-publish","format-standard","hentry","category-games"],"_links":{"self":[{"href":"http:\/\/shadowcovenant.com\/blog\/wp-json\/wp\/v2\/posts\/498","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/shadowcovenant.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/shadowcovenant.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/shadowcovenant.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/shadowcovenant.com\/blog\/wp-json\/wp\/v2\/comments?post=498"}],"version-history":[{"count":2,"href":"http:\/\/shadowcovenant.com\/blog\/wp-json\/wp\/v2\/posts\/498\/revisions"}],"predecessor-version":[{"id":502,"href":"http:\/\/shadowcovenant.com\/blog\/wp-json\/wp\/v2\/posts\/498\/revisions\/502"}],"wp:attachment":[{"href":"http:\/\/shadowcovenant.com\/blog\/wp-json\/wp\/v2\/media?parent=498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/shadowcovenant.com\/blog\/wp-json\/wp\/v2\/categories?post=498"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/shadowcovenant.com\/blog\/wp-json\/wp\/v2\/tags?post=498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}