Another packager update

So, here comes another release of my BennuGD Packager!

You can now also set a XHDPI icon for your app

This new release includes some checking for "problems" I've seen people encounter when using previous versions of this program.
To name a few:
  • The packager will now refuse to package a directory if it doesn't contain a file named "main.dcb".
    Up until now you could package a directory regardless of what files it contained but BennuGD for Android required your main DCB file to be named "main.dcb". This caused confusion for some users.
    The Packager now makes this requirement explicit.
  • Packaged games should now work fine in devices using Adreno GPUs! (Thanks to herve_02 for taking the time to have a look at the issue).
  • You can now also set an icon for devices that use an XHDPI (~320dpi) resolution.
  • Some people where complaining that the packager wasn't working because it was trying to find an old version of the AdMob Ads SDK and the Android SDK had updated it (even if you hadn't asked for in-game ads!)
    This new version will try to use any version of the Admob Ads SDK you have installed. This should make everyone's life easier :)
    Also, the packager won't try to find it if you don't ask for ads.
  • The windows version now includes a copy of Oracle's JDK and Apache ANT. That way you don't have to install them manually. In order to use them, please launch the app through the provided "BennuGD_Packager.bat" file. If you already installed those in your system and prefer to use them, you can run the BennuGD_Packager.exe file directly.
  • Some other stuff I might've forgottten about.
You'll get this message if the given dir doesn't contain a file named "main.dcb"
On a related note, the code for the packager now has its one project page in Google Code. Have a look here.

If you're using Ubuntu, you can get the latest version of the packager from my PPA (you should receive an update in a couple of hours, but that's a minor one) and if you're using Windows, please get it from here.

Hope it helps.

Progress update

A lot has happened since the latest blog entry. Here's a summary of what's been going on:

New packager release

I released a new version of the BennuGD Packager, this is what it looks like:
Packaging your games for Android has never been easier!

New features:

  • Support for release builds. Just specify the path to your keystore and let the packager handle everything :) Build created in this mode can be uploaded to Google Play (and probably other marketplaces, too).
  • Automatic decompression of resources. On Android your FPG, MAP and FNT files must be uncompressed. Up until now you had to do it manually but now it's the packager that uncompresses them so that you don't have to.
  • AdMob support! Once you register in the AdMob website and create a new app there, you'll be given a Publisher ID. Just enter that ID into the packager and your app will display ads!
    Monetize your app by releasing both an ad-supported free version and a non-free version.

You'll need:

  • Oracle JDK (not JRE): Get it from here. Again, install the JDK and NOT the JRE.
  • Ant: I'm now distributing the packager with the installer for WinAnt. If you already have ant in your system you don't need to do anything, but you can use this installer to get Ant in case you don't.
  • Android SDK: Within the SDK install the Android 3.2 (API 13) SDK platform and the Google AdMob Ads SDK if you want to be able to use ads.
  • Make sure you uncompress the packager to a path without spaces in Windows.
Of course, if you're running Ubuntu Quantal or one of its derivatives, you can install the BennuGD Packager much easily from my PPA. You'll be happier and you'll receive updates automatically and more frequently.
>>Get the new packager from here<<

First Android games have hit the Play Store

Some brave developers have already uploaded their games to Google's Play Store. Here they are:

Monkey vs Robots Lite

On it's developer's words:
A casual puzzle game with pixelart graphics and classic arcade gameplay.
Monkey vs Robots is a casual puzzle game with pixelart graphics and some mid-nineties retro feeling, with a classic arcade gameplay similar to Puzzle-Bubble or Arkanoid.
Your objective is to wipe robots out of your jungle; the less shoots you use, the better reward you will get. Just avoid the coconuts to bounce on the walls since they break before destroying the robots.
This is the lite version of the game. Full game is not available yet.
If you liked the game and want more stages, enemies and coconuts please rate it and we'll be very happy to work on the full version.
Thanks for playing!
Have a look at the gameplay video:

Pix Frogger


Getk the free version here.
From my friends at Pixjuegos:

PiX Frogger is a multiplayer racing game about frogs crossing the street.
The game allows 2 players playing simultaneously on the same device!
A great casual Frogger clone with a multiplayer touch (it uses mod_multi, by the way :)

Dead Snow

Check the free version here.
From my friends at Pixjuegos:

*This game was made in only 3 hours!*
* Try it, and if you like it, please invite us to a snack by buying the donation version! *
You control a Snow Ball which hates the world and goes down the hill smashing everything.
But avoid trees, they are stronger, and also explossive barrels!
Another great casual game, created in just three hours!

