Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
31. March 2013


You are going to hear nothing but the sound of crickets on GameFromScratch tomorrow.  April 1st is the one day of the year I turn off the internet. Each year, April fools jokes get worse and worse and worse.  People have said that sarcasm is the lowest form of wit… no doubt, those people were born before Aprils fools day.  Actually, in the pre-internet days, I actually found April’s Fools day rather amusing, I love a good prank.  But once the internet got involved,it just became painfully stupid.


Already the first of the bad Aprils Foolsday jokes have infected reddit


If you haven’t detected yet…




See y’all on April 2nd!  The best day of the year, as it’s 364 days away from the next April’s Fools day…


I seriously will be completely offline browsing wise tomorrow, it’s become an annual tradition for me.  I will of course still be available by email should anything not April 1 related come up!

Totally Off Topic

10. December 2012


I don’t throw around words like ‘Nanny State’ often or lightly, but when it comes to epically stupid “think of the children” laws effecting video games I take notice.  This one is a whopper though.  When I think Nanny State… there are a few countries and companies I think of, Germany and Nintendo nearly topping both of those lists ( well.. and Australia…  they’ve mastered the art of stupid law making in the name of protecting children ).  When Germany and Nintendo combine, the results are some epic stupidity.


As of right now you can’t buy games online in Europe that have a PEGI 18 rating, unless it’s after 11PM and before 3AM.  So, if you want to buy Assassin's Creed or ZombieU online and aren’t a night owl, you can’t.


Here is a quote from Nintendo in response to Eurogamer:

“At Nintendo we always aim to provide a safe gaming experience for fans of all ages and ensure that we comply with applicable legal age restriction requirements across Europe,” a Nintendo spokesperson told Eurogamer.

“Legal age restriction requirements vary across a number of European countries. Since Nintendo of Europe is based in Germany, Nintendo eShop is complying with German youth protection regulation which therefore applies to all our European markets. Under German law, content rated 18+ must be made available only at night.

“Therefore the accessibility of 18+ content in Nintendo eShop is limited to [USK: 22:00 UTC until 4:00 UTC] [PEGI: 23:00 UTC until 3:00 UTC].”


So, Germany has a downright stupid child protection law on the books, and Nintendo Europe’s offices are based out of Germany, so they are applying the law TO ALL OF EUROPE.


So, Germany get’s the stupid prize for enacting a law that makes not a lick of sense.  It’s modeled in the mode of television restrictions where adult content can’t be played until a certain time window, which itself is completely ignorant of 10 years of progress in digital distribution rendering the entire concept archaic and mostly pointless.  Not to mention the fact… what are the demographic that are up between 11 and 3?  Outside the university crowd…  that’s basically insomniacs, people working nights and….  well, students under the age of 18!  Buying *ANY* content on the app store already requires users submit their age, making the entire scheme redundant anyways.  All you are doing is annoying your users.


Nintendo obviously takes their share of the blame here.  They have a history of stupidity when it comes to online, "protecting” users behind those god awful friend codes being the most glaring example.  This just seems to be another example of them being pretty out of touch with online reality.  Now it may be a legal requirement due to their office location, but this doesn’t absolve them of responsibility.  First off, basing your European operations out of the most legally anti-video game country in Europe is a downright stupid decision to start with.  The fact they can’t seem to work their way around a problem that EVERY other online retailer solved years ago… well, that’s 100% on Nintendo.  It would take their lawyers about 20 minutes to spin the eStore European division off as a subsidiary and open an unmanned office in a more legally friendly country.  Instead they took the lazy and downright stupid approach of applying this bad restriction to all of their customers.


I imagine in time common sense will prevail… at least, I certainly hope it does.


This post isn’t as off topic as it might seem.  These kind of legal hassles, especially as it applies to digital distribution, should be of concern to all indie game developers.  When or if you register your company, you should be exceptionally mindful of your host countries laws and how they can impact your legal rights and liabilities.

Totally Off Topic News

17. September 2012

In recent years I have gotten used to having increasingly larger hard drives, so I never really paid attention to how large Windows 7 had gotten.  Until I recently installed Win 7 on a 60GB SSD partition…

and nearly half of if was consumed by the OS!


This is simply put, insane.


The first obvious use of space is the PageFile ( 4GB, or 1 to 1 with actual RAM ), but for now I am leaving that one be.  So I wondered how much low hanging fruit I could get, and the answer is, surprisingly a lot.


First to go, System Restore.  I never use this feature anyways.  I backup remotely, so If my OS corrupts, I reinstall.  I never trust the state of a machine that requires a System Restore anyways.  Net savings, 1.5GB.


Next up, and this one kinda sucks to remove, but Hibernate.  Removing Hibernate ( powercfg –hibernate off ).  Net savings, 4GB.


Then I went in to Windows Features and removed the bits I didn’t use ( Games, DVD Maker, a few others ) for a grand total savings of a few hundred MB.  Meh.


At this point I started to think I was out of options, then I looked at WinSxS in the Windows folder… holy crap.




10GB, and a fresh install!  What the hell is going on here!


So looking in to it a little deeper, apparently Windows 7 makes a backup copy of pretty much every file it ever patches, so after a service pack there is a gigantic amount of bloat, so you can uninstall the Service Pack.  This one falls under the same category as System Restore… I will not undo a Service Pack install… I will reinstall completely.  Problem is, I couldn’t figure out a way to remove bits from WinSxS safely, until I found this.

Basically you run ( as Admin )

dism /online /cleanup-image /spsuperseded




And after it finished:




A net savings of nearly 4GB. 


So, grand total I managed to shrink the install size down by damn near 50%, with almost no downsides.  So, if you are running on a solid state drive and need more space free, consider the steps above.  Just a warning, if something goes wrong ( a bad driver install, a corrupted program install, etc… ) you will probably be doing a reinstall.

