Jul 212012
 

About a year ago, I wrote many, many Android apps. Some of them were games. All of them were written under a “one app in one day” constraint and as such the games never had any sound. No sound effects, no background music, no waveform generation, nothing. Fast forward a year and they’ve all become open source on GitHub. I’d wanted to update them all while re-using as much code as possible. How then was I to maximize the effect (all the games get all the features) while minimizing the effort of adding sound to all of those previous games simultaneously? And how best to share the effort with other Android programmers? In this, the first of a three part article series, you’ll find out. For part 1, I create the project, setup the environment, make a plan, and update the waveform generation code on my currently in-market apps. You can follow-along with this article series in real-time by watching the commit log to the Android Simple Game Audio project on GitHub. And stay-tuned for the upcoming part 2, wherein I become a Foley artist and make use of some interesting and (not quite) antiquated technology.

Creating an Android Library Project
Including an Android Library Project in Your Android Project (Yo Dawg)
Planning (Knowing Exactly What You Want To Accomplish)
Iterating (One Feature At A Time)
Low Bar: Waveform Generation
Update Your Markets and Ad Copy
Mid Goal: Sound Effects

Continue reading »

Share
 Posted by at 12:58 am
Jun 112012
 

If you grew up in the 80s or early nineties, there’s a good chance you remember the AD&D goldbox series from SSI. These were top-down strategic RPG games based on the advanced dungeons and dragons pen and paper RPG series. While the first (Pools of Radiance) was my favorite, there were at least 10 or 11 others to play. Then there’s the Elder Scrolls, Fallout, X-Com, Master of Magic, Wizardry, Bards Tale, Albion, Superhero League of Hoboken, and about 1000 others. These games were great fun back in the day, but with some of the new improvements to DosBox you can actually improve the original experience on your Android handset or tablet.

Here’s a quick guide for playing your classic games with touchscreen and transparent keyboard on your Android.

  1. Install a DosBox port for Android. I highly recommend DosBox Turbo, as they are bleeding edge.
  2. If you’re using DosBox Turbo, also install ‘DosBox Manager’, it adds easy custom DosBox Profile Support
  3. Locate the game you wish to play, and extract it to a directory on your android. I recommend /dosbox/GameName/
  4. Install a good software keyboard for Android. I recommend ‘Hackers Keyboard’, as it comes with a transparent theme you can select
  5. Fire up Dosbox Manager, or manually edit your DosBox.cfg to have an appropriate amount of memory (32mb) and low frameskip
  6. While you’re editing the config, go ahead and enable mouse support, with absolute (perfect for touchscreen!) positioning
  7. Finally, edit the autoexec.bat in the config and add a couple of lines to start your game such as ‘cd dosbox/gamename/’ ‘startgame’

Update – Wizardry 7 by special request:

Share
 Posted by at 4:53 am
May 212012
 

Here’s a quick pro-tip for a lazy Sunday. Want to run an obscure Linux app on your rooted android tablet? Maybe you want to do some Wireshark Snooping, run a Linux game with sound, or download a set of Linux images at maximum speed? With the convergence of a few awesome technologies, we can now install and run pretty much any Linux application or environment on your Android device. Follow the steps below or check out some of the example photos of apps running on my Dell Streak 7.

  1. Install Linux in a chrooted environment, you can use Install Linux from the app store to save time.
  2. (For first-timers, open setup under the ‘menu’ in ‘Install Linux’, allow writing to root filesystem and set your loop device size and you should be good to go)
  3. For more advanced users, choose ‘Armhp’ for the hard floating point speed improvements and Debian testing for the additional package support. There will be some broken packages as a result from both, but the performance increase is worth it.
  4. Install Xserver (for graphical apps), or you can use a VNC client if you wish.
  5. Install an SSH client to connect to your installation
  6. Run the ‘X Server’ application
  7. Connect to localhost via terminal (select ‘local’ in connectbot), run ‘linuxchroot’. This will give you a root console on your local Linux installation if you like.
  8. Switch back to your terminal and set your display variable with export DISPLAY=127.0.0.1:0.0
  9. Still in the terminal, install xterminal with apt-get install xterm. This will install a bunch of X prerequisites as well.
  10. Fire up an X terminal for your X Server app with xterm &
  11. The X terminal process will continue to run in the background, so switch on over to your ‘X Server’ application and you should see your XTerm!
  12. From here the sky’s the limit. You can install a window manager, try out expiramental packages, play games with sound, install SSH and FTP servers, etc.

Let’s say there’s an extremely rare Linux distribution from Russia that you can only download from an encrypted private torrent tracker. These things happen, but your android bittorrent application may not support protocol encryption. This is easy to do with your new Linux install.

  1. Open up a console either graphical or text as describe above.
  2. Install your client of choice (deluge, say) with apt-get install deluge
  3. Fire it on up with deluge &
  4. Add the Torrent
  5. Voila! Even with the crappy screens on most Android tablets it’s pretty useful. (check out my 800×480 Streak downloading an Ubuntu torrent)
  6. For others with limited screen space, transmission-daemon is good as you can interface with it through Android’s local browser.