Nerea's Bank Panic 

From the nice guys at Pixjuegos.
Some robbers are attacking the bank, and the only one who can save them is you, the sheriff!
A humble tribute to SEGA & Sanritsu Denki's Bank Panic!
It's dedicated to Nerea for her birthday!
Isn't love wonderful? Panreyes created this game and published it in Google Play for his girlfriend's birthday!

What's left?

People are already uploading games, the port mus t be done, right?
Unfortunately not quite yet. There are a few tasks to do yet:
  • Wider GPU support. There are problems with some Adreno GPUs. I have an idea of why those are happening buthaven't still been able to test the fix.
  • Mouse input support I've been working on patching SDL2 to support real mouse input. Up until now mod_multi simulated mouse events when the user touched the screen. You'll now be able to disable mouse emulation (mouse emulation will be an opt-out feature) and detect real mouse input just as in your PC. The code for this is already written in the SVN and the feature will be bundled with the next version of the Packager.
  • Gamepad/Joystick support I've been looking at patching SDL2 to add gamepad/joystick input. The current implementation lacks any kind of joystick support and all the code must be written. I pretty much know how I'm going to do this but I'll have to sit down and write the code.
  • Bugfixing Bugs will be found and we'll have to mercilessly kill them.
Please note that in order to enjoy full mouse/gamepad/joystick support you'll need to be running Android 4.1 in your device. Older versions of Android will give you some but not all of the features (from Android 2.2 on you'll be able to get left mouse button signals, but you'll need a more recent version to be able to get right mouse button clicks, for example).

Hope you like the news!

"Man on the Moon" Packager release

Today I'm releasing a preview version of the BennuGD Packager for Windows and MacOS X. It works in Linux, too, so even though I haven't packaged it yet you shall soon be able to install it from my PPA.
The Packager should ease the packaging of your games for Android.
The icon was made by Javis Arias, from Pixelatom
Please be sure to first follow the pre-install instructions for Windows or OSX as those describe what you need to do to get the program working.

When launched, it looks like this:

It looks very simple and you'll notice that it includes a couple of disabled items: (right now you can only package your games for Android and you cannot change the app descriptor).

So, basically you must enter the directory where your game's data (including the game's main DCB file), the name and the icons that you want your app to show when installed.
If you've got a phone or an emulator instance running, you can choose to directly install the APK.
Also, when done packaging, the program will let you specify where you want to save the resulting APK.

The resulting APK will be usable in ARM or Intel based Android devices running Android 2.3.3 or later. Just one caution: ensure that your game's DCB file is named "main.dcb".

If you tested it yet, I'm telling you: the Android port is not yet done. scale_resolution, for example, doesn't work as expected. Still I consider that you can already use this program to get going and start porting your games to Android. I'll update the binaries and let you know when I publish new binaries so that you can update the Packager.
I'll publish some more notes on what works and what doesn't at a later time.

As a last note, you'll notice that you can launch the main Android SDK tools (SDK Manager, AVD Manager and DDMS) directly from the BennuGD Packager, it should also detect any AVD you have created and allow you to launch it directly from the GUI.

Keep an eye on the blog in the following days, as I'll post some more detailed info about how to use all the capabilities included.

<<Get the current binary version for Windows here and for OSX here>>

Humbly dedicated to the memory of Neil Armstrong.

Packager update

What you can see below is a screenshot of the current state of the BennuGD for Android packager when run in Ubuntu Linux.
The app is not yet fully tested but appears to be working. If you want to give it a try, you can download the (Python+Qt4) source code from here.

Will let you know when it's done!
And this is what the preferences dialog looks like when you set the Android SDK path to a place where it cannot find the Android 2.3.3 SDK:
Support for other versions of the SDK will come, too
[Update] Fixed the awkward layout!

Opening links from code

@panreyes suggested this morning that there should be a way to open links from code. Since the Wii version can already do it it seemed like a good idea to enable this for Android too. So since revision 485 in the repo you can do it.
You can see a small video (yep, I love making small videos) of the feature in action below:
In order to open a link your code would look like this:
exec(_P_NOWAIT, "http://themostsearched.blogspot.com", 0, 0);
Just ensure to import mod_sys before using this function.

The cool thing is that Android is smart enough to know what type of link you're trying to open so if you give exec() a YouTube link, Android will open the YouTube app, if you give it a Google Play link it'll open Google Play, and so on.

I'll soon release binaries together with the packager. Since it's already working, I hope it won't take long before you can start packaging your own code for Android :)

Blog Archive