Skip to main content

Posts

Showing posts from May, 2013

Project proposal - Accepted

I'm working on this games malarkey as my CS Final Project. I've just had the project proposal accepted, and will be allocated a supervisor next week. I'll have to work up the Full Project plan once I've had a discussion with my supervisor... but for the minute the outline of my project is as below.

What's interesting is that in the two weeks since I wrote it I've done a fair bit of research,  discovered Corona SDK and decided that even if I didn't get my proposal accepted I would crack on with this, as I've rediscovered the fun I used to experience coding back in the 80's.

I've also realised that building/provisioning and just about everything for Android is about 20 times easier than for iOS.


As if to re-enforce that point the nice people from Apple just phoned to say they had to cancel my Developer account, as my Apple login was already linked to my iBooks itunes connect account. So I have to wait for a refund, create a new apple account, (an…

Corona Sprite sheet starter

I had a quick bash at animating the dinosaur character. I cut and paste arms and legs and tail and saved as a sequence of 4 .pngs.




I put these into Texture Packer, and it spat out a datasheet, which is referenced in the very simple code below, and Bob's your uncle, I've got a clunky moving dinosaur... a bit of polish, and a few more frames and it should look a fair bit better.





-- basic sprite animation

local sprite = require("sprite")

local sheetData = require("ninjadinodata")
local spriteData = sheetData.getSpriteSheetData()
local sheet = sprite.newSpriteSheetFromData("ninjadinodata.png", spriteData )
local spriteSet = sprite.newSpriteSet(sheet, 1, 4)
sprite.add(spriteSet, "runningDino", 1, 4, 350, 0)
local instance = sprite.newSprite(spriteSet)
instance.x = display.contentWidth/2 
instance.y = display.contentHeight/2
instance:prepare("runningDino")
instance:play()


Pivotal Tracker

At Dev8ed @AlexBilbie talked about the workflow the Lincoln Uni dev team uses. One of the tools they have embraced is Pivotal Tracker , a lightweight agile, collaborative project management tool.

I thought this project would be a good opportunity to try it out, not so much for the Agile points scoring approach, but as a way of tracking progress, issues and bugs and sharing that easily with my Project Supervisor.  Whilst the tool is basically web-based, there is a rather cool iPad app...




I've set up the basic outline as a public project, I'll update it as soon as I find out if my proposal has been accepted..
If not I'm going to work this through anyway as I'm really enjoying, learning and building stuff. https://www.pivotaltracker.com/projects/835225/overview



The project feed is : https://www.pivotaltracker.com/user_activities/87f0860e313fd3346c8274d46a60253f

Unpleasant Horse

I've been looking at a lot of games to try and work out the most intriguing game mechanics. One that I'm quite fond of is "Unpleasant Horse" for iPhone: https://itunes.apple.com/gb/app/unpleasant-horse/id429246613?mt=8
"Unpleasant Horse is the result of PopCap's first game jam event, where employees formed small teams, chose a randomly generated name from a hat, and attempted to make a complete game in 24 hours. The name this team drew was “Unpleasant Horse Racing in the Sky”, and off they flew! It took a few more weeks to finish it up and apply some polish, but what you see here is essentially the game that they made during the game jam. We hope you enjoy it."
It opens to a thrash metal tune, and lets you fly your little horse into others shoving them into the meat grinding floor... The game play is simple, the graphics are polished ...










Animation nation

So I've been playing about with the Corona SDK, which really is very simple, and has quite readable API documentation.
I've built a simple animation for a splash screen that uses the physics engine...



The API handles all the tricky stuff...

--
-- main.lua
-- author @rob_work
--
local physics = require("physics")
physics.start()
physics.setGravity( 0, 60 )

local floor = display.newRect( 0, 400, 1024, 00 )
physics.addBody(floor, "static", {density = 1.0, friction = 0.3, bounce = 0.2, isSensor = false})

local logo = display.newImage( "images/tentacle_games_logo_medium-400px.png" )
logo.x =500
logo.y = -150
physics.addBody( logo, "dynamic", { density = .5, friction = 0.1, bounce = 0.6, radius = 90 } )

local logoWords = display.newImage("images/GAMES.png")
logoWords.alpha = 0
logoWords.x = 500
logoWords.y = 550

transition.to( logoWords, {time=3000, alpha = 1})


Spritely

I'm working through a number of Corona Tutorials, like this cracking talk from Seb :


... and have started reading the (really rather accessible) "Programming in Lua" (third edition). I've got a Lua app on my Nexus phone, though it seems to balk at some of the sample code... likewise the Lua app (Lua Coder) on my iPad... I guess they may be running a slightly different version of Lua... the book cover v5.2. However the learning curve isn't anywhere near as steep as it was picking up Java, and a lot of the structures remind me of BASIC, which is where I started coding way back in 1980.
As a bit of light relief between the learning I've been working on some simplified version of the Ninja Dinosaur and Pirate Robot characters I created for an iBook last year. I'm working on turning them into sprites so I can get a bit of GIFtastic action going... will keep you all informed through this blog.

coloured logo

I've tweaked the logo in Photoshop, and will probably turn it into an SVG at some point...
quite pleased.

First post- Logo

I'm working on a game using the Corona framework, which is pretty cool. I'll use this domain to document the process.