<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;D0EERHs_fip7ImA9WhRVFEs.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888</id><updated>2012-01-13T14:40:05.546Z</updated><category term="Random" /><category term="Game Design Fragments" /><category term="Stuff I did at CandyCane" /><category term="Life" /><category term="Released Games" /><category term="Dark Horse Digital" /><category term="Fling" /><category term="What is WorldBase" /><category term="WorldBase TODO List" /><category term="Game Development Experiments" /><category term="Ramblings" /><category term="CrystalLib" /><category term="UDK" /><category term="WorldBase Design Document" /><category term="WorldBase" /><category term="Comics" /><category term="Android" /><category term="Stuff" /><category term="CandyCane" /><category term="Behance" /><title>Little Coding Fox</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://littlecodingfox.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>63</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/LittleCodingFox" /><feedburner:info uri="littlecodingfox" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;AkECRnw7eCp7ImA9WhRWGUs.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-5413280623267690562</id><published>2011-12-19T20:44:00.000Z</published><updated>2012-01-07T20:37:47.200Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-07T20:37:47.200Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Game Development Experiments" /><title>Random stuff #1214141412</title><content type="html">Something I implemented a couple of days ago while my net was down, based on some readings from Game Engine Design by Jason Gregory (&lt;a href="http://www.gameenginebook.com/"&gt;http://www.gameenginebook.com&lt;/a&gt;):&amp;nbsp; &lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://i40.tinypic.com/35dc8p4.png" target="_blank"&gt;&lt;img border="0" height="106" src="http://i40.tinypic.com/35dc8p4.png" width="200" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Basically what I did there was add three differently colored lines pointing in the direction of each Coordinate Axis (X, Y, and Z). This is the basis for Debug Drawing, which is an amalgamation of techniques that allow a developer to verify why something is behaving differently than it should.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
For instance, let's say that your character is shooting oddly. You could draw a line from its position towards the direction it is pointing at to verify what exactly is happening instead of just reading some confusing debug values or trying to figure out why your code is not working properly.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
This is only a simple example, of course, but it is nonetheless very useful.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-5413280623267690562?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/u0ymt6tedvfaqgoeQvZip1wRQYk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u0ymt6tedvfaqgoeQvZip1wRQYk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/u0ymt6tedvfaqgoeQvZip1wRQYk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u0ymt6tedvfaqgoeQvZip1wRQYk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/ew0BzGRjVMY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/5413280623267690562/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/12/random-stuff-1214141412.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/5413280623267690562?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/5413280623267690562?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/ew0BzGRjVMY/random-stuff-1214141412.html" title="Random stuff #1214141412" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i40.tinypic.com/35dc8p4_th.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/12/random-stuff-1214141412.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEFRnwyeip7ImA9WhRWGUs.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-4184121609696641936</id><published>2011-11-29T20:45:00.001Z</published><updated>2012-01-07T20:36:57.292Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-07T20:36:57.292Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Released Games" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="Fling" /><category scheme="http://www.blogger.com/atom/ns#" term="CandyCane" /><title>Fling for Android released!</title><content type="html">That's right, after a little over 9 months of work, Fling for Android has been released at last.&lt;br /&gt;
&lt;br /&gt;
Right now you can't find it on the market without a direct link, since it was released just a few minutes ago, so you can find it at &lt;a href="http://bit.ly/sd8bpO"&gt;http://bit.ly/sd8bpO&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Here's a youtube video on how the game is played:&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/HfteaRTGyVw" width="400"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-4184121609696641936?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KCIWv-fO6OzFPf57JyleCplEp1s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KCIWv-fO6OzFPf57JyleCplEp1s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KCIWv-fO6OzFPf57JyleCplEp1s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KCIWv-fO6OzFPf57JyleCplEp1s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/H2h9JSH00eg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/4184121609696641936/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/11/fling-for-android-released.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/4184121609696641936?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/4184121609696641936?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/H2h9JSH00eg/fling-for-android-released.html" title="Fling for Android released!" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/HfteaRTGyVw/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/11/fling-for-android-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8AQnw7cCp7ImA9WhdUEU4.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-9148206429240641458</id><published>2011-09-27T15:46:00.002+01:00</published><updated>2011-09-27T15:47:23.208+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-27T15:47:23.208+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Game Design Fragments" /><title>Game Design Fragments: Layered stats</title><content type="html">&lt;br /&gt;
DISCLAIMER: I'm not the best game designer out there, however I often 
come up with interesting ideas. I don't mind if you take an idea of mine
 and use it in a game of yours, however I'd love to know of any games 
that use any of my ideas. A credit line like  idea based on the thoughts
 of Nuno Silva (Little Coding Fox)" would be nice too, although it is 
not required. I hope you find this information helpful.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Layered stats&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
We could have layers of stats, instead 
of the usual RPG stats. For instance, having a high confidence stat 
should increase both agility, precision, and speachcraft. So you'd have 
on the top layer, "Confidence", and on a lower layer "agility", 
"precision", "speechcraft".&lt;br /&gt;
&lt;br /&gt;
Increasing a stat would automatically increase the upper stats related 
to it (so increasing either agility, precision, or speechcraft would 
increase Confidence too), and increasing a upper stat would increase all
 lower stats. (If you're confused by what I said, upper/lower means 
higher layer / lower layer)&lt;br /&gt;
&lt;br /&gt;
This is interesting because increasing a lower stat would increase the 
upper stat, but would not increase all other stats of the same level. So
 the most expensive equipments for role playing games with this kind of 