Totally Off Topic

3. September 2012



Have I ever mentioned how much I hate


a) developing for Android

b) using Eclipse

c) developing for Android using Eclipse?



Well, I do.  So often you spend more time fighting the tools than you do fighting with code, and today was yet another example.


I have some Moai code that worked perfectly well, both in the Windows host and on my device.  I made some alterations to the Lua code testing it to work on iOS ( by the way, the process of getting Moai running on iOS is 10000000x times easier than getting it running on Android! ), so other than some scripting changes, I haven't changed a thing.


I load up Eclipse click Run and…


[2012-09-03 14:54:20 - DeviceMonitor] Failed to start monitoring 84ef7369

[2012-09-03 14:54:20 - DeviceMonitor] Failed to start monitoring 84ef7369

[2012-09-03 14:54:20 - DeviceMonitor] Failed to start monitoring 84ef7369

[2012-09-03 14:54:20 - DeviceMonitor] Failed to start monitoring 84ef7369

[2012-09-03 14:54:20 - DeviceMonitor] Failed to start monitoring 84ef7369

[2012-09-03 14:54:20 - DeviceMonitor] Failed to start monitoring 84ef7369

[2012-09-03 14:54:20 - DeviceMonitor] Failed to start monitoring 84ef7369




So I kill off adb ( adb kill-server ) and restart it ( adb start-server ).  Still no luck.


I exit and restart Eclipse.  No luck


I reboot my computer and phone.  No luck


I switch devices and try a different Android device.  No luck



Want to know what it is?  USB3.


Seriously, ADB doesn’t play well with USB3, or at least Eclipse+ADB don’t play well with USB3.


I plug into a different port and everything is just fine.  Well, except a few more gray hairs that is. Sad smile

Totally Off Topic

19. June 2012


A couple months back took a long look at Appcelerator and initially I loved what I saw.  For those of you unaware, Appcelerator allows you to develop “native” applications for Android and iOS in JavaScript that execute in a special version of the V8 JavaScript Engine. I started developing a prototype app of a simple Android game for my daughter and got surprisingly good results quickly.  It was a very encouraging start, but then the wheels fell off.  I notice a number of people end up on this site from search engines looking for an Appcelerator review ( for some reason? ) so I thought I would share my experiences.


For whatever reason, I got distracted and put it down for a while, I came back to it recently and intended to finish off that prototype.  Here is the kicker, the exact same code from a couple months ago, unchanged, no longer works on my Transformer tablet.


I will say, this is frustrating to say the least.  Now, since the code didn’t change it was obviously an update to Android that broke things, I can’t exactly blame that on Appcelerator Titanium ( oh the joys of Android device compatibility… ) but I can blame them for what came next…


You can’t debug on device.  At all.  With the exception of printing comments to logcat, you are basically blind.  This obviously leads to a problem, as here is what happens when I run the app.  ( Which by the way, still runs perfectly fine on my Galaxy Note running Android 2.3.x, its just on my Asus Transformer that it breaks ):




Since I can’t debug on device, this is the results I get from connecting with the Delvik Debug Monitor:


06-19 09:56:51.090: I/TiApplication(1823): (main) [0,0] checkpoint, app created.
06-19 09:56:51.130: I/TiApplication(1823): (main) [46,46] Titanium 2.0.2 (2012/05/30 10:21 2ff31a3)
06-19 09:56:51.170: D/dalvikvm(1823): GC_CONCURRENT freed 268K, 5% free 6703K/7047K, paused 2ms+2ms
06-19 09:56:51.380: D/dalvikvm(1823): GC_CONCURRENT freed 314K, 6% free 6898K/7303K, paused 2ms+2ms
06-19 09:56:51.450: E/TiApplication(1823): (KrollRuntimeThread) [318,364] APP PROXY: [email protected]



And, that is it.  Since I can’t debug on the device, I am pretty much DOA here.  The forums answer nothing ( although I did find other people having similar problems ).  I of course could debug in the emulator with two exceptions.  a) the error only occurs on the actual device b) the debugging experience on Android is still awful.


This is another area with Appcelerator Titanium I always found infuriating… the emulator.  Getting it to actually run with your running emulator was a nightmare, you had to match up the Android build version and run configuration exactly with the version of the running emulator, then it was still a 50/50 chance that it would actually use your emulator, or start a new one.  If you’ve worked with Android before, you know how fun waiting for the emulator is!  There is light and the end of the tunnel with the recently release Intel emulator running a heck of a lot quicker, but unfortunately the JavaScript V8 virtual machine Appcelerator relies on doesn’t work with it.


It’s a shame to be tripped up on such a thing, but actually being able to debug on your device is an absolute requirement, as is demonstrated by this situation.  There are other annoyances with using Appcelerator certainly…  the binaries it generates are “large” to be extremely kind, performance can be a bit spotty at times and you virtually have to write two applications if you want to support iOS and Android, but none of these was enough to make me give up. 


Not being able to debug on device, coupled with some remarkably meh support.. that is.  Combined with the fact my application was broken by an Android update… if I can’t get my code working with my three devices reliably, what happens when I release to the masses with their millions of different devices?


Which is disappointing, as I really liked working with Appcelerator.  I even liked Appcelerator Titanium as an IDE, which is shocking as I hate Eclipse, which it is based on. 


There is potentially light at the end of the tunnel, as there is an open ticket for debugging on device.  Unfortunately, its been assigned medium priority and has already been open for almost a year.


Appcelerator Titanium is an interesting and encouraging product, but for the above reasons, I just can’t commit to using it.  Add native debugging support, and I will certainly reconsider.


AppGameKit Studio

See More Tutorials on!

Month List