Skip to main content

Posts

Showing posts from June, 2013

Made with Marmalade

Last night I nipped up to London to join the London Lua Group meet-up at the Marmalade offices.

The Marmalade team made us feel very welcome, and explained a bit about the platform.
Marmalade started as Ideaworks Game Studio, making games like Call of Duty: Black Ops Zombies, Lara Croft and the Guardian of Light and Backbreaker.
Their early work focussed on porting PS1 games like  Tony Hawks skater, and Final Fantasy to mobile platforms like Symbian and N-Gage.

The Marmalade SDK provides a route to cross platform deployment from a single code base, exporting to Windows 8, LG tvs, iOS, Mac, Android- which has so many different GPU's and screen sizes its much like building for multiple platforms.
Marmalade provides pre-compiled code for functions, and glues these together with native code, in a pure C platform abstraction layer. Quick builds on top providing a further Lua abstraction layer, tweaked for speed, and accessed through plugins for Xcode, and Visual Studio, or directly thr…

Rapid development - first iteration

So, I've picked out the main classes from the game description, and built them. 
Pretty standard fare, a plain background image, with a slow scrolling far background, and a faster scrolling near background. Some basic sprite images pulled into a sprite sheet and manually selected. 
Touch listener.
Bobs yer uncle.
So next step is to add some obstacles and pirates.


Built with Corona... in Lua Glider

I splashed out on Lua Glider today, formerly known as Corona Cider. Whilst I am delighted to code directly in Text Mate2 and the SDK simulator, I really missed the hand holding provided by my IDE of choice Netbeans...
So I was delighted to find out that Lua Glider is built on Netbeans, and holds the whole development environment together really well... although I miss the unit test tool.

Pirate Robots

The London to Brighton bike ride closed down the village today so I hid in my Allotment shed listened to the CoronaGeek podcast, and drew pictures of Pirate Robots...


Double sided

The Build Brighton Hackspace (http://www.buildbrighton.com/blog/) has inherited an enormous laser printer, which is perfect for printing out little A5 double sided booklets such as my current document of choice: http://developer.coronalabs.com/demo/APIReference.pdf
There's a cracking mac app - https://www.macupdate.com/app/mac/21068/create-booklet which bundles pages into the right order for double sided output.
For some reason it just feels much easier to reference API calls from a little booklet, than plodding through a pdf.
Another exciting opportunity has arisen in the form of a London Lua user group meetup at the Marmalade SDK London HQ... This is a cracking opportunity to talk directly to the folks who build that SDK. http://www.meetup.com/London-Lua-User-Group/events/123416002/

Neat.


Tiny Tutorial

There are loads of really useful You Tube tutorials out there for the various cross platform frameworks.

In fact there are probably too many, making it hard to know where to start.
The Corona SDK site offers a good selection:
http://www.coronalabs.com/resources/tutorials/ 
and
http://www.coronalabs.com/resources/videos/ 



I followed the basic Newbies Corona SDK tutorial this evening, and had a simple "game" running in an hour or so.




main.lua
display.setStatusBar(display.HiddenStatusBar)
local physics = require "physics"
physics.start()
physics.setGravity(0,0)

local background =  display.newImage("background.jpg")

local green = display.newImage("green.png")
green.x = 100
green.y = 100
physics.addBody(green, "dynamic")

local red = display.newImage("red.png")
red.x = 1000
red.y = 560
physics.addBody(red, "static")

local red2 = display.newImage("red.png")
red2.x = 800
red2.y = 500
physics.addBody(red2, "static")

function …

Doodlin'

I've been working on the narrative description of the game, so I can identify the Classes the game will need.
I found some really useful mobile templates http://gliderguns.files.wordpress.com/2010/01/android_wireframe_templates3.pdf
 and http://www.uxarray.com/wp-content/uploads/2009/03/sketchbook_3pages.pdf, and have printed out a stack and have been using them as scribble pads to sketch out ideas whilst on calls, instead of doodling the usual nonsense.



Even more Iconic

I was looking for a way to make the icons a little more "shiny", and found:
http://www.gieson.com/Library/projects/utilities/icon_slayer/
Icon Slayer.

I though Icon Robot was cool, but this site allows an image to be uploaded, tweaked, for drop shadow, bevel, corner rounding etc... and then generates piles of icons...In fact if anything it creates too many icons, large ones, small ones, some as big as your head... etc...

So many useful tools out there in the world.



Iconic

So, it turns out there are a pretty wide range of screen resolutions across the iOS and Android platforms.
Even something as simple as the icon for the app requires a number of versions to meet requirements.
iOS needs 57x57px icons for iPhone 3G and 3GS (and iPad),

114x114px for iPhone 4,

144x144px for retina display something or other...

and a ginormous 512x512px for the iTunes store.

The files have to be named Icon.png, Icon@2.png and Icon-72.png...and some such
Luckily there's an app for that...
ICONROBOT from FuDesign

Icon Robot (FREE) - iPad 3 supported! from Fu on Vimeo.
Just drag and drop a big image (say a 512x512px jobbie) onto the app and it resizes, renames and saves... superb.
The app is available from a dropbox link here: http://vimeo.com/fudesign/iconrobot
IconRobot, not only does the job for iOS, but for Android too, which has its own set of needs:
72x72 px  - icon-hdpi.png,  48x48 px  - icon-mdpi.png,  36x36 px  - icon-ldpi.png