stats would be those that increase the top-most layer, since it would 
increase all other stats.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-9148206429240641458?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NnPKPRDopsFgRheluy2KdZDSaiQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NnPKPRDopsFgRheluy2KdZDSaiQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NnPKPRDopsFgRheluy2KdZDSaiQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NnPKPRDopsFgRheluy2KdZDSaiQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/1435wxGzkG8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/9148206429240641458/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/09/game-design-fragments-layered-stats.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/9148206429240641458?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/9148206429240641458?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/1435wxGzkG8/game-design-fragments-layered-stats.html" title="Game Design Fragments: Layered stats" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/09/game-design-fragments-layered-stats.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08HQXo-eyp7ImA9WhRRFEU.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-2107607167559090360</id><published>2011-09-02T13:01:00.000+01:00</published><updated>2011-11-28T13:10:30.453Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-28T13:10:30.453Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Stuff I did at CandyCane" /><title>Stuff I've done at CandyCane LLC</title><content type="html">&lt;br /&gt;
&lt;br /&gt;
Figured this would be useful somewhat, especially as a way to see what I've accomplished so far at my job...&lt;br /&gt;
I'll be updating this from time to time, since I can't remember everything I've done so far. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Not Platform Specific&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt; Developed a CRC32 generator for unique IDs based on a string's data, more often used to save time when using Maps or to generate a unique ID for a game object&lt;/li&gt;
&lt;li&gt;Developed a drawcall cache that caches several similar drawcalls and then draws them when a call with a different texture/blending mode is applied&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;iPhone&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Developed Facebook, Twitter, and E-Mail support to Fling&lt;/li&gt;
&lt;li&gt; Developed a custom Sound Engine supporting sound and music streaming, self-repeating sounds, music cross-fading, among other misc features&lt;/li&gt;
&lt;li&gt; Implemented AdWhirl ads on the free version of Fling&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Non-iPhone&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Reimplemented native widgets like Text Fields and Alert Views to either a custom OpenGL implementation or the native equivalent of the targeted platform&lt;/li&gt;
&lt;li&gt;Reimplemented large platform-specific parts of the CC codebase, like the OpenGL implementation, sound, file access, among other low-level code, from iOS to the targeted platform.&lt;/li&gt;
&lt;li&gt;Developed a custom libPNG image loader that supports Grayscale, Gray-alpha, Indexed, and RGB/RGBA images, processing RGBA images so they had their alpha premultiplied.&lt;/li&gt;
&lt;li&gt;Developed a custom FreeType text renderer that takes care of properly converting UTF-8 to UCS-4 in order to not only render high-quality text to existing bitmaps, but also to render unicode text properly. This renderer also formats the text accordingly so the game only had to send a blob of text and the maximum bitmap size to format and the formatting type (Characterwrap, Wordwrap, truncation, etc)&lt;/li&gt;
&lt;li&gt;Reimplemented SFML's HTTP client to use non-SC++L code, since SC++L code of any kind would crash on Android, and used it to query the CC server for statistics purposes&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Android&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Partially (as of this post's original posting date) ported Fling to Android&lt;/li&gt;
&lt;li&gt;Implemented AdMob ads and Tapjoy Offers for Fling Free&lt;/li&gt;
&lt;li&gt;Implemented in-app purchases&lt;/li&gt;
&lt;li&gt;Developed multiple java "gateways" to save RAM and allow the C++ side of the game to take as much control as possible.&lt;/li&gt;
&lt;li&gt;Implemented screen scaling so the game works on all screen sizes.&lt;/li&gt;
&lt;li&gt;Due to a lot of problems with the Android platform and Native Code, had to debug most things with no debugger, or at the very least, a print-based debugging session (that is, no debugger, just printing values from relevant variables or states)&lt;/li&gt;
&lt;li&gt;Implemented app licensing and obfuscation of java code&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Implemented a common java library used by all versions of Fling based around a base class that handles communicating with the native C++ Fling code and several Feature Sub-classes that implement features such as Admon Ads and in-app purchases&lt;/li&gt;
&lt;li&gt;Implemented save file transferring between free and paid versions of an app&lt;/li&gt;
&lt;li&gt;Wrote an app that can gather a user's adb logcat without that user having an SDK &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;webOS&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Ported Fling to webOS&lt;/li&gt;
&lt;li&gt;Partially ported Fuzzle to webOS&lt;/li&gt;
&lt;li&gt;Developed a SDL_ttf Text Renderer (later superseeded by a FreeType Renderer I also developed)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-2107607167559090360?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OVUFTkXk0tbCDRVdo2Rn4P6CKqk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OVUFTkXk0tbCDRVdo2Rn4P6CKqk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OVUFTkXk0tbCDRVdo2Rn4P6CKqk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OVUFTkXk0tbCDRVdo2Rn4P6CKqk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/sKP-ygcZc9U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/2107607167559090360/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/09/stuff-ive-done-at-candycane-llc.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/2107607167559090360?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/2107607167559090360?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/sKP-ygcZc9U/stuff-ive-done-at-candycane-llc.html" title="Stuff I've done at CandyCane LLC" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/09/stuff-ive-done-at-candycane-llc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIMRHw_eCp7ImA9WhdXGE8.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-3546471358753087712</id><published>2011-08-31T22:36:00.002+01:00</published><updated>2011-08-31T22:36:25.240+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-31T22:36:25.240+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WorldBase" /><title>Special Delivery</title><content type="html">I was looking through some of my mediafire files, and noticed an old not-so-stable version of some tools I developed for WorldBase. Those of you who have been following this blog might recognize them as the material editor, the model converter, and the world editor.&lt;br /&gt;
&lt;br /&gt;
Since I ended up dropping it in favour of making the game on a stable game engine so I wouldn't get lost on the technology, and since I broke it all in the end (so I can't get you any code), &lt;b&gt;and&lt;/b&gt; since I noticed that even if it was never completed, it was still pretty cool, I figured you guys might be interested in trying it.&lt;br /&gt;
&lt;br /&gt;
Download Link: http://www.mediafire.com/?gmmyvkoykmn&lt;br /&gt;
&lt;br /&gt;
Some Guidelines:&lt;br /&gt;
&lt;br /&gt;
Some elements were never completed. For instance, some nodes on the Material Editor can't even be created, and the Light entity on the World Editor will crash the editor since it was never implemented.&lt;br /&gt;
&lt;br /&gt;
Before you do anything, you need to keep in mind that all tools require the Core.package file which is generated from the BuildPackages.bat file in the System folder. Whenever you add/remove/modify a resource like a model or material or texture, you need to call BuildPackages again.&lt;br /&gt;
&lt;br /&gt;
Material Editor:&lt;br /&gt;
&lt;br /&gt;
In the Material Editor, you can drag nodes from the node list to the middle of the screen that has other nodes.&lt;br /&gt;
&lt;br /&gt;
You can middle-click-drag on that area to move the working area too, so you don't run out of space.&lt;br /&gt;
&lt;br /&gt;
To delete a node, select it with the left click and press DELETE on your keyboard.&lt;br /&gt;
&lt;br /&gt;
To make nodes work with each other, left click on a connector (the black squares) and drag towards another connector (Node Inputs are to the right, Node Outputs are to the left, you can't connect one kind with the same kind). This will create a Connection between the two nodes.&lt;br /&gt;
&lt;br /&gt;
To remove a connection, you must left click the connector while pressing CTRL. It may not remove it immediately, so try clicking a few times. This is a bug which I probably solved later on but I can't recover it right now.&lt;br /&gt;
&lt;br /&gt;
Constants are the most used datatype. They come in four flavours: Constant, Constant2, Constant3, and Constant4. Each can keep a certain amount of values. Most Nodes provide a certain datatype as their value, like the Fresnel node which returns a Constant, and the Normal node which returns a Constant3.&lt;br /&gt;
&lt;br /&gt;
Sometimes you will get errors, like incompatible data types. For instance, you can't LinearInterpolate a Constant as the first value with a Constant2 as the second value, since they are different data types. You can get over this by converting from a data type to another. This is usually only possible when you convert to a higher data type.&lt;br /&gt;
&lt;br /&gt;
For instance, you can't convert from a Constant2 to a Constant. However you can convert a Constant to a Constant2 by e.g., setting a Multiply node with a Constant2 with values R: 1, G: 1 to multiply by the Constant you want to convert. In this case, you'd set the Constant2 as the "A" input, and the other Constant as the "B" input.&lt;br /&gt;
&lt;br /&gt;
The TextureSample Node allows you to select a texture from the package filesystem. It has 4 Outputs ("Black", Red, Green, Blue, Alpha). The first output is a Constant4, while the other ones are all Constants. This allows you to extract the components of the texture for various uses.&lt;br /&gt;
&lt;br /&gt;
An example would be if you had a "filter" texture and two other textures who you want to combine. You could use a LinearInterpolate node to interpolate between the two textures, and use the filter's Alpha component as the last input to LinearInterpolate to do so.&lt;br /&gt;
&lt;br /&gt;
Model Editor:&lt;br /&gt;
&lt;br /&gt;
In the model editor, you can import bXporter models or modify existing wbmodel models. Do notice that I don't remember which version of bXporter I used, and I do know it's not a very popular format, so you'll have to make do with the .bx models on the System folder.&lt;br /&gt;
&lt;br /&gt;
After you convert or open a model, you can swap the Z-axis of the model (if it's showing improperly rotated for instance), and change its size.&lt;br /&gt;
&lt;br /&gt;
Mind you that changing its size is not the same as performing a scale to the model. It'll literally make the model be at most have a height of X units.&lt;br /&gt;
&lt;br /&gt;
You can change the materials of each mesh of the model too. To do so, click on a material on the list and it'll highlight the area the material belongs to in yellow. Double-Click it to choose one of the materials on the Package Filesystem and then double-click that material to replace the first material.&lt;br /&gt;
&lt;br /&gt;
World Editor:&lt;br /&gt;
&lt;br /&gt;
This is probably the most complex tool of them all. First, you should either open an existing world or create a new one. When you create a new one, you should choose a relatively small amount of sectors. That is because each sector contains a huge area.&lt;br /&gt;
&lt;br /&gt;
After you create a new one, please wait patiently until it is done processing it. It will randomly generate the world's terrain and calculate the world's pseudo-average normals for lighting (this last part might take a while, however generally speaking on any decent computer it shouldn't take longer than a couple of minutes.&lt;br /&gt;
&lt;br /&gt;
Afterwards you can move around the world, use the terrain tools (Raise, Lower, Flatten, and Paint (Paint was never implemented)), you can even create your own entities and spawn them in the world.&lt;br /&gt;
&lt;br /&gt;
Mind you that the default entities (Light) are not implemented, and trying to use them will result in a crash. You can create new entities, although a lot of entity settings (Like having Physics and Client/Server ownership) do nothing since I never got to implement them. You can select a model, and then save the entity library and use it within the world. Other than that you can also browse the world around.&lt;br /&gt;
&lt;br /&gt;
The viewport controls work as soon as you left-click once at it, so the viewport will gain Focus for your mouse input. Then you can hold the right mouse button to do mouse look with the camera, and use the left mouse button to use whatever tool you're using at the time.&lt;br /&gt;
&lt;br /&gt;
That should be enough detail for now. I've delayed this post long enough. Remember that this is not a production-quality release, I'm only releasing it now because, although incomplete, it is "cool".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-3546471358753087712?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SiG0-uxLazQJ-AO4ITYH6w-z5_Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SiG0-uxLazQJ-AO4ITYH6w-z5_Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SiG0-uxLazQJ-AO4ITYH6w-z5_Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SiG0-uxLazQJ-AO4ITYH6w-z5_Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/InPX_sMwJ3s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/3546471358753087712/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/08/special-delivery.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/3546471358753087712?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/3546471358753087712?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/InPX_sMwJ3s/special-delivery.html" title="Special Delivery" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/08/special-delivery.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUGR3c-fyp7ImA9WhdTGUU.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-496815129983735604</id><published>2011-07-18T10:43:00.002+01:00</published><updated>2011-07-18T10:43:46.957+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-18T10:43:46.957+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="UDK" /><category scheme="http://www.blogger.com/atom/ns#" term="WorldBase" /><title>UDK Adventures #1</title><content type="html">I was playing with the UDK yesterday, making a fancy C++ DLL. This has been the 3rd time that UDK behaved oddly. &lt;br /&gt;
&lt;br /&gt;
First it exhausted all my free RAM (That's over 4GB of free RAM out of  6GB) just trying to compile my scripts to use the DLL. Then it kept  compiling forever without increasing much RAM. All this for a piece of  100% completely valid and completely logical code that had no way to  cause any potential bugs at all.&lt;br /&gt;
&lt;br /&gt;
Like I said, this already happened at least 3 times. It makes no sense  at all how these issues happen, really... my first time it would say it  can't Bind to the DLL, and the reason was that my DLLMain function did  not return a value.&lt;br /&gt;
&lt;br /&gt;
What the hell, man?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-496815129983735604?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vvGCoEfv-pUy-gpuLm9QCxD5saU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vvGCoEfv-pUy-gpuLm9QCxD5saU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vvGCoEfv-pUy-gpuLm9QCxD5saU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vvGCoEfv-pUy-gpuLm9QCxD5saU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/24k6aeAnetE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/496815129983735604/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/07/udk-adventures-1.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/496815129983735604?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/496815129983735604?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/24k6aeAnetE/udk-adventures-1.html" title="UDK Adventures #1" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/07/udk-adventures-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMGQXw7eip7ImA9WhZaF08.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-5537740495723700188</id><published>2011-07-03T21:39:00.006+01:00</published><updated>2011-07-03T21:53:40.202+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-03T21:53:40.202+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="CandyCane" /><title>Android Adventures #2</title><content type="html">Here are a few more issues I remember having while porting Fling to Android (Note: When I refer to java code, I mean Android Java-specific code):&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Optimizing the code with the compiler (e.g., -O1/2/3) caused awful graphical corruptions (see &lt;a href="http://i51.tinypic.com/raqogl.png"&gt;http://i51.tinypic.com/raqogl.png&lt;/a&gt; for a sample). Solution: Use vs-android and enable compiler optimization flags for certain files you figure could have something to do with it (e.g., your texture loading / resource loading class. You may even have to split the offending files so you can keep non-OpenGL code optimized.&lt;/li&gt;
&lt;li&gt;The Java VM has a limit of 16MB for the Java heap, while the native heap has no limit. That means that for any minimally sophisticated game out there, you'll have to use the Android NDK to make a native binary while using java to access the Android APIs.&lt;/li&gt;
&lt;li&gt;The file management APIs don't have any way to get the size of a file or seek it. This is especially bad for Asset files, which are resource files bundled with your package, since those are encrypted. So you have to read each file you need in chunks until you get a EOF flag while reading. In fact, there is an available() method that will return the total amount of bytes you can read until it "blocks for more input". That means that it can return 0, 1, 1234, infinite, etc. See &lt;a href="http://developer.android.com/reference/android/content/res/AssetManager.AssetInputStream.html#available%28%29"&gt;http://developer.android.com/reference/android/content/res/AssetManager.AssetInputStream.html#available%28%29&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;(@#2 and #3) Because of these two problems, when our native code needed to read a resource file, I had to read the file to a java byte[] array, pass it as a buffer to C++, and then use a hackish way to change our File class's implementation between a resource file and a regular file since regular files didn't need to go through Java.&lt;/li&gt;
&lt;li&gt;Java code sometimes doesn't behave in a standard way. An example of this would be when I created a texture through Java and used glTexImage2D, so I wouldn't have to compile libPNG and zlib statically with our bin. It would always fail with an INVALID_VALUE error. The documentations say that INVALID_VALUE only happens when width or height are &amp;lt; 0. The very same code, in C++, worked with 0 GL errors.&lt;/li&gt;
&lt;li&gt;I had to load the game in a separate thread, not only because it could take a significant amount of time (On debug anyway), but also because a black screen for more than a second can cause any user to quit the app. The fact that the OpenGL thread is not on the main thread due to the way the GLSurfaceView class works didn't help either. So I had to make a proxy to properly init textures, and to draw the loading screen.&lt;/li&gt;
&lt;li&gt;(@ #4, #5, #6) Because of all this, I had to severely modify the way textures are loaded and ended up doing the following when a resource file was required:&lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;Java reads multiple chunks into memory while keeping a huge-ass buffer (e.g., 5MB in size) to prevent reallocs (this happens with any resource file request)&lt;br /&gt;
Copy the resource data to another array to prevent potential overlaps of read/writes through threads (Only copies actual data, not the whole 5MB buffer)&lt;br /&gt;
Copy the java resource data array to a C++ array&lt;br /&gt;
Free the java resource data since memory is of the essence&lt;br /&gt;
Decode the resource data with libPNG&lt;br /&gt;
Save the bitmap data, verify whether we're starting up (e.g., not on a GL thread), if so, queue it for init, otherwise init it now&lt;br /&gt;
On the GL thread, at the beginning of a frame, for each texture queued up, init it.&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;The Emulator runs at nearly 1 to 10 FPS most of the time. On a Core i7 2.80GHz computer. In fact, it will not run Fling, and will in fact freeze (as in, actually freeze, not give a "App not responding" Android warning when an app doesn't respond) and/or crash.&lt;/li&gt;
&lt;li&gt;Installing the app packages takes over 2 minutes on the emulator (60KB/s), while on device takes less than 20 seconds (1-3MB/s on any decent device, 4+MB on a Samsung Galaxy S makes it take less than 6 seconds). &lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-5537740495723700188?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Oyktz7Gy1hJv33Y3F1snQ6sK5Z4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Oyktz7Gy1hJv33Y3F1snQ6sK5Z4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Oyktz7Gy1hJv33Y3F1snQ6sK5Z4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Oyktz7Gy1hJv33Y3F1snQ6sK5Z4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/R9eAgMEhPB8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/5537740495723700188/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/07/android-adventures-2.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/5537740495723700188?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/5537740495723700188?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/R9eAgMEhPB8/android-adventures-2.html" title="Android Adventures #2" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/07/android-adventures-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQHQ388cSp7ImA9WhZaE0o.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-8481347382351387394</id><published>2011-06-29T20:05:00.000+01:00</published><updated>2011-06-29T20:05:32.179+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-29T20:05:32.179+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Dark Horse Digital" /><category scheme="http://www.blogger.com/atom/ns#" term="Comics" /><title>Comics! #1</title><content type="html">So I've recently become a member of &lt;a href="http://digital.darkhorse.com/"&gt;Dark Horse Comics (Digital)&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
They have a lot of interesting comics, although I've never been much of a comic person. Until recently, anyway. The prices are all in USD, so if you live in Europe like me, you can get bundles of 4 or more issues for little more than one and a half of the price of regular comic in your country.&lt;br /&gt;
&lt;br /&gt;
But that's not why I'm making this blog post. They're having the first issue of a comic called "The Helm" for free for a limited time. You also get plenty other free comics by default when you make an account. So if you're a comic guy or you think fantasy comics might be relevant to your interest, I advise you to make an account and choose "READ NOW" on "The Helm #1".&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://digital.darkhorse.com/"&gt;http://digital.darkhorse.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-8481347382351387394?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/u1vEnZSl3XtvnzQTqXkHD5c4B4w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u1vEnZSl3XtvnzQTqXkHD5c4B4w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/u1vEnZSl3XtvnzQTqXkHD5c4B4w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u1vEnZSl3XtvnzQTqXkHD5c4B4w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/dHBM3he6zhI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/8481347382351387394/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/06/comics-1.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/8481347382351387394?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/8481347382351387394?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/dHBM3he6zhI/comics-1.html" title="Comics! #1" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/06/comics-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIMQH07cSp7ImA9WhRWGUs.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-3684532431754475358</id><published>2011-06-28T12:54:00.000+01:00</published><updated>2012-01-07T20:36:21.309Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-07T20:36:21.309Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="CandyCane" /><title>Android Adventures #1</title><content type="html">Welcome to my first entry of my adventures on porting games to Android. Here I'll list all the "WTF"s I got these past few months.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;The NDK Debugger doesn't work with NDK-built binaries (states various section-related errors). Use vs-android.&lt;/li&gt;
&lt;li&gt;The NDK Debugger can't trap startup crashes on native code. Instead the app will restart over and over before the debugger attaches to the process.&lt;/li&gt;
&lt;li&gt;Sometimes when the app crashes and I'm debugging without a debugger, the crash dumper crashes halfway through.&lt;/li&gt;
&lt;li&gt;A simple stack overflow on layout crash causes the adb server to die. Gotta reboot. The only way to figure out why it crashed is to dump the adb logcat to a file before it crashes.&lt;/li&gt;
&lt;li&gt;Including a single line of SC++L code will cause the app to not start at all, crashing at some SC++L-related code before any other code is even ran (initializer-related, probably). Solution: Don't use the SC++L.&lt;/li&gt;
&lt;li&gt;Sometimes the addr2line program will give you an erroneous filename and line (e.g., TwoPlayerGame.cpp:0). Solution: Run addr2line with&amp;nbsp; -C -f -e. It'll show the function prototypes.&lt;/li&gt;
&lt;li&gt;Half the time GLSurfaceView will overlap any other views, no matter what layout you use.&lt;/li&gt;
&lt;/ul&gt;
I probably have a lot more issues to report, but it's been so long I can only remember a few.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-3684532431754475358?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JM5FmmCIeH4fzGB_urgPsQ1rr4I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JM5FmmCIeH4fzGB_urgPsQ1rr4I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JM5FmmCIeH4fzGB_urgPsQ1rr4I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JM5FmmCIeH4fzGB_urgPsQ1rr4I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/WX1Q2NXg_Gk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/3684532431754475358/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/06/android-adventures-1-prototype-9-wip-5.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/3684532431754475358?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/3684532431754475358?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/WX1Q2NXg_Gk/android-adventures-1-prototype-9-wip-5.html" title="Android Adventures #1" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/06/android-adventures-1-prototype-9-wip-5.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkABSX4-fip7ImA9WhZUFk0.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-3084701606557724271</id><published>2011-06-09T09:39:00.000+01:00</published><updated>2011-06-09T09:39:18.056+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-09T09:39:18.056+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Life" /><title>Life stuff #1.#inf</title><content type="html">Today is my birthday. I'm 23 now, but life just feels more and more tireing no matter how much effort I put through.&lt;br /&gt;
&lt;br /&gt;
At least today I'll have some fun with a couple of friends.&lt;br /&gt;
&lt;br /&gt;
Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-3084701606557724271?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g-Sqy376A8RfdQB74uOM7Ow045c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g-Sqy376A8RfdQB74uOM7Ow045c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/g-Sqy376A8RfdQB74uOM7Ow045c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g-Sqy376A8RfdQB74uOM7Ow045c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/nJqQoYfjKBo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/3084701606557724271/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/06/life-stuff-1inf.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/3084701606557724271?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/3084701606557724271?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/nJqQoYfjKBo/life-stuff-1inf.html" title="Life stuff #1.#inf" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/06/life-stuff-1inf.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMCQH85fip7ImA9WhRWGUs.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-2909920125521394782</id><published>2011-06-02T10:22:00.002+01:00</published><updated>2012-01-07T20:34:21.126Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-07T20:34:21.126Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Life" /><category scheme="http://www.blogger.com/atom/ns#" term="WorldBase" /><category scheme="http://www.blogger.com/atom/ns#" term="CandyCane" /><title>Life Stuff #25235252 million</title><content type="html">Sorry for the lack of updates, I've been &lt;b&gt;very&lt;/b&gt; busy lately, and hardly had any time to do anything other than my full-time job.&lt;br /&gt;
&lt;br /&gt;
Lately I've been working on a fancy pants universe around two characters, Anthe Ringwarden, Paladin and Zero, the Life Sculptor. Here's some concept art on them by &lt;a href="http://supadave-3.deviantart.com/"&gt;SupaDave&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;a href="http://i52.tinypic.com/3444axj.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://i52.tinypic.com/3444axj.jpg" width="267" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Other than that I've been very busy with Fling for Android and Fuzzle for webOS. Android has so many problems I have no idea how they even accept this kind of problems. But it's popular, otherwise we'd probably just have given up on it. Le sigh.&lt;br /&gt;
&lt;br /&gt;
Also, I've started using my twitter for a change. Check &lt;a href="http://www.twitter.com/LittleCodingFox"&gt;http://www.twitter.com/LittleCodingFox&lt;/a&gt; .&lt;br /&gt;
&lt;br /&gt;
Cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-2909920125521394782?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7Hwla1nsgJ0RsaTnKaOS5UHF5aU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7Hwla1nsgJ0RsaTnKaOS5UHF5aU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7Hwla1nsgJ0RsaTnKaOS5UHF5aU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7Hwla1nsgJ0RsaTnKaOS5UHF5aU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/-tm9Nhqb_zE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/2909920125521394782/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/06/life-stuff-25235252-million.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/2909920125521394782?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/2909920125521394782?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/-tm9Nhqb_zE/life-stuff-25235252-million.html" title="Life Stuff #25235252 million" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i52.tinypic.com/3444axj_th.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/06/life-stuff-25235252-million.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEANQH4-eip7ImA9WhZXGU4.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-1903208221491507026</id><published>2011-05-09T11:26:00.002+01:00</published><updated>2011-05-09T11:26:31.052+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-09T11:26:31.052+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Random" /><title>Random Stuff #1</title><content type="html">When women need comforting they tell you it's time to go buy shoes&lt;br /&gt;
But they already &lt;b&gt;have&lt;/b&gt; all the shoes!&lt;br /&gt;
So you know they actually need boots.&lt;br /&gt;
Now everything makes sense. &lt;i&gt;Forever&lt;/i&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-1903208221491507026?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0FMMKhXpM1SWEaUl5_wEbvep3Ks/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0FMMKhXpM1SWEaUl5_wEbvep3Ks/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0FMMKhXpM1SWEaUl5_wEbvep3Ks/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0FMMKhXpM1SWEaUl5_wEbvep3Ks/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/LVmswuzpAZM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/1903208221491507026/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/05/random-stuff-1.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/1903208221491507026?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/1903208221491507026?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/LVmswuzpAZM/random-stuff-1.html" title="Random Stuff #1" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/05/random-stuff-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIMQXk4fyp7ImA9WhZREUQ.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-6392651077755749658</id><published>2011-04-07T17:41:00.002+01:00</published><updated>2011-04-07T17:43:00.737+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-07T17:43:00.737+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ramblings" /><title>Ramblings #1</title><content type="html">This is a transcript from when I posted this on my gamedev.net journal:&lt;br /&gt;
&lt;h2&gt;Disclaimer&lt;/h2&gt;I'm sure most of you will disagree with my views, however please don't   think of me as someone who is saying "I'm totally right, everyone else   doesn't know squat", since these are merely opinions.&lt;br /&gt;
&lt;h2&gt;Happy birthmas!&lt;/h2&gt;So I've finally created my GDNet journal. Took me quite a while, too! I  hope to be more active around here, as well as in my blog.&lt;br /&gt;
&lt;br /&gt;
I've been working for a living as a game programmer for &lt;a class="bbc_url" href="http://www.candycaneapps.com/" rel="nofollow external" title="External link"&gt;CandyCane LLC&lt;/a&gt;,  a small smartphone game studio who has been producing a few games  mainly for the iPhone, and more recently for HP Palm's webOS, Android,  and Windows 7 Phone, where their probably most popular game is Fling, a  game where you "fling" various game pieces so they bump and send each  other out of the board until you get only one left. I've been working  for them for exactly &lt;b class="bbc"&gt;one year&lt;/b&gt; now.&lt;br /&gt;
&lt;br /&gt;
It was a rough year, especially since this is my first job in the  industry and I am still kind of a rookie, even though I've been  programming for almost 11 years now. My biggest challenges so far have  mainly been the game ports from iPhone to webOS and Android, but I'm  getting better so it'll probably stop being such a challenge in this  upcoming year of work.&lt;br /&gt;
&lt;br /&gt;
Although my dreams of making awesome evolving 3D worlds, a project I called "&lt;a class="bbc_url" href="http://littlecodingfox.blogspot.com/search/label/WorldBase" rel="nofollow external" title="External link"&gt;WorldBase&lt;/a&gt;",  have been delayed because of my job, I'm hoping to restart working on  it in a few years when I have plenty more available resources and thus  more security for the entire project, in order to prevent it from  failing once more.&lt;br /&gt;
Learning how game technology works is very importantBut people tend to end up trying to make their own 3D Game Engine in the  end. This is often a bad idea, especially nowadays when we have the UDK  and Unity available free-of-charge.&lt;br /&gt;
&lt;h2&gt;Spending too long developing game tecnology is a curse you can't escape from&lt;/h2&gt;After you've learned how a large part of game tecnology can be  developed, you start to feel picky when trying to select a game engine  for your projects. That's mainly because you end up developing your own  "style" and since all game engines are developed in different ways, with  many different tools and interfaces, you will end up disliking them  all, leaving you to make your own, once more. This is even more of a  curse than most people expects, since you can start a project thinking  "I'll make a simple basic game engine" and spend years working on it  without realizing you're spending too much time on the tech with little  of the game to show.&lt;br /&gt;
&lt;h2&gt;A lot of commercial game engines out there that are geared for Indies are not that great&lt;/h2&gt;Everyone loves talking about Torque, Unity, UDK, C4, etc. But fact is  that some of those engines have less-than-friendly Indie licenses or are  apparently not very good. As an example, I ordered Torque 2D when  GarageGames was reborn and started selling all their products for $99  with Source included. I saw their License, and after posting a thread in  their &lt;a class="bbc_url" href="http://www.garagegames.com/community/forums/viewthread/123886" rel="nofollow external" title="External link"&gt;forums&lt;/a&gt;, they said the following:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;@Nuno  - The license allows you to use a copy of T2D for your own   development. If you want others to help you in development, such as   writing code or creating levels, they will each need a license. Anyone   touch the editors, TorqueScript or C++ needs a license. If you have an   artist that just creates the sprites but just hands them off to you,   never touching T2D, then they do not need a license.&lt;/blockquote&gt;&lt;blockquote&gt;&lt;div class="blockquote"&gt;&lt;div class="quote"&gt;&lt;br /&gt;
Make sense?&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;
Well, this is horrible from an Indie point of view. Often Indies will  have more than one programmer, and spending twice or more of the  original license makes the whole thing incredibly expensive. Indies  don't always have that much funding, so just getting $99 is quite a  feat. If you get a SVN server for your project, which &lt;b class="bbc"&gt;will&lt;/b&gt;  include torquescript and maybe some C++, even if your artists don't use  the SVN directly, you have to spend those $99 once more. Imagine this  when their $99 promo goes back to the old price which is probably more  than twice as expensive.&lt;br /&gt;
&lt;br /&gt;
The worst part is that it seems that a lot of asset producers seem to be  limiting the number of persons that can have access to purchased assets  to one, maybe two persons, and the real world just doesn't work that  way. In a world where websites like &lt;a class="bbc_url" href="http://www.xp-dev.com/" rel="nofollow external" title="External link"&gt;xp-dev.com&lt;/a&gt; and &lt;a class="bbc_url" href="http://www.assembla.com/" rel="nofollow external" title="External link"&gt;assembla.com&lt;/a&gt;  provide free file versioning services like SVN and GIT, the ammount of  people who have access to a SVN server is generally everyone who is part  of the group that created the server. So what can you do in order to  keep everything A-OK? Create a separate SVN server? Remove access to the  SVN from most team members?&lt;br /&gt;
&lt;br /&gt;
Often you'll also find engines that look great, but once you try their  demos or look at their samples you notice how they're not something  you'd enjoy using. A couple of examples would be C4's engine demo, which  although looking pretty sweet, has horrible physics, and the Leadwerks  engine's API, which is just ugly.&lt;br /&gt;
&lt;br /&gt;
Now, I don't know if the developer who created the C4 demo just wanted  to setup the demo's physics quickly, but trying the demo made me not  want to get the engine at all. The biggest demotivator was when i tried  to climb some stairs. I'd get stuck, press SPACE constantly in order to  jump, and more than often I'd jump backwards somehow, causing me to have  to painfully climb those stairs all over again.&lt;br /&gt;
&lt;h2&gt;It's really hard to manage a team even if there is genuine interest in a project&lt;/h2&gt;Yes, it's true. I've created a small Indie team called &lt;a class="bbc_url" href="http://www.youtube.com/flamingtorchgames" rel="nofollow external" title="External link"&gt;Flaming Torch Games&lt;/a&gt;,  and even though we were getting some great progress on our first  project, a game that we codenamed "Rectangle Bejeweled", the project is  slowly dieing as I speak, even if there is no proper reason for this.  Most of the team never communicates with each other, no matter what I  try to get them to do so, and some people have barely done anything so  far. The problem with internet teams is that they often forget about the  team and often get busy with things in real life that will make them  unavailable pretty much all of the time. The main problem is that most  people just go "hey, that game is cool" but don't want to do any work or  just lose interest because it's "a lot of work". However, when there  are people actually trying to be productive for the team, they are still  very busy, often with their full-time job. Bottom line is, people are  very busy, so unless you hire them yourself you'll need a lot of luck to  have an indie team that works.&lt;br /&gt;
&lt;h2&gt;3D games need a team, stat&lt;/h2&gt;Often you'll see someone single-handedly trying to make an awesome 3D  game, maybe even attempting to do something really "simple" like a  character moving in a small chunk of land with some buildings around.  However, what I've noticed the most is that that's just not possible to  do all by yourself. You need external resources, mainly art, since a  programmer is often not an artist and free 3D models only get you so  far. You also can't just make some simple textures for a 3D game to  behave as "programmer art".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-6392651077755749658?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NvtAHDv6ZNvsV2QbK4YsrRUFWJg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NvtAHDv6ZNvsV2QbK4YsrRUFWJg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NvtAHDv6ZNvsV2QbK4YsrRUFWJg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NvtAHDv6ZNvsV2QbK4YsrRUFWJg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/sX0FHu1jnLw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/6392651077755749658/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/04/ramblings-1.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/6392651077755749658?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/6392651077755749658?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/sX0FHu1jnLw/ramblings-1.html" title="Ramblings #1" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/04/ramblings-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcBQXc4fyp7ImA9WhZTGUs.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-6028687522481238311</id><published>2011-03-24T12:00:00.001Z</published><updated>2011-03-24T12:00:50.937Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-24T12:00:50.937Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fling" /><category scheme="http://www.blogger.com/atom/ns#" term="CandyCane" /><title>One Year at CandyCane</title><content type="html">Today marks the day when I signed up to become a working citizen in my country so I could work for &lt;a href="http://www.candycaneapps.com/"&gt;CandyCane&lt;/a&gt;. It was a rough time, things could have gone better, but hopefully this next year will go better.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To end this post, here's a dropbox gallery with Work-In-Progress screenshots of Fling for Android: &lt;a href="http://www.dropbox.com/gallery/872159/2/CandyCaneWIPs/Android?h=0c4dc4"&gt;http://www.dropbox.com/gallery/872159/2/CandyCaneWIPs/Android?h=0c4dc4&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-6028687522481238311?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Z_-dVm3lBSVmXWyZbBsUIGWhxAo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z_-dVm3lBSVmXWyZbBsUIGWhxAo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Z_-dVm3lBSVmXWyZbBsUIGWhxAo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z_-dVm3lBSVmXWyZbBsUIGWhxAo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/9o6M0o4JTUg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/6028687522481238311/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/03/one-year-at-candycane.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/6028687522481238311?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/6028687522481238311?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/9o6M0o4JTUg/one-year-at-candycane.html" title="One Year at CandyCane" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/03/one-year-at-candycane.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYCQHo_eip7ImA9Wx9aFU8.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-1522056999897274903</id><published>2011-03-07T20:02:00.001Z</published><updated>2011-03-07T20:02:41.442Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-07T20:02:41.442Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Behance" /><title>Behance Portfolio added to the blog!</title><content type="html">So after months of idleness I finally decided to make a Portfolio at Behance. You can take a look at it on the Behance Badge on the top left corner of the Blog. Let me know what you think!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-1522056999897274903?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/O-w2T8JKweJu6QZlEfUuaLfuILg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O-w2T8JKweJu6QZlEfUuaLfuILg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/O-w2T8JKweJu6QZlEfUuaLfuILg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O-w2T8JKweJu6QZlEfUuaLfuILg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/a-HYnkxQotI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/1522056999897274903/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/03/behance-portfolio-added-to-blog.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/1522056999897274903?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/1522056999897274903?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/a-HYnkxQotI/behance-portfolio-added-to-blog.html" title="Behance Portfolio added to the blog!" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/03/behance-portfolio-added-to-blog.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQMSXgyfip7ImA9Wx9bE0Q.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-9095194384532240659</id><published>2011-02-22T17:52:00.002Z</published><updated>2011-02-22T17:56:28.696Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-22T17:56:28.696Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Released Games" /><title>Game Released - Fling for Palm webOS</title><content type="html">My port of Fling for webOS has finally been released! Here is the description as shown in the appstore:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;The puzzle-sensation played by millions is now available on WebOS!&lt;br /&gt;
&lt;br /&gt;
Featuring 10,000s of unique puzzles, such that no two puzzles you   encounter are ever the same, and split into 30 levels of increasing  difficulty, Fling! guarantees you many long hours of puzzling fun!&lt;br /&gt;
Each puzzle has a single, unique solution, and is solved by simply   flinging (pushing) the furballs, and watching them bump each other off   the edge of the screen, until only one is left. Four different game  modes are provided:&lt;br /&gt;
&lt;br /&gt;
&lt;ul class="bbc"&gt;&lt;li&gt;FREE-PLAY mode - play at your own pace and  difficulty, while the game  tracks your stats and keeps track of all  puzzles solved/failed, allowing  you to browse your entire  puzzle-solving history, and go back to any  previously solved/unsolved  puzzle to attempt to (re-)solve it!&lt;/li&gt;
&lt;li&gt;ARCADE mode - race against  the clock, solving as many puzzles of  ever-increasing difficulty as you  can before your time runs out!&lt;/li&gt;
&lt;li&gt;CHALLENGE mode - solve sets of  puzzles within a given amount of time  to progress, while trying to beat  your personal best times for each  level!&lt;/li&gt;
&lt;li&gt;FRENZY mode - add a  whole new twist to the classic gameplay. Suited to  speed addicts -  instead of solving puzzles, you just need to keep the  board clear as  new furballs are continually added!&lt;/li&gt;
&lt;/ul&gt;OTHER KEY FEATURES: &lt;br /&gt;
&lt;ul class="bbc"&gt;&lt;li&gt;HINTS and UNDOs are provided to help you solve the puzzles when stuck&lt;/li&gt;
&lt;li&gt;Original game music&lt;/li&gt;
&lt;li&gt;Local+Global high-scores lists&lt;/li&gt;
&lt;li&gt;Automatic saving of games - always come back to the game right where  you left it!&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
"&lt;i class="bbc"&gt;genuinely addictive ... replay value is incredibly high ... a polished,  simple and engaging puzzler&lt;/i&gt;" - ztgamedomain.com, &lt;b class="bbc"&gt;8.5/10&lt;/b&gt;&lt;br /&gt;
"&lt;i class="bbc"&gt;simple enough for a child to pick up and play, yet challenging enough  to keep adults hitting the Undo button and trying again&lt;/i&gt;" - appsmile.com,  &lt;b class="bbc"&gt;5/5&lt;/b&gt;&lt;br /&gt;
"&lt;i class="bbc"&gt;slickly presented, fiendishly addictive and hugely popular puzzler&lt;/i&gt;" -  gamepeople.co.uk&lt;/blockquote&gt;&lt;br /&gt;
&amp;nbsp;Here are some links: &lt;br /&gt;
&lt;a href="http://developer.palm.com/appredirect/?packageid=com.mbgames.fling&amp;amp;applicationid=7669"&gt;http://developer.palm.com/appredirect/?packageid=com.mbgames.fling&amp;amp;applicationid=7669&lt;/a&gt; and &lt;br /&gt;
&lt;a href="http://itunes.apple.com/us/app/fling/id325815008?mt=8"&gt;http://itunes.apple.com/us/app/fling/id325815008?mt=8&lt;/a&gt;&lt;b&gt; &lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-9095194384532240659?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7oG6levGgoDX5glX0LiIxJKltpM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7oG6levGgoDX5glX0LiIxJKltpM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7oG6levGgoDX5glX0LiIxJKltpM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7oG6levGgoDX5glX0LiIxJKltpM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/19GnV6Ect6U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/9095194384532240659/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/02/game-released-fling-for-palm-webos.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/9095194384532240659?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/9095194384532240659?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/19GnV6Ect6U/game-released-fling-for-palm-webos.html" title="Game Released - Fling for Palm webOS" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/02/game-released-fling-for-palm-webos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4DQnk8eip7ImA9Wx9bFUs.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-944191147993772333</id><published>2011-01-28T19:50:00.002Z</published><updated>2011-02-24T15:56:13.772Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-24T15:56:13.772Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Game Design Fragments" /><title>Game Design Fragments - A new magic system</title><content type="html">Hey there. I was considering posting about this for a while, and felt that I might as well make some sort of semi-regular game design series so the blog gets more frequent entries.&lt;br /&gt;
&lt;br /&gt;
DISCLAIMER: I'm not the best game designer out there, however I often come up with interesting ideas. I don't mind if you take an idea of mine and use it in a game of yours, however I'd love to know of any games that use any of my ideas. A credit line like  idea based on the thoughts of Nuno Silva (Little Coding Fox)" would be nice too, although it is not required. I hope you find this information helpful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;An user-generated magic system based on fragments&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Most magic systems used in a wide variety of games, mainly role playing games, use a skill-based and level-based system to both deliver and improve magic powers to their users. Although this has proven to work well for years, some improvements are due, since the same formula has been used time and time again, and tends to become old.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Essences&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Essences are fragments of an effect. They have a certain kind of nature (as an example, the 5 colors of Magic the Gathering cards), which defines the "spirit" the player must enforce upon themselves as to be able to recreate the essence.&lt;br /&gt;
&lt;br /&gt;
Essences are connected together in order to craft spells. Depending on the ammount of essences, the spell becomes harder and takes longer to cast. Each essence has a chance to fail, and if any essence at all fails during the cast of the spell, the spell "counters itself", potentially giving out a negative effect to the caster depending on how dangerous/powerful the spell is.&lt;br /&gt;
&lt;br /&gt;
Essences put together with incompatible natures have a higher chance to fail when being cast. An example of this would be having Black and White natures next to each others on the spell.&lt;br /&gt;
&lt;br /&gt;
Essences may have limited positions when being crafted. For instance, you may want to balance damage-dealing spells so that a player can't add three "Lightning Bolt" essences in a row, which may be overpowered in your implementation.&lt;br /&gt;
&lt;br /&gt;
Essences may have parameters, which enhance their usability and as such make spell crafting both more fun, more complex, and more interesting. An example would be a Fireball essence which has a slider that allows the user to define the intensity of the Fireball. A lower intensity has more chances to succeed while a higher intensity has a higher chance to fail.&lt;br /&gt;
&lt;br /&gt;
You may also add some form of unlocking of essences to your player. Instead of unlocking entirely new spells, you'd progressively e.g., offer a chance to gain a new Essence based on a battle with a particular enemy. This way, each battle would be a different experience and have different rewards based on a form of an item rolling system.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Conclusion&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This concludes this game design fragment. As you can see, this system has the potential to become quite fun when properly implemented, and to provide an experience never before seen in a computer game.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-944191147993772333?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0HsQ-Uxpokh_W0Ake8OIKT7JakU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0HsQ-Uxpokh_W0Ake8OIKT7JakU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0HsQ-Uxpokh_W0Ake8OIKT7JakU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0HsQ-Uxpokh_W0Ake8OIKT7JakU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/9038IMks-IY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/944191147993772333/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2011/01/game-design-fragments-new-magic-system.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/944191147993772333?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/944191147993772333?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/9038IMks-IY/game-design-fragments-new-magic-system.html" title="Game Design Fragments - A new magic system" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2011/01/game-design-fragments-new-magic-system.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMMQHo7eCp7ImA9Wx9RGEk.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-9180585639478634199</id><published>2010-12-20T11:28:00.000Z</published><updated>2010-12-20T11:28:01.400Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-20T11:28:01.400Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Life" /><title>Crap, time sure moves fast</title><content type="html">I thought my last post was more recent than this. It's been almost a whole month! Sorry about that.&lt;br /&gt;
I was unable to check whether there's any serious problems with me, however in about one week i'll be able to go to the doctor (&lt;i&gt;&lt;b&gt;finally!&lt;/b&gt;&lt;/i&gt;), so i'll finally see if there's something wrong.&lt;br /&gt;
&lt;br /&gt;
However, as of lately i haven't had any more issues with my heart, so it might have been a one-time thing. That repeated 5 times during the night. Yeah...&lt;br /&gt;
&lt;br /&gt;
Now on for some good news! I was accepted into the Age of Empires Online Closed Beta! I cannot give any details, what with it being a closed beta, but i can tell you that so far it has been fun and very similar to age of empires 2's gameplay (which is great to most people).&lt;br /&gt;
&lt;br /&gt;
Also i'm currently struggling to get &lt;a href="http://candycaneapps.com/fling/"&gt;Fling&lt;/a&gt; for webOS out the door, since it has terrible performance issues at the moment, even though the Palm claim that the device i'm building for (Palm Pre Plus) has the same processor as the iPhone, yet the game runs just fine on iPhone but not on the device. Heck, while running on Windows it runs blazing fast!&lt;br /&gt;
&lt;br /&gt;
My time at CandyCane has been a mix of good times and not so great times, with days often filled with lots of pressure due to mistakes created by me due to poor education since i'm 99% self-taught. At least i have a great boss and colleagues!&lt;br /&gt;
&lt;br /&gt;
Well, that's all for today. Hope you guys don't mind the irregular updates. Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-9180585639478634199?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DQoj9rfdt-bPIpV5HyvdT64Nc6U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DQoj9rfdt-bPIpV5HyvdT64Nc6U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DQoj9rfdt-bPIpV5HyvdT64Nc6U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DQoj9rfdt-bPIpV5HyvdT64Nc6U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/Z7MihjbvrDM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/9180585639478634199/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2010/12/crap-time-sure-moves-fast.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/9180585639478634199?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/9180585639478634199?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/Z7MihjbvrDM/crap-time-sure-moves-fast.html" title="Crap, time sure moves fast" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2010/12/crap-time-sure-moves-fast.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QDSXs8fSp7ImA9Wx9SEE8.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-3215239369697315312</id><published>2010-11-29T10:09:00.000Z</published><updated>2010-11-29T10:09:38.575Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-29T10:09:38.575Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Life" /><title>What the HELL, body?</title><content type="html">I dont know what the hell is going on but lately i've been in need to go to a doctor due to massive stress being randomly dispensed upon me for no good reason, all my teeth are getting out of place due to wisdom teeth growing, and today i had at least 5 instances of my heart aching a hell lot during the night.&lt;br /&gt;
&lt;br /&gt;
If i dont post within 3 months i'm probably officially dead in real life.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-3215239369697315312?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eB4uVZzaMO8SwvcUY6lk_BsWPTg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eB4uVZzaMO8SwvcUY6lk_BsWPTg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eB4uVZzaMO8SwvcUY6lk_BsWPTg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eB4uVZzaMO8SwvcUY6lk_BsWPTg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/tZQuAChdBkQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/3215239369697315312/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2010/11/what-hell-body.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/3215239369697315312?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/3215239369697315312?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/tZQuAChdBkQ/what-hell-body.html" title="What the HELL, body?" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2010/11/what-hell-body.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEBR3o8eip7ImA9Wx9TFU4.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-6051340721079739595</id><published>2010-11-23T16:44:00.000Z</published><updated>2010-11-23T16:44:16.472Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-23T16:44:16.472Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Life" /><category scheme="http://www.blogger.com/atom/ns#" term="WorldBase" /><title>Life updates Pt. 1</title><content type="html">So hey, new post after how many months now? 5? Wowzers!&lt;br /&gt;
&lt;br /&gt;
WorldBase has been temporarily put on hold. Why, you ask? Because not only does my job take a lot of time from me, but also because i need to rewrite WorldBase from scratch following on the teachings of &lt;a href="http://www.gameenginebook.com/"&gt;Game Engine Architecture by Jason Gregory&lt;/a&gt;, which is a big step forward since i used to just make stuff up constantly which kept situations like "oops, everything is working very badly so i gotta rewrite".&lt;br /&gt;
&lt;br /&gt;
Of course you might be asking, "why not use a premade game engine?". There are plenty of reasons why i dont do that. The main is that WorldBase &lt;b&gt;needs&lt;/b&gt; to include a custom-made world editor so users can create their own worlds without using an overly complex game engine editor which gives you plenty of unnecessary steps both while using said editor and while configuring everything for the game to recognize the world properly.&lt;br /&gt;
&lt;br /&gt;
There are other reasons, such as that most free and some pay-for middleware tends to either have a bad license (GPL-ish), or not work very well at all, or just have obscure bugs and crashes from seemingly very simple things.&lt;br /&gt;
&lt;br /&gt;
I've also recently formed a small game development team to work on a couple of casual games. I won't spoil it for now, but hopefully there'll be a private beta of the first casual game, where i'll post a few keys on a few places like this blog for you. Mind you it's a casual game, so don't expect fancy 3D things.&lt;br /&gt;
&lt;br /&gt;
Outside game development, i've been playing World of Warcraft, Team Fortress 2, Dungeons and Dragons Online, and the newly released Poker Night at the Inventory. I've also been randomgifting steam games to friends. Ain't i in a jolly christmas spirit?&lt;br /&gt;
&lt;br /&gt;
There's not much else to talk about... I'll try to post more often, though. Hope this post wasnt too boring for ya though. See you around!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-6051340721079739595?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RVTxlycoJY9ehpfMH5XF5e52iHA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RVTxlycoJY9ehpfMH5XF5e52iHA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RVTxlycoJY9ehpfMH5XF5e52iHA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RVTxlycoJY9ehpfMH5XF5e52iHA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/uSJ9Is-9cTc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/6051340721079739595/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2010/11/life-updates-pt-1.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/6051340721079739595?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/6051340721079739595?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/uSJ9Is-9cTc/life-updates-pt-1.html" title="Life updates Pt. 1" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2010/11/life-updates-pt-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUDQnc-eCp7ImA9WxFbE0g.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-991194765590252071</id><published>2010-07-05T18:51:00.000+01:00</published><updated>2010-07-05T18:51:13.950+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-05T18:51:13.950+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WorldBase" /><title>WorldBase Progress Pt. 39</title><content type="html">Sorry for the lack of updates.&lt;br /&gt;
&lt;br /&gt;
I've been having a hard time fixing a bug with WorldBase, trying to optimize it as much as i can to prevent waiting 'till forever for some resources to load or having epic slowdowns while they're loading. Mainly i'm using a separate resource thread now.&lt;br /&gt;
&lt;br /&gt;
A thread lets you split your program into two or more (one per thread, we start with the main thread), and threads share data. However, sometimes threads read and write at a memory area at the same time, causing memory corruption. So there are ways to synchronize threads, although those ways aren't easy as pie.&lt;br /&gt;
&lt;br /&gt;
So basically i'm having races for control for each thread, which makes them wait too long to do stuff, so e.g., something that should take less than 10ms may take over 2 seconds to complete.&lt;br /&gt;
&lt;br /&gt;
Multithreaded programming is really hard, thus why i haven't been able to fix it yet. Stay tuned for more news, hopefully i'll fix it this month.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-991194765590252071?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xV2hXkA57oYxLPe-32-fwoZNLuU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xV2hXkA57oYxLPe-32-fwoZNLuU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xV2hXkA57oYxLPe-32-fwoZNLuU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xV2hXkA57oYxLPe-32-fwoZNLuU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/sx6T5sz1Hrc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/991194765590252071/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2010/07/worldbase-progress-pt-39.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/991194765590252071?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/991194765590252071?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/sx6T5sz1Hrc/worldbase-progress-pt-39.html" title="WorldBase Progress Pt. 39" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2010/07/worldbase-progress-pt-39.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkENSXcycSp7ImA9WxFXFUo.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-462754568419916628</id><published>2010-05-23T00:24:00.000+01:00</published><updated>2010-05-23T00:24:58.999+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-23T00:24:58.999+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WorldBase" /><title>WorldBase Progress Pt. 38</title><content type="html">Here's a sneak peek on the new features on WorldEdit:&lt;br /&gt;
&lt;br /&gt;
&lt;object height="350" width="400"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/n9OIdkenGhQ&amp;amp;hl=en_GB&amp;amp;fs=1&amp;amp;rel=0&amp;amp;hd=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube-nocookie.com/v/n9OIdkenGhQ&amp;amp;hl=en_GB&amp;amp;fs=1&amp;amp;rel=0&amp;amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="350" width="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-462754568419916628?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HvKc3fbWpCWDf2ORrOeEOs1lSjA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HvKc3fbWpCWDf2ORrOeEOs1lSjA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HvKc3fbWpCWDf2ORrOeEOs1lSjA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HvKc3fbWpCWDf2ORrOeEOs1lSjA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/iwpDBoQrO8I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/462754568419916628/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2010/05/worldbase-progress-pt-38.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/462754568419916628?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/462754568419916628?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/iwpDBoQrO8I/worldbase-progress-pt-38.html" title="WorldBase Progress Pt. 38" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2010/05/worldbase-progress-pt-38.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMHQ3ozfCp7ImA9WxFQFkw.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-2280585722876205242</id><published>2010-05-11T21:44:00.002+01:00</published><updated>2010-05-11T22:30:32.484+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-11T22:30:32.484+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WorldBase" /><title>WorldBase Progress Pt. 37</title><content type="html">Well, wasnt expecting to post twice in a row today, but this is too good to wait a few weeks before i show it.&lt;br /&gt;
Here're some photos from me presenting my work on WorldBase at the &lt;a href="http://www.tpolm.org/%7Eps/id05_2010/"&gt;Inércia 2010 Demoparty&lt;/a&gt; that happened two weeks ago. For all photos taken there, go &lt;a href="https://www.dropbox.com/gallery/4846037/1/Inercia%202010?h=680bf1"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i42.tinypic.com/30d9zk2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://i42.tinypic.com/30d9zk2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i40.tinypic.com/am8sya.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="214" src="http://i40.tinypic.com/am8sya.jpg" width="320" /&gt;&lt;/a&gt;&lt;a href="http://i42.tinypic.com/2juyv5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="214" src="http://i42.tinypic.com/2juyv5.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i41.tinypic.com/b8siza.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="214" src="http://i41.tinypic.com/b8siza.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-2280585722876205242?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vYekAZx1rRC4moDjW99yhSYqYEg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vYekAZx1rRC4moDjW99yhSYqYEg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vYekAZx1rRC4moDjW99yhSYqYEg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vYekAZx1rRC4moDjW99yhSYqYEg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/gSHtQIrRvTs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/2280585722876205242/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2010/05/worldbase-progress-report-pt-37.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/2280585722876205242?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/2280585722876205242?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/gSHtQIrRvTs/worldbase-progress-report-pt-37.html" title="WorldBase Progress Pt. 37" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i42.tinypic.com/30d9zk2_th.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2010/05/worldbase-progress-report-pt-37.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEASXg6eyp7ImA9WxFQFk0.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-2223311881897940363</id><published>2010-05-11T20:54:00.000+01:00</published><updated>2010-05-11T20:54:08.613+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-11T20:54:08.613+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WorldBase" /><category scheme="http://www.blogger.com/atom/ns#" term="What is WorldBase" /><title>On what exactly WorldBase is...</title><content type="html">I figured it'd be nice to have a bit of a sum up of what exactly WorldBase's genre is and how the game will be played.&lt;br /&gt;
&lt;br /&gt;
WorldBase is a Party Online Role Playing Sandbox (PORPS). What this means is, it's a role playing sandbox for a small ammount of players. A good example of what i mean by "small ammount" would be 1 to 4 players. It also means that you'll be able to play it alone.&lt;br /&gt;
&lt;br /&gt;
And now for how the game will be played. Mainly, you select a world, and you'll be able to select one of the playable species and a starting point. While you're doing that, each starting point should already have quite a lot of Beings doing various things, and you'll be able to select various Goals to do, learn new Technologies, among other things. Putting it in fewer words, you'll help the World evolve.&lt;br /&gt;
&lt;br /&gt;
And that's pretty much it. Maybe when WorldBase is further into development i'll be able to provide a better sum up. Hope you guys don't feel disappointed by the lack of juicy information on this post. Stay tuned for more progress reports sometime soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-2223311881897940363?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/p_D9eEnKkNdXVSglJjRvN_EfIyY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p_D9eEnKkNdXVSglJjRvN_EfIyY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/p_D9eEnKkNdXVSglJjRvN_EfIyY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p_D9eEnKkNdXVSglJjRvN_EfIyY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/tpnmHelwJfo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/2223311881897940363/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2010/05/on-what-exactly-worldbase-is.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/2223311881897940363?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/2223311881897940363?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/tpnmHelwJfo/on-what-exactly-worldbase-is.html" title="On what exactly WorldBase is..." /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2010/05/on-what-exactly-worldbase-is.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYBRn8zfyp7ImA9WxFRGEU.&quot;"><id>tag:blogger.com,1999:blog-9200342631119433888.post-4894837689143390276</id><published>2010-05-03T12:45:00.003+01:00</published><updated>2010-05-03T12:45:57.187+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-03T12:45:57.187+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WorldBase" /><title>WorldBase Progress Pt. 36</title><content type="html">Presenting: Entities!&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i39.tinypic.com/t8vgps.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="243" src="http://i39.tinypic.com/t8vgps.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9200342631119433888-4894837689143390276?l=littlecodingfox.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pX-oQ4qkI4UGwxzTELy-vwy2lqY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pX-oQ4qkI4UGwxzTELy-vwy2lqY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pX-oQ4qkI4UGwxzTELy-vwy2lqY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pX-oQ4qkI4UGwxzTELy-vwy2lqY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LittleCodingFox/~4/hKliI_4uPAs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://littlecodingfox.blogspot.com/feeds/4894837689143390276/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://littlecodingfox.blogspot.com/2010/05/worldbase-progress-pt-36.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/4894837689143390276?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9200342631119433888/posts/default/4894837689143390276?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LittleCodingFox/~3/hKliI_4uPAs/worldbase-progress-pt-36.html" title="WorldBase Progress Pt. 36" /><author><name>Nuno Silva</name><uri>https://profiles.google.com/117155368459924715585</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VuNF4n2EH5Y/AAAAAAAAAAI/AAAAAAAAAFM/uPPQyMpr7fA/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i39.tinypic.com/t8vgps_th.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://littlecodingfox.blogspot.com/2010/05/worldbase-progress-pt-36.html</feedburner:origLink></entry></feed>