Share
 Posted by at 1:50 am
Apr 122012
 

Just throwing up some statistics for posterity and new readers. Sometimes it’s helpful to give a little context to the state of my work and the site etc. These come from the advanced GitHub search box and manually going over the top user profiles by number of repositories, and I implore anyone with contrary data to let me know so I can update these. The text of the infographic image is below the jump for those of you who don’t like to load large images in posts.

Continue reading »

Share
 Posted by at 9:17 pm
Apr 122012
 

After combing through the site archives, I’ve found another 11 applications from 2001 to 2007 that I wrote. I thought they could use a good home on GitHub. You can check them out on my GitHub page. They are

  1. Ping Rebooter
  2. Title Bar Scroller
  3. SNES Screensaver Script
  4. Super Simple RSS
  5. Python Food Statistics
  6. Paint Camera With Laser Pointer
  7. Gmail Save Game Saver
  8. File Metadata app
  9. A Pair of THC Calculators
  10. Easy Execute Library
  11. CSServer Adventure (A console RPG)
Share
 Posted by at 12:34 am
Apr 112012
 

I’ve been studying my site and app traffic for a while now, and I’ve come to a very sure conclusion. Open-sourcing an app does nothing to decrease app sales or ad traffic, but increases web traffic significantly. Therefore I’ve decided to open source everything I’ve ever done, BSD licensed so you can use it at work.

Seriously, all the sources. Every one. To start with, I’ve created repositories for the roughly 70 Android applications I’ve released. As of today, you can browse through them all on my GitHub account page.

Unfortunately for me, the task of open sourcing 100+ projects is a daunting one, so I set about writing a script to troll my folders and create GitHub projects. This script itself is also available on GitHub here. Read on for more info about the construction of the script.

Continue reading »

Share
 Posted by at 10:50 pm
Jan 192012
 

So I’m on my lunchbreak, browsing the hot deals forums over at Fatwallet.  I stumble upon what appears to be a very solid deal, 24 months of JustCloud unlimited storage backup service for 35 bucks.  Can it live up to the hype (EDIT – Nope, it pretty much sucks for me, but their cancellation process is painless…)?  Is it even possible to stress test this in the land of bandwidth caps and SOPA hearings?  I’m going to find out.

For those of you just finding this blog, I’m a complete media glutton.  I’ve (legally, at least for now) made digital backups of every DVD, audio CD, BLU-Ray, cartridge game, Playstation game or eBook I’ve ever owned or created.  On top of that, I tend to keep a local store repository of my 600+ steam game collection for fast retrieval (and if they decide to later pull any of the games I bought).  Add in the couple hundred gigs of personal photos I’ve taken as well as tons of software projects, virtual machines, disk images, dev environments, half-finished projects, etc  and you’re looking at about 5 terabytes of data.  This is locally spread out over my two Drobo storage bots full of 2tb drives.  Unfortunately, some facts about the internet here in America come into play:

Continue reading »

Share
 Posted by at 9:53 pm
Jan 122012
 

Yep, I finally  made the switch to using Google Voice as my primary number.  My cell phone number hasn’t changed though, I’ve simply paid google the 20$ carrier transfer fee and ported my number over to Google Voice.  No more bills from Sprint.  No more automatic charges.  No monthly bill.  Ever again.  I expect to save 95% of the cost of my cell phone over the next year and lose absolutely none of the functionality.

How is this possible?

Continue reading »

Share
 Posted by at 1:19 am
Jan 022012
 

This is a short tale of frustration.  Upon hearing that GemRB had been ported to iOS and Android, I rushed over to download.  This is an awesome reimplementation of the Infinity engine used in the Baldur’s Gate series of games.  This excited me greatly, as Planescape: torment and Baldur’s Gate 2 were two of my favorite RPGs ten years ago.  My current Android device of choice is rocking a 1024×600 resolution screen (widescreen) and my iPad 2 is rocking a 1024×768 screen.  Wanting to play some Baldur’s Gate 2, I set about to install and configure it on both devices.  The iPad screen resolution matches my old PC’s resolution without a widescreen patch, so I set about to install to that first.  It turns out you need to install from iTunes, as apple doesn’t allow GPL software on the iPad.  I set about to install iTunes.  After iTunes finishes, it alerts me that I need to delete all the data from the iPad before I can install RubyGM from my laptop.  FINE, I proceed to back up all the data and apps from the iPad and sync to my laptop.  Finally, it starts to transfer the RubyGM binary over to my iPad2 and… failure.  With a generic error code, my time on iPad came to an end.  I’m literally at an impasse, short of buying a mac, signing up as a mac developer, installing XCode, and debugging the install process.  A complete black box.

I next set about to install this on my Android device.  First I installed it from the App store.  This worked great.  Then I uninstalled it, and installed from the direct download link on their webpage (so I know my friends with unlicensed devices would be covered).  It works fine too.  Even if it didn’t, there are four separate versions posted up for one to try out, and the android SDK works on all platforms.

End of story:  You can find my iPad on eBay here.

Share
 Posted by at 3:28 am