doodledodge – A Proof of Concept Android Application

We’ve released our first Android App in conjunction with TripleFrog, LLC, called doodledodge.  Our goal was to create an app to learn as much as possible about the app-development world:  RootElement needed to learn how to develop apps, TripleFrog had to learn how to design and market for apps.

We wanted an app to accomplish the following:

  • Have a simple, but expandable storyline
  • Implement a clean design
  • Build on a simple MVC framework
  • Use a game/physics engine
  • Have the ability to leverage the same code-base for both a free and a pro build of the app
    • Free would be ad-based but you would only have 1 life.
    • Pro would have no ads, but give you 3 lives.
  • Use an ad provider for the free version
  • Send to multiple markets
  • Work on as many screen sizes as possible.

Once we chose the idea, Kyle started working on some simple designs and Mike and I went to work on the game itself.  We started out with andengine but in our implementation it seemed to lag way too much, so we moved to JBox2d instead because found it had better collision detection and overall performance.

We created 3 android projects in eclipse for doodledodge.  The is a library project that has all the code, layouts, and assets needed for the game.  The other two projects are actual android projects with manifests pointing to different Application Classes.  So, the free app loads up DoodleDodgeFree, then the game checks to see if it’s free or pro, and manipulates the layout and settings accordingly.

For an ad provider, we started with admob, but then moved to the ad-aggregator adwhirl.  We found that, even during testing, admob had a pretty low fill rate.  Adwhirl allows you to use multiple ad provider networks through one simple interface.  So far our fill rate is close to 100%.

TripleFrog did an amazing job of providing design and implementing a marketing blitz to get as much visibility as possible, including designing and building doodledodge.com.  We all worked together to build a reusable model for building android apps from idea to release that we hope to reuse on all of our applications.

Check it out here: doodledodge.com
Or, in the market: https://market.android.com/details?id=net.rootelement.android.doodledodge.free
Or, on your phone, use this QR code:

Tags: , , ,

Leave a Comment

Android Development – XML-Based Layout Requirements

Just a quick note to anyone like me experimenting with Android development. Take this XML snippet:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />
<Button
	android:id="@+id/btn01"
        android:text="@string/goButton"
    />
</LinearLayout>

I hit compile, it built fine and went to the simulator, but the app crashed right when it ran. Apparently, LinearLayout requires the layout_height and layout_width to be defined, as such:

<Button
	android:id="@+id/btn01"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/goButton"
    />

I’ll continue to post these idiot moments as I find them…

Tags: , ,

Leave a Comment

Ants in my Zend Framework (with doctrine for good measure)

I’m starting to use Zend Framework 1.8.4 with Doctrine Object Relational Mapper (because after working on a java/hibernate project, I can’t go back to writing SQL and building databases)  With Doctrine ORM, you can define a data model in YAML or XML and it will build the database with foreign keys, etc, etc ,etc… learn more on that here.
Read More »

Tags: , , , ,

Leave a Comment

Granite SecureAMFChannel – AMF over HTTPS

At work we’ve started to use JBoss, writing an application in Java and AS 3.0.  We’re using Seam and Tide to sandwich it all together, and we came upon a slight problem.  Everything worked out great in the test environment, but when we went live, on an HTTPS connection, firebug was reporting that the AMF request out of flex was failing.  That’s due to the services-config.xml in the application pointing to a non-secure connection.  After much digging, we found this to be the solution.
Read More »

Tags: , , , , , ,

Comments (1)

Intro to Grep for M$ People

In my “free time” I’ve been idly trying to become proficient at the *nix command line. As told by my previous “converting to Linux” article, I’m trying to make the shift over to Ubuntu full-time, but for a Microsoft-head such as myself, the move isn’t exactly instantaneous.

So, in an attempt to log my efforts, I’m going to start posting little pieces of information that learn/figure out. Today we start with a light lesson in grep.
Read More »

Leave a Comment