Graham Reeves, the feed.

This is most of my stuff, they're usually in RSS feeds so I've aggregated it all.

graham@grahamreeves.com

Links
Source: Twitter / TootleGames | 10 Jun 2010 | 7:35 am

TootleGames: Congrats to our good friends @glpeas for BlindGiRl making the #indiecade #E3 lineup! :D http://bit.ly/9BF2QN #xblig #xbox

TootleGames: Congrats to our good friends @glpeas for BlindGiRl making the #indiecade #E3 lineup! :D http://bit.ly/9BF2QN #xblig #xbox
Source: Uploads from HouseTreeRobot | 4 May 2010 | 1:15 pm

SimpleGui

HouseTreeRobot posted a photo:

SimpleGui

Source: Twitter / TootleGames | 13 Apr 2010 | 3:01 pm

TootleGames: Got an xbox 360? Get BlindGiRl by our good friends @glpeas!! RT @guardiantech: BlindGiRl | Game review http://bit.ly/9z1yc9 #xblig #xna

TootleGames: Got an xbox 360? Get BlindGiRl by our good friends @glpeas!! RT @guardiantech: BlindGiRl | Game review http://bit.ly/9z1yc9 #xblig #xna
Source: Twitter / HouseTreeRobot | 3 Apr 2010 | 3:34 pm

HouseTreeRobot: may soon be on sale in manchester :D http://bit.ly/cELt3C

HouseTreeRobot: may soon be on sale in manchester :D http://bit.ly/cELt3C
Source: Twitter / HouseTreeRobot | 28 Mar 2010 | 1:19 pm

HouseTreeRobot: 97 fans! 3 more and I get to name the url for my page! suggestions on a wall post! http://bit.ly/d8cXds

HouseTreeRobot: 97 fans! 3 more and I get to name the url for my page! suggestions on a wall post! http://bit.ly/d8cXds
Source: Twitter / HouseTreeRobot | 20 Mar 2010 | 2:29 pm

HouseTreeRobot: I have finished this... but this is the unfinished picture [of the future] http://bit.ly/aKsJWr

HouseTreeRobot: I have finished this... but this is the unfinished picture [of the future] http://bit.ly/aKsJWr
Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 1:26 pm

SCAN0007

HouseTreeRobot posted a photo:

SCAN0007

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 12:40 pm

SCAN0016

HouseTreeRobot posted a photo:

SCAN0016

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 12:40 pm

SCAN0015

HouseTreeRobot posted a photo:

SCAN0015

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 12:39 pm

SCAN0014

HouseTreeRobot posted a photo:

SCAN0014

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 12:38 pm

SCAN0013

HouseTreeRobot posted a photo:

SCAN0013

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 12:37 pm

SCAN0012

HouseTreeRobot posted a photo:

SCAN0012

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 12:36 pm

SCAN0011

HouseTreeRobot posted a photo:

SCAN0011

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 12:35 pm

SCAN0010

HouseTreeRobot posted a photo:

SCAN0010

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 12:33 pm

SCAN0009

HouseTreeRobot posted a photo:

SCAN0009

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 12:29 pm

SCAN0007

HouseTreeRobot posted a photo:

SCAN0007

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 12:27 pm

SCAN0008

HouseTreeRobot posted a photo:

SCAN0008

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 12:21 pm

SCAN0006

HouseTreeRobot posted a photo:

SCAN0006

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 12:20 pm

SCAN0011

HouseTreeRobot posted a photo:

SCAN0011

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 8:37 am

16032010156

HouseTreeRobot posted a photo:

16032010156

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 8:37 am

15032010155

HouseTreeRobot posted a photo:

15032010155

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 8:37 am

15032010154

HouseTreeRobot posted a photo:

15032010154

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 8:36 am

15032010153

HouseTreeRobot posted a photo:

15032010153

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 8:36 am

15032010152

HouseTreeRobot posted a photo:

15032010152

Source: Uploads from HouseTreeRobot | 19 Mar 2010 | 8:36 am

15032010151

HouseTreeRobot posted a photo:

15032010151

Source: Twitter / TootleGames | 2 Feb 2010 | 4:57 am

TootleGames: Genius. RT @appcakes: iSandwich – An iPhone Sandwich http://ff.im/-f7cn7 #iphone

TootleGames: Genius. RT @appcakes: iSandwich – An iPhone Sandwich http://ff.im/-f7cn7 #iphone
Source: Twitter / TootleGames | 23 Jan 2010 | 6:56 am

TootleGames: Looking for something different to send to your Valentine? Send a special doodle using Heartist! http://bit.ly/5DXVns

TootleGames: Looking for something different to send to your Valentine? Send a special doodle using Heartist! http://bit.ly/5DXVns
Source: Twitter / TootleGames | 18 Jan 2010 | 11:02 am

TootleGames: RT @blacksmithgames: Rope 'n' Fly is free today. Check http://bit.ly/7gUM4T for more free games in the next days #iphone

TootleGames: RT @blacksmithgames: Rope 'n' Fly is free today. Check http://bit.ly/7gUM4T for more free games in the next days #iphone
Source: Twitter / TootleGames | 16 Jan 2010 | 2:05 am

TootleGames: RT @appcakes: Great App Bake Off Results! http://ff.im/-elUiu #iphone

TootleGames: RT @appcakes: Great App Bake Off Results! http://ff.im/-elUiu #iphone
Source: Twitter / TootleGames | 12 Jan 2010 | 1:23 pm

TootleGames: RT @appcakes: Here are the finalist in the Great App Bake Off: http://bit.ly/4u5gbR Who do you think should win? #iphone

TootleGames: RT @appcakes: Here are the finalist in the Great App Bake Off: http://bit.ly/4u5gbR Who do you think should win? #iphone
Source: Twitter / TootleGames | 11 Jan 2010 | 9:34 am

TootleGames: RT @gavinbowman: Two more fan entries @appcakes! It's a real life Zombie Pizza Pizza and a Jabeh Cake: http://bit.ly/6wz1xc - last day!!

TootleGames: RT @gavinbowman: Two more fan entries @appcakes! It's a real life Zombie Pizza Pizza and a Jabeh Cake: http://bit.ly/6wz1xc - last day!!
Source: Lemon Good | 10 Jan 2010 | 10:30 am

wxWidgets on OS X...

Using the latest version from SVN... it doesn't work out of the box. Here are some notes (once I've got all this working I'll submit TRAC bugs or something similar to wxWidgets...)
  1. I can't use `wx-config --cppflags` in xcode for cpp flags. So I need to do it manually. Maybe xcode has a workaround instead of using execution quotes....
  2. wx-config returns a __WX_MAC__ define, a build then results in an #error No Target defined. It turns out now with the cocoa split, WX_MAC is no longer used, instead I need to manually set the target to be __WXOSX_COCOA__ (or _CARBON or _IPHONE etc). Maybe wx-config needs updating...
It builds! Lets see if it works...
Source: Twitter / TootleGames | 9 Jan 2010 | 12:25 am

TootleGames: RT @appcakes: Don't forget, the Bake Off ends on Monday, but you still have time to sneak in and grab some prizes: http://rfly.me/bakeoff

TootleGames: RT @appcakes: Don't forget, the Bake Off ends on Monday, but you still have time to sneak in and grab some prizes: http://rfly.me/bakeoff
Source: Twitter / TootleGames | 7 Jan 2010 | 4:51 am

TootleGames: RT @appcakes: Earth Vs Moon Cake http://ff.im/-dVEYf #iphone

TootleGames: RT @appcakes: Earth Vs Moon Cake http://ff.im/-dVEYf #iphone
Source: Twitter / TootleGames | 5 Jan 2010 | 10:37 am

TootleGames: New entry in the Great App Bake Off: VocaForm: http://bit.ly/5sYzLd (via @GavinBowman) Only 1 week left so get baking & win prizes! #iphone

TootleGames: New entry in the Great App Bake Off: VocaForm: http://bit.ly/5sYzLd (via @GavinBowman) Only 1 week left so get baking & win prizes! #iphone
Source: Twitter / TootleGames | 2 Jan 2010 | 9:23 am

TootleGames: RT @appcakes: Contest Extended http://ff.im/-dAs66 #iphone

TootleGames: RT @appcakes: Contest Extended http://ff.im/-dAs66 #iphone
Source: Twitter / TootleGames | 30 Dec 2009 | 3:35 am

TootleGames: RT @appcakes: The first non-developer entry in the Great App Bake Off is in. And it's Totemo: http://bit.ly/6XU0Dp #iphone

TootleGames: RT @appcakes: The first non-developer entry in the Great App Bake Off is in. And it's Totemo: http://bit.ly/6XU0Dp #iphone
Source: Twitter / TootleGames | 24 Dec 2009 | 12:45 pm

TootleGames: @JGKunzler thanks, you're very welcome. We hope you enjoyed Ickle Count and have a very merry xmas! :)

TootleGames: @JGKunzler thanks, you're very welcome. We hope you enjoyed Ickle Count and have a very merry xmas! :)
Source: Twitter / TootleGames | 22 Dec 2009 | 3:15 pm

TootleGames: New (quick!) blog post: Merry Xmas http://bit.ly/8yEKvq #tootle #iphone #iphonedev #merryxmas

TootleGames: New (quick!) blog post: Merry Xmas http://bit.ly/8yEKvq #tootle #iphone #iphonedev #merryxmas
Source: Tootle Games | 22 Dec 2009 | 3:11 pm

Merry Xmas

We wish all of the Tootle chaps and chapesses out there a very merry xmas and happy new year! Tootle Tweet this...Delicious this...Digg this...Stumble this...
Source: Twitter / TootleGames | 21 Dec 2009 | 9:15 am

TootleGames: Toot Toot! Yay, our 'Snow Way To Draw' Cake is on @appcakes - http://ff.im/-dc8Xl #iphone #app #cake

TootleGames: Toot Toot! Yay, our 'Snow Way To Draw' Cake is on @appcakes - http://ff.im/-dc8Xl #iphone #app #cake
Source: Twitter / TootleGames | 21 Dec 2009 | 6:31 am

TootleGames: New blog post: Cake? Snow Way! http://bit.ly/6jEKRK #tootle #iphone #appcakes

TootleGames: New blog post: Cake? Snow Way! http://bit.ly/6jEKRK #tootle #iphone #appcakes
Source: Tootle Games | 21 Dec 2009 | 6:29 am

Cake? Snow Way!

About a year ago we released our first application onto the appstore. That application was Snow Way To Draw, a doodling app come snow globe, and to celebrate it’s one year anniversary I baked a cake: This one took longer than the Seaman Count cake due to me suffering a cold the day after I [...]
Source: Twitter / TootleGames | 21 Dec 2009 | 5:00 am

TootleGames: RT @blacksmithgames: Happy Appvent: Free game today: Doodle Golf : http://bit.ly/1YcDkl #iphone

TootleGames: RT @blacksmithgames: Happy Appvent: Free game today: Doodle Golf : http://bit.ly/1YcDkl #iphone
Source: Twitter / TootleGames | 19 Dec 2009 | 4:04 am

TootleGames: RT @blacksmithgames: Happy Appvent: Free game today: Imp or Oaf? : http://bit.ly/1YcDkl #iphone

TootleGames: RT @blacksmithgames: Happy Appvent: Free game today: Imp or Oaf? : http://bit.ly/1YcDkl #iphone
Source: Twitter / TootleGames | 17 Dec 2009 | 2:46 am

TootleGames: RT @blacksmithgames: Happy Appvent: Free game today: Cabby : http://bit.ly/1YcDkl #iphone

TootleGames: RT @blacksmithgames: Happy Appvent: Free game today: Cabby : http://bit.ly/1YcDkl #iphone
Source: Items recently added to cottonabuse's favorites | 16 Dec 2009 | 1:25 am

girl feeding birds (stone) by yellowmonday

On Vacation

This archival giclee print is taken from one of my original ink drawings and digitally coloured.

It is an archival quality print on fine art paper, printed with pigment inks.

The paper is approx 21cm x 30cm, and there is a generous white border for framing.

The print is signed and shipped in a cellophane sleeve in a sturdy cardboard envelope.

Please note that the artist retains copyright.

Please contact me with any questions.

Thanks for visiting!

Source: Tootle Games | 8 Dec 2009 | 2:30 am

Ickle Count free for a day!

Today our application Ickle Count is available for free for a day. That’s right folks FREE for a full 24 HOURS ONLY. Why we hear you cry, when it is such a damn fine app, definitely worthy of it’s meager $1 price tag? Well it’s part of the Appvent Calendar for Christmas where you can get a free [...]
Source: Tootle Games | 5 Nov 2009 | 5:43 am

Girls like Seamen?

Seaman Count is a welcomed addition for anyone who appreciates a challenge to the senses. This deep sea game will test your mind in ways that you’ve never fathomed possible. – appgirlreviews.com Late last week a review of Seaman Count popped up on AppGirlReviews. It got a thoroughly spunktastic 7 out of 10 stars which [...]
Source: Tootle Games | 29 Oct 2009 | 5:56 pm

Eat my cake

After last weeks reviews I decided it was about time to make a celebratory cake for our Seaman Count release… even if it is about two months overdue. And here it is, or was rather seeing as it’s all gone now! (Sorry G, next time I’ll post you some if there aren’t any postal strikes [...]
Source: Tootle Games | 23 Oct 2009 | 1:12 pm

Reviews schmews, scores schmores

Earlier this week we had our first ‘proper’ review, i.e. not one of our mates, for Seaman Count, published by the good fellows at WePlayiPhone. We weren’t expecting much considering Seaman Count is quite a small casual game but it appears to have been quite well received and obtained a respectable ‘C’ grade. Devilishly [...]
Source: Twitter / HouseTreeRobot | 20 Oct 2009 | 1:52 am

HouseTreeRobot: some curiosity cola progress http://bit.ly/SZtal

HouseTreeRobot: some curiosity cola progress http://bit.ly/SZtal
Source: Tootle Games | 16 Oct 2009 | 8:23 am

Mac my game up… just an Ickle

Earlier in the week we received an email from Apple saying that our submission of Ickle Count had been delayed. This was an onymous sign as we had had a similar email before when Seaman Count was in submission. That ended up with us waiting for a month with no further info before eventually we removed [...]
Source: Tootle Games | 13 Oct 2009 | 10:50 am

Who has the largest Seaman Count?

Want to know who has the largest Seaman Count? Well now you can! Seaman Count Scores This will show you the top 10 scores along with a map using AGON’s online widget system, so if you’ve got Seaman Count already check out where you rank and if not then you can get it from the [...]
Source: Twitter / HouseTreeRobot | 9 Oct 2009 | 9:10 am

HouseTreeRobot: neck is great, top is okay, body is okay, lighting on edges needs a lot of work...: http://bit.ly/C3MFu

HouseTreeRobot: neck is great, top is okay, body is okay, lighting on edges needs a lot of work...: http://bit.ly/C3MFu
Source: Tootle Games | 8 Oct 2009 | 2:42 am

Seaman Count v1.1 Released

Seaman Count v1.1 is now available for download from the iTunes Appstore! This update features the following: Fix for the slow down over time issue General bug fixes General performance improvements Score boards using Agon online. This will provide online and offline score boards Performance related feedback We have also changed the difficulty slightly to make it a bit easier initially [...]
Source: Twitter / HouseTreeRobot | 7 Oct 2009 | 2:43 pm

HouseTreeRobot: spent hours on the bottlecap, but it was worth it! :D: http://bit.ly/GhzJB

HouseTreeRobot: spent hours on the bottlecap, but it was worth it! :D: http://bit.ly/GhzJB
Source: Twitter / HouseTreeRobot | 6 Oct 2009 | 11:45 am

HouseTreeRobot: More practising with blending... turned out a bit too dark :): http://bit.ly/Kvc5o

HouseTreeRobot: More practising with blending... turned out a bit too dark :): http://bit.ly/Kvc5o
Source: Tootle Games | 29 Sep 2009 | 2:18 am

Ickle Count Submitted

When we were doing focus testing for our Seaman Count iPhone game we obtained quite a bit of feedback suggesting that it would be great for kids and to help them count, but it would have to be more ‘child friendly’. Taking this feedback on board, we recently submitted Ickle Count, a more colourful, [...]
Source: Twitter / HouseTreeRobot | 24 Sep 2009 | 10:59 am

HouseTreeRobot: trying to improve my painting skills a little... very WIP!: http://bit.ly/WqtWO

HouseTreeRobot: trying to improve my painting skills a little... very WIP!: http://bit.ly/WqtWO
Source: Twitter / HouseTreeRobot | 22 Sep 2009 | 5:15 am

HouseTreeRobot: http://bit.ly/wsmfw

HouseTreeRobot: http://bit.ly/wsmfw
Source: Lemon Good | 7 Sep 2009 | 11:19 am

Slack.

Well it didn't take long before the daily updates stopped. I'm busy packing up my house, throwing away my crap rather than working.
After wrestling with the iPhone http connection code I got it downloading files with stability. The cocoa framework code was threaded too, and I had only quickly put the code together for synchronous connections. I've expanded the system so after creating a connection you start a Download() or Upload() with an url (which obviously we can adapt for other protocols) which creates a task with a TBinaryTree which contains data being sent, URI information, error codes, and then on success will have the returned HTTP data -which will be exclusivly XML-. We poll the connection with our task ref to get the current status (False,Wait,True) and the data on the task and wait for the thread to finish.

Now that that was working on both formats (same fish test as before of course) I added uploading data via multi-part form posts. This wasn't too much trouble using Curl... I never realised how poorly thrown together some of the HTTP protocols are! The use of an arbrtitry string to seperate fields seems a little daft to me, and doesn't really impose any error checking for half-submitted forms IMO. But anyway, it's a 20 year old standard so I guess the world has coped.

Anyway, data gets uploaded as hex strings - a little ineffecient, but reliable, easily translatable back to binary,  readable so good for debugging - as they're UTF8 compatbile and so good for XML and Form data. Each branch of the Upload data we supplied to Upload() gets put into a different form-part. The PHP code simply enumerates through the POST variables, and converts the form part name (Ref) and the form part data from Hex back into binary for whatever data we require; Ref, String, Data, integers etc. The whole system is essentially templated from setting up the upload data all the way through to the PHP code which now has the $_POST variable as an equivilent binary tree.

I'm now working on the database interaction code on the web side to store the match asset's data in the database and return some relevant data.

This can then all be re-used in the same way to get a list of matches applicable to one user name[ref] returned in an XML format which we can parse, or just to fetch the latest asset from the server of a particular match.
Source: Lemon Good | 2 Sep 2009 | 12:16 pm

Embiggen day N

After wrestling mostly with NSConnection and an Objective-c learning curve, I've got the file-downloading code down to a wierd bad_access crash and stopped work on that to spend the rest of the afternoon on Embiggen features.

The next task was to do something with the words (and points) now that we've calculated them. To aid this I've setup player information; A list of players in the match, and arbritary data on the player. The data on the players contains a player ref (a global unique identifier) an avatar texture ref, a current score and a list of letters in the players rack.

I setup the gui to display the avatar, name and score. It also currently colours the active player red so we know who's playing. Upon pressing play, it calculates the words generated by the current player, verifies everything is okay (although I've not done spell checking yet), burns the players tiles into the board, adds the points to the players score.

It then saves the match asset which contains the board, (which contains tiles, letter pool), players and active player. Due to the way the engine works this is easily serialised into an asset. Now we have an asset we can/will send that asset up to the web, where some PHP will write it back to the database, do notifications etc and wait for the next player to make their move and submit the next board.

All simple data-orientated changes, but it does mean it turns into much more of a game now that we handle multiple players and save/load the board :)


Next task is back to sorting out the IPod web-connection, THEN I can do the PC and IPod web-sending code, then I'll sort out the server side PHP scripts and database to save our match and make it accessible world wide!
Target to finish by the end of the week may be reachable :) (Although I need to start packing for my move to Manchester next week)
Source: Lemon Good | 1 Sep 2009 | 8:05 pm

Embiggen day five

All day doing apple network code. 2am now. Quickly added word detection. Bed time.

Source: Lemon Good | 31 Aug 2009 | 4:48 pm

Thank you curl, Thurl.

Today was a bit of engine work. (Not a bank holiday as some other people here in the UK seem think, too wet!)
For Embiggen we will need to fetch some data from the web. Namely, from a database which stores all our matches (and user profiles). A simple PHP script can convert the required match database row into some XML and pump it out - specifically into our asset XML format - and we can download it, convert it to binary asset data and load it in-game. Shimples!
Anyway, the UIKit in the iPhone SDK provides us with some functionality to do this for us (NSURLConnection) so we need a solution in windows to replicate this for easier testing. (and maybe for us on the Wii or Mac or whatever else we might port to)

I looked through a few open source projects, libs etc before settling on LibCurl which seems to do everything we require in a nice simple, supported, threadsafe, documented, active open source package. After some initial linking trouble with unresolved externals all starting with __imp__ I had a look through the example .vcproj for some pre-processor defines which sure enough I missed out on. Got it all going, setup a simple asynchronous base connection class (TLNetwork::TConnection), setup a new TestApp example which shows one texture asset on the left and another on the right. I uploaded a compiled .asset file to the web (Which is freely availible to download if you're curious, although it's binary data rather than XML representation, I'll show an example of that when it's ready)
Everything seemed to be setup nicely but when the internal thread was cleaned up I kept getting some corruption in the heap. I started looking into CRT issues and conflicts and found a full rebuild of an all debug build of the app didn't corrupt the heap. I setup all our projects to use Debug MT CRT but was still getting an occasional crash. I overloaded all the LibCurl memory allocation functions to use our own memory allocation functions which I can track much more easily. The remaining crash seemed more consistent (Instead of random crashes), looking further into it an asset kept being overwritten and corrupted... I stepped through the code and it turned out I was corrupting one of my assets myself, turning a c-pointer into a smart pointer and then releasing it, Oops.
Now I'm a little unsure if the change in the memory allocations, or the CRT changes were neccessary. Nevermind, it works!
The image is the file download test app. The image on the left is local, the image on the right is downloaded, converted and then set. Not the most exciting screenshot :)

I've put together an IPod/IPhone version, but untested. Now that this is stable I can see if it works on the iPhone and get back to game stuff :)
Source: Lemon Good | 30 Aug 2009 | 12:52 pm

Embiggen day three

I'm half way through day three now and I can concentrate a bit further as I have all day to myself (bar cat-feeding).

I've added a rack to place tiles on now. The tiles on the rack come from the board's pool of letters (currently just 3 of every character). Tiles can be moved to the board and back and rearranged in the rack itself, all very nice and stable, and again, data driven. The rack places are datums inside my main GUI SVG. As are my buttons, these are extremley simple code wise, I have a datum specifying where the click should be detected and in the code I create a TWidgetButton assigned to that datum which just sends an command back to the game when it's clicked, thanks to the fantastic engine I don't need to worry about interface stuff much at all :)

The text on the buttons required a tiny bit more work, the GUI's scheme specifies text nodes which use smaller datums on the button to dictate the position of the "play"/"back"/"undo" text. Again, out of code and just means when we come to translate there are no texture or code changes.

My next task is a jump out of the Embiggen code for a while as I setup the all important (and important for Rocket) code to fetch and send files across http.

On first inspection libCurl seems like an adequate, stable, popular and open source library for me to use on win32 (and later the wii...) which mimicks apple's NSConnection classes which I'll be using on the iPod. Should be quite simple to write some platform indepedent interfaces to get/put files across HTTP which means I can send the current Match state asset as XML up to the server for PHP to process and stick in a database and reverse of that to download the current Match XML and turn back into an asset :)

All going well and nice and quick development so far! :)
Source: Lemon Good | 30 Aug 2009 | 12:40 pm

Embiggen day 2

Day two was about an hour of work while I had lunch on saturday :)


Just finished the tile-drag code which dropped the tiles onto the board and worked out a local position which translates to an integer grid x/y position. If the new grid xy is empty, the dragged tile is delete and the grid entry is reset and render node is recreated. Once a tile is dragged (from wherever) it becomes detatched and a bit disposable so we are relying on the widget code to get a Mouse-Up style message to drop the node somewhere.


Also changed the colour scheme a little. These are hard-coded colours at the moment and the tile is a simple transparent + white PNG. All ready for themes!
Source: Lemon Good | 30 Aug 2009 | 12:40 pm

A game in a week? ish?

I've been playing far too much Words With Friends lately (add me - SoylentGraham - if you want a challenge) and have come across various limitations and changes, additional rule options etc that I and others want, as well as additional games to play. Minesweeper, boggle, erm, more will come to me I'm sure.

After the first few hours, I have a dynamically sized grid, tile render nodes which I can drag around and the board and tile data is serialisable into a TBinaryTree, all ready for saving to an asset or upload/download. The Tiles themselves are an SVG, which is texture mapped to a tile PNG which is a simple white tile with transparent rounded edges. The tiles with letters are coloured green and 2 text render nodes are rendered on top; one for the letter, one for the number. A little OTT but it does mean I can use any font, align & scale the letter and point number by datums in the SVG too. All the visual stuff is nice and out of the code :) This will also make animating the letters, tiles, colours etc all much easier too.

Next step will be to make the dragging of the nodes a bit more functional and actually change the board's data.
Source: Lemon Good | 24 Aug 2009 | 9:13 am

Followup: Broken inherited rotations

Problem fixed, nothing terrible in the engine design thankfully, nor was there any errors in the math, the quaternion code was just overwriting itself as it calculated the new components.

I quickly expanded the thumbstick demo in our test app to add a child arrow and a second thumbstick, THEN I actually looked into the quaternion code (rather than just the Transform code as I did before) and noticed the mistake. Hindsight is great, getting half my Sunday back would be better :P



The next part of the game to finish off is the trigger linking in the editor and then maybe implement some proper particle system effects as a reward to myself :)
Source: Lemon Good | 24 Aug 2009 | 7:42 am

Broken inherited rotations

Progress on RocketMan is going swimmingly, a much more organised editor is in place; The engine-side scheme/graph editor has been split into modes (it's a state machine) and the overloaded game editor now instigates a menu for handling the different modes.

Once that and the in-game menu had been all converted to asset-based systems I wanted to cut out a part of redundant code on the player. Previously we only had 1 shape per physics node so the collision sensor on the hoover nozzle -which determined when to suck up a node- was a seperate physics object. Now this can be placed directly on the player and remove the superfolous physics node on the player.
Setup was simple, although requires an extra transform [let's assume... everyframe] now to convert the datum representing the nozzle on the hoover render node [this is a child as it requires a different rotation] up the tree to be in the same space as the main player, this was easy enough... but it appears there is a problem with the world transform on our child node, argh!
I've confirmed this by rendering ALL nodes with their calculated world transform instead of local offsets and it definately rotates incorrectly in this case...
Root -> Rotated Object -> Rotated Child
The child's rotation seems to be magnified by the rotation on the parent object, when the parent is at 0-degree's everything is fine. The more it is rotated the more we quickly end up with "quaternion wrap" (I made this term up) where the radians wrap past 2PI and we just get wrong angles.

I would just revert the code back to the old state, but I think the issue is in the engine's transform system and just not noticed before.

 
In the image, the magenta circle (Physics node's shape) is the nozzle datum which I have manually calculated (to put it in the correct local space). The hoover itself, and the datums (white outline spheres) are rotated incorrectly and the one at the furthest extent should be in the same place as the magenta 


Setting up a test case in the test app :(
Source: Lemon Good | 24 Aug 2009 | 7:38 am

Introduction

I enjoy coding, I do it a lot. Although I document my work internally (comments) I don't actually document what I am producing, techniques I use, issues I come across etc, so I rarely review anything outside of an IDE, offline if you will.

A lot of what I do could be useful to others, amaetuer and expert alike so in the interest of creating discussion, documenting my days and ego worship I am going to write here on blogger. Although I might not publish much literal code all the theory shouild be explained and source code is only really useful for copy+paste situations anyway and none of this should be language restrictive.

Really I should have done this 14 months ago when I quit full time work, but never mind :)
Source: Twitter / HouseTreeRobot | 20 Aug 2009 | 8:35 am

HouseTreeRobot: @Freeverse Bruce: I've mailed you again, (spammed?) can I get a UUID for an ad-hoc build we're currently sending to publishers..

HouseTreeRobot: @Freeverse Bruce: I've mailed you again, (spammed?) can I get a UUID for an ad-hoc build we're currently sending to publishers..
Source: Twitter / HouseTreeRobot | 15 Aug 2009 | 10:03 am

HouseTreeRobot: is a twittee, not a twitter.

HouseTreeRobot: is a twittee, not a twitter.
Source: Twitter / HouseTreeRobot | 12 Aug 2009 | 5:20 am

HouseTreeRobot: After 46 day submission wait, you can finally get seaman all over your iphone! http://itunes.com/app/SeamanCount

HouseTreeRobot: After 46 day submission wait, you can finally get seaman all over your iphone! http://itunes.com/app/SeamanCount
Source: Items recently added to cottonabuse's favorites | 3 Aug 2009 | 7:38 pm

build your own HAND-embroidered coffee cup sleeve by pillowhead

Sold

Want to protect your fingers from that scalding hot drink, but you don't like 'java'? and you don't 'slurp'? not a 'ninja'? Well, now you can have your very own personalized hand-embroidered cup sleeve for your coffee/tea/hot chocolate/beer/whatever!!

The cup sleeves are hand embroidered on canvas and made with two layers of felt. It is handsewn closed with the same embroidery floss in the back.

You choose:
*the WORD: up to 6 letters (longer words with thin letters, like 'i' or 't' are possible)
*the EMBROIDERY FLOSS colour
*the OUTER FELT colour
*the INNER FELT colour (usually I pick one that matches the floss, but this is yours so you get to pick)

A complete list of colour choices can be found in my PROFILE (over on the right). Please specify your choices in the 'comments to seller' when purchasing or send me a convo!

Please allow for two weeks (at the most) for completion. :)

~*~*~*~*~*~*~*~*~*~
Special offers and discount codes: please enter the appropriate phrase or code in the 'comments to seller' when buying and the e-mail address to which I should sent the adjusted invoice.

Source: Twitter / HouseTreeRobot | 29 Jul 2009 | 10:12 am

HouseTreeRobot: @OwenGoss box2d's documentation is good... support/user forum is even better :)

HouseTreeRobot: @OwenGoss box2d's documentation is good... support/user forum is even better :)
Source: Twitter / HouseTreeRobot | 29 Jul 2009 | 8:20 am

HouseTreeRobot: Exciting (?) slightly new look to the [still untitled] game... http://www.flickr.com/photos/housetreerobot/3769087182/

HouseTreeRobot: Exciting (?) slightly new look to the [still untitled] game... http://www.flickr.com/photos/housetreerobot/3769087182/
Source: Twitter / HouseTreeRobot | 27 Jul 2009 | 7:41 am

HouseTreeRobot: @freeverse Bruce: Am I in the spam again?

HouseTreeRobot: @freeverse Bruce: Am I in the spam again?
Source: Twitter / HouseTreeRobot | 21 Jul 2009 | 7:55 am

HouseTreeRobot: @OwenGoss We've been waiting for 24 days for seaman count... I'm starting to think it's in submission limbo...

HouseTreeRobot: @OwenGoss We've been waiting for 24 days for seaman count... I'm starting to think it's in submission limbo...
Source: Twitter / HouseTreeRobot | 20 Jul 2009 | 1:01 pm

HouseTreeRobot: @freeverse I sent a mail to Bruce@freeverse about 2 weeks ago about publishing and never heard back... did you get one from grahamreeves?

HouseTreeRobot: @freeverse I sent a mail to Bruce@freeverse about 2 weeks ago about publishing and never heard back... did you get one from grahamreeves?
Source: Twitter / HouseTreeRobot | 1 Jul 2009 | 7:08 am

HouseTreeRobot: @velvetsarah I have added some code to your wptwitter wordpress plugin that you might want. I can't find a way to contact you though...

HouseTreeRobot: @velvetsarah I have added some code to your wptwitter wordpress plugin that you might want. I can't find a way to contact you though...
Source: Twitter / HouseTreeRobot | 26 Jun 2009 | 9:58 am

HouseTreeRobot: I just created King Lemongood, my very own Rolando 2 character! Check it out at http://bit.ly/tIYS9. #Rolando2

HouseTreeRobot: I just created King Lemongood, my very own Rolando 2 character! Check it out at http://bit.ly/tIYS9. #Rolando2
Source: Twitter / HouseTreeRobot | 26 Mar 2009 | 2:40 pm

HouseTreeRobot: will shortly be kicking his mac mini square in the sponge

HouseTreeRobot: will shortly be kicking his mac mini square in the sponge
Source: Uploads by grahamreeves | 25 Mar 2009 | 5:42 pm

New Colour scheme CopsAndRobbers Release 2009 03 25 22 31 36 21

This is a test of the new greyscale colour scheme... I'm not sure I like it as much as the original pure black and white style.... but at such low resolution, it might be neccessary...
Views: 35
0 ratings
Time: 00:33 More in Gaming
Source: Uploads by grahamreeves | 20 Mar 2009 | 8:43 pm

rain effect - CopsAndRobbers Debug 2009 03 21 01 26 46 48

Quickly added a rain "particle" effect...
Views: 23
0 ratings
Time: 00:14 More in Gaming
Source: Uploads by grahamreeves | 18 Mar 2009 | 4:27 pm

CopsAndRobbers Debug Car Recycling 2009 03 18 20 56 00 75

Improved (and probably final) car recycling code. There are only 20 blue cars in the world, when they go far enough away they are recycled and put back nearer to the camera's area. The cops (Stars on the radar) and the robber (red car, X on the radar) are persistant and don't get recycled. Only improvement to do is to direct the recycled cars more towards the player/camera as they can be placed on a road right back out of the active area again.
Views: 40
0 ratings
Time: 01:14 More in Gaming
Source: Uploads by grahamreeves | 17 Mar 2009 | 7:21 am

CopsAndRobbers Car Recycling 2009 03 17 12 16 07 31

Quick demo of the civilian car recycling... if they go out of an active/half asleep zone they are repositioned somewhere else
Views: 26
0 ratings
Time: 00:14 More in Gaming
Source: Uploads by grahamreeves | 4 Mar 2009 | 9:09 am

CopsAndRobbers Release 2009 03 04 14 40 11 39

http://www.tootlegames.com/ Watch in high quality! Plain lines and colours aren't suited to youtube's high compression :)
Views: 109
1 ratings
Time: 01:37 More in Gaming
Source: Uploads by grahamreeves | 25 Feb 2009 | 7:36 am

CopsAndRobbers Debug 2009 02 25 13 04 38 75 1

Second revision of car AI. Car now attempts to ensure they're on the path line before aiming towards the target node.
Views: 28
0 ratings
Time: 00:56 More in Gaming
Source: Uploads by grahamreeves | 19 Jan 2009 | 11:03 am

CopsAndRobbers Debug 2009 01 19 16 43 51 53

Views: 20
0 ratings
Time: 01:32 More in Gaming
Source: Uploads by grahamreeves | 14 Jan 2009 | 7:42 pm

CopsAndRobbers Release 2009-01-15 00-56-50-00

Block calculation. Once we've sorted out all the roads and junctions, we then have to detect street blocks which are the shapes created by the loops in the roads. Now that we have our blocks, we can fill them with buildings! The game's practically finished!
Views: 44
1 ratings
Time: 01:02 More in Gaming
Source: Uploads by grahamreeves | 10 Jan 2009 | 10:25 pm

CopsAndRobbers_Release 2009-01-09 01-50-52-29

Road map generation from OSD map. Then spidering to test network path integrity (ensure everything is linked up)
Views: 27
0 ratings
Time: 00:18 More in Autos & Vehicles
Source: Items recently added to cottonabuse's favorites | 20 Jun 2008 | 8:47 pm

Octopus painting by kallmall

Sold

This is my one-of-a-kind stencil painting of an octopus with bubbles. 16" x 20" FREE SHIPPING.

Source: Items recently added to cottonabuse's favorites | 6 May 2008 | 11:58 pm

Hunt In The Mid Pacific--Print by eggmanstudios

Sold

Rising from the depths are the twisting and writhing legs and arms of a giant octopus.

This is a print of a mixed media painting that was done in acrylic glazes ontop of layered 1930s newspaper scraps which referenced the disappearance of Amelia Earhart over the Pacific ocean. Obviously, the only thing that could have possibly brought Earhart’s plane down was a giant octopus. Don’t even try to prove otherwise.

Measurements: image is 3.75x10” with a white border for framing, printed on 8.5x11” paper

I do all prints of my acrylic paintings myself on a fine art, large format printer with premium UltraChrome archival inks to ensure the best results. Printed on glorious fine art, museum-quality velvet paper that’s 100% archival and absolutely delicious. Makes the colors pop, sizzle, and sing--you’ll eat it up! Every print is signed & dated by yours truly and also lovingly packaged in a protective slip and sent on its merry way in a strong, fiberboard mailer.

Also, to preserve costs, please note that these are generally printed as-ordered, so please allow a good 24 hours for your print to dry fully before shipment.

Source: Items recently added to cottonabuse's favorites | 28 Mar 2008 | 8:46 pm

Lost And Found--4x6 Print by eggmanstudios

Sold

The key has been lost for ages, but has finally been found by a small, innocent girl with a profound imagination and wishes of grandeur. I wonder where it leads... This is a print of a small mixed media painting I did earlier. The original has 1930s newspaper scraps as a background, which you can still make out quite clearly in print-form.

Measurements: image is 4x6” with a white border for framing, printed on 5.5x8.5” paper

I do all prints of my acrylic paintings myself on a fine art, large format printer with premium UltraChrome archival inks to ensure the best results. Printed on glorious fine art, museum-quality velvet paper that’s 100% archival and absolutely delicious. Makes the colors pop, sizzle, and sing--you’ll eat it up! Every print is signed & dated by yours truly and also lovingly packaged in a protective slip and sent on its merry way in a strong, fiberboard mailer.

Also, to preserve costs, please note that these are generally printed as-ordered, so please allow a good 24 hours for your divine print to dry fully before shipment.

Source: Items recently added to cottonabuse's favorites | 3 Feb 2008 | 11:30 am

Knock Out Mermaid by amandakindregan

Sold

High quality digital print from my 2007 gouache painting. Printed with pigment-based inks on archival matte paper.

Image 7.3" x 10"; paper 8 1/2" x 11".

Source: Items recently added to cottonabuse's favorites | 2 Feb 2008 | 2:04 am

With you Painting by jkldesign

Sold

A one of a kind ORIGINAL Acrylic Painting

This painting measures 18"x 24h"

It is on pre-stretched canvas. Medium texture cotton duck; the finest quality pure cotton standard white canvas of medium texture. Only Fine art materials used.

This painting is not a print it is an Original

I will have Certificate of Authenticity included with purchase. I have signed the front of my painting as well as; named, dated and signed the back.

The painting will be shipped and packed professionally.

Source: Items recently added to cottonabuse's favorites | 2 Feb 2008 | 2:03 am

La Sorciere Noire - Print by annejulie

Sold

Limited edition print (#20/50) of "La Sorcière Noire" (The Black Witch). This is a digital illustration inspired by the witch in the movie "Stardust".

Print measures 6.5" by 9" on 8.5" × 11" paper. The image is centered on the paper leaving a white border for framing.

Printed on 100% cotton, high quality archival artist paper, free of acid and optical brightener, neutral Ph.

Will be Signed and dated on the front.

---------------
Copyright won't appear on your print!
---------------



***ABOUT THE SHIPPING****

Prints are shipped from France. They are packaged in a heavy and hard cardboard, protective stiff enveloppe. Each print is protected in a cello sleeve. I always ship in Intl. priority airmail.

I always mention "DO NOT BEND PLEASE" on my packages, I put a lot of effort in them. So what please note that I am not responsible for any damages or loss incurred during shipping.

--------

!Sales of artwork do not transfer copyrights!

Thanks for looking and please convo me with any questions about this item ♥!

annejulie

Source: Items recently added to cottonabuse's favorites | 1 Feb 2008 | 4:26 pm

Bear Vs. Robot Passport case by tinymeat

Sold

I dunno, my heart says go with the bear but I realize that the robot is made of metal...

... and is strong

Chris Bishop resides in Alexandria VA and is the creative mastermind behind PBS kids interactive.

Check out more of his work at...
http://chrisbishop.com/index.html

This tasty little passport case has the following features
* Art on the outside, paintswatches on the inside
* extra sturdy vinyl on the outside.
* Textured vinyl lining
* Pocket for your passport
* two pockets for your ID and a pocket for moola
* oh yeah it's also thinly padded

Be extra stylin for the TSA agents for just $16 bucks!

Please note that the interior paint swatches may differ in color from those shown.

Source: Items recently added to cottonabuse's favorites | 31 Jan 2008 | 2:12 pm

Elspeth and Yorrick ACEO Limited Edition 9 by scarlettcat

Sold

This is lovely Elspeth and her beloved pet octopus (and muse), Yorrick.

I adore the intensity of colour in this piece - the original is oil paint on a canvas panel and the bright oranges and reds contrast beautifully with her giant blue eyes.

This is a limited edition ACEO, hand assembled, signed and dated on the back and it comes in a tiny protective sleeve.

There will only be 50 of these made in the whole wide world. This is number 9 of 50.


**If you'd like to see how the original was painted, visit http://scarlettcat.blogspot.com/2007/11/its-been-busy-day.html**



...............................♥ what's an ACEO? ♥................................
ACEO stands for "Art Cards, Editions & Originals".
They're miniature works of art the size of a trading or playing card (2.5" x 3.5") and they're an inexpensive way to buy original or limited edition art. After all, you shouldn't have to be Donald Trump to enjoy a piece of art you love!

............................♥ what can I do with them ♥............................
Lots.

You can collect them and keep them in an album - an inexpensive way of making your own coffee table 'art book', trade them with other collectors, pop them in greeting cards or letters as a lovely little extra, frame them in a tiny frame, or put a bunch together and make your own collage or use them as a gorgeous little bookmark.




..................................♥ the fine print ♥...................................

(c) scarlett 2007
This artwork is protected by copyright which does not transfer with sale. In plain English - while you're buying a piece of artwork, you're not buying the right to copy, print or reproduce it in any way. xxx scarlett

Source: Items recently added to cottonabuse's favorites | 17 Jan 2007 | 1:56 pm

Original Art JELLYFISH Painting by lollipopart

Sold

Up for your consideration is an original 'Jellyfish' mini painting. I used ink and quality watercolor paints on 140lb. watercolor paper. The paper size is 5"x5", the image size is 2"x2". It is signed by me, emi.

This would look great in a little frame placed on a table top, or hanging on a wall, grouped together with other lollipopart mini paintings. Or give it away as a gift...everyone loves art!

Please note that the colors may differ depending on monitor screen settings. Image has been enlarged to show detail. Mat and frame not included. Please include $1 shipping for all U.S. destinations, $2 for all International destinations (for up to 10 mini paintings, shipped together). As payment, I will be happy to accept a personal check, money order, or PayPal for all U.S. destinations, and PayPal for all International destinations. Thanks for taking a peek!

Source: Items recently added to cottonabuse's favorites | 15 Jan 2007 | 12:53 pm

BABY ART - CAT - ORIGINAL DRAWING by blueskycreation

Sold

My 3 years old boy love this drawings so do I ;) To create this drawing artist uses ink and soft pastels on high quality paper. Drawing size - 5"x5". All of them are created and signed by mario (Mariusz Pierog).

I like to hang them together so every morning my son wake up he can repeat words from that drawings and easy recognize animals, fruits, vegitables and many other things.

Colors may be different than original - it depends on the screen quality and settings. I do not provide mat or frame.

I'm more than happy to combine shipping and put them all in one envelope up to 10 drawings - only for $1 shipping charges.

I accept a personal check, money order, or PayPal as well as payment with Credit Card by phone (please email me your contact information and the best time to call you).

Source: grahamgrahamreeves' shared items in Google Reader | 28 Jul 2010 | 7:13 am

Freeware Game Pick: !i (David Williamson)

noti.PNG

!i (or 'Not I') is a clever artillery-style shooter for one or two players. The world is divided up into black and white, and each player takes it in turns to fire off a block of their own colour, and eradicate the enemy from beneath.

The two teams exist on opposite sides of the world, and the screen can be flipped to allow either player to be on top. A single player can battle against a AI-controlled army (although the computer is far too good) or two players can go head-to-head. What is really rather awesome is that all the text around the screen reads the same way when turned upside down. You can even flip the title screen!

Give it a PC, Mac or Linux download at GooeyBlob.

Source: grahamgrahamreeves' shared items in Google Reader | 27 Jul 2010 | 4:59 pm

Arvoesine

Arvoesine - Alastair John Jack

Arvoesine is a new platform game from Alastair John Jack, the creator of the entertaining platformer RPGs Ainevoltas 2 and Final Vision. The game puts you in control of a little Roman soldier who can attack with a sword or spear, and has a shield to defend himself with. The goal of the game is to make your way through five short stages, fighting a boss at the end of each stage.

The full version costs $5, which may be surprising, considering the brevity of the game (even compared to some of Alastair’s previous freeware releases). However, it’s clear that Arvoesine is meant to be played repeatedly for high score, like a traditional arcade game. To this end, the game incorporates a simple scoring mechanic where the player receives extra points for defeating an enemy with his second or third sword swing (the third swing, a stab, offers the most points). It took me around 7 tries to win the first time, but timing your swings to achieve a high score increases the challenge dramatically. The player also receives bonus points for clearing a level in the shortest amount of time.

In a way, Arvoesine is like a “lite” arcade game – players that might be interested in the scoring mechanics of face-melting bullet hell shoot ‘em ups and the like but would prefer a warm-up should give it a try (a one level demo is available for download). It’s certainly a very polished and fun platformer.

TIGdb: Entry for Arvoesine
Playthrough: Ortoslon (version 1.0)

Source: grahamgrahamreeves' shared items in Google Reader | 27 Jul 2010 | 7:04 am

Pixel Breakout

Shared by grahamgrahamreeves
sooo cool

pixelbreakout.png

Ninety seconds of classic gaming in the Breakout/Arkanoid vein, with a "Bullet Heaven" vibe. You'll finish it very easily, but it's a beaut when things get hectic. [Wonderfl.net via RPS]

Source: grahamgrahamreeves' shared items in Google Reader | 27 Jul 2010 | 6:48 am

Parry! Dodge! Spin! Thrust! Nidhogg!

Shared by grahamgrahamreeves
err nice :D

Here's the latest trailer for Nidhogg, a trippy but slickly-animated swordfighting game. Think Jordan Mechner on acid. Previously. [Messhof via Indie Games]

Source: grahamgrahamreeves' shared items in Google Reader | 23 Jul 2010 | 11:13 am

Pixel Breakout

pixelbreakout.png

Ninety seconds of classic gaming in the Breakout/Arkanoid vein, with a "Bullet Heaven" vibe. You'll finish it very easily, but it's a beaut when things get hectic. [Wonderfl.net via RPS]

Source: grahamgrahamreeves' shared items in Google Reader | 21 Jul 2010 | 8:00 pm

AS3 Sound Synthesis II – Waves

This post will show you how to generate sine waves for specific frequencies using the AS3 Sound object. It assumes you have read, or are familiar with the data in Part I of this series.

Basics of Sound

Sound itself is essentially a change in the pressure of the air. Extremely simple layman’s terms here. Air is composed of various molecules. They are not uniformly smoothly distributed. There can be areas where they are under more pressure and packed more tightly together, and other areas where they are more spaced out. When something like a guitar string vibrates, it moves quickly back and forth at a specific speed. When it moves in one direction, it pushes the molecules of air closer to some other molecules in the same direction. The creates a dense pocket of air. Then the string moves back in the opposite direction, creating a bit of a vacuum. Not a real vacuum, but an area where there are less molecules. It then moves back again, creating another dense pocket.

These areas of dense and undense air move out across the room and eventually hit your ears. The dense air pushes your eardrum in, and the less dense pocket causes it to move out. The result is your eardrum starts vibrating at roughly the same frequency as the guitar string. This causes some bones to vibrate, which stimulate nerves at the same frequency, which send signals to your brain, saying “C Sharp”.

When you record sound, you use a microphone as a sort of electronic ear. It has some kind of diaphragm or other moving part that vibrates and creates and electrical signal which is recorded one way or the other. For playback, this electrical signal is regenerated and causes a speaker to vibrate at the same frequency. This pushes the air the same way the original guitar string did and you hear the same sound.

Synthesizing Sound

However, when we talk about synthesizing sound, we are doing it all from scratch. Flash, your computer’s sound card, and your headphones or speakers will handle generating the correct electrical signal and vibrating the air. But you need to do the math to figure out much and how fast to make things vibrate.

In Part I of this tutorial, we created random values which caused the speaker or headphones to vibrate at a completely chaotic pace, resulting in a radio-static-like fuzz. Creating an actual tone requires a bit more work, and hopefully some understanding of what you are doing.

Digital Sound

In analog sound, such as vinyl records or 8-track tapes (showing my age here), the sound is encoded smoothly as bumps in the groove of the record, or changes in a magnetic field on the tape. Digital sound takes discrete samples of the sound pressure at specific intervals.

Taking one of the simplest sound forms, a sine wave, here is a smooth analog version:

sine_smooth

And here is the same wave, represented as 50 samples:

sine_sample

As you can see, the sampled version is not quite as accurate as the smooth wave. However, in high quality digital sound, these intervals are numerous enough that it is virtually impossible for most of the population to notice any difference. When you are synthesizing sound in Flash, you will be dealing with 44,100 samples per second. Remember that number, we’ll be doing some calculations with it.

Now, what we need to do is generate our samples with a series of values that wind up forming a sine wave like you see above. The top peak of the sine wave will be 1.0, the bottom will be –1.0 and the middle 0.0. To start simply, we’ll generate a single sine wave over the course of a full second. To keep track of where we’re at, we’ll use a variable called position. We’ll initialize it to 0 and increment it each time we create a new sample. Thus position will range from 0 to 44100 over the course of the first second of audio.

If we then divide position by 44100, we’ll get values that range from 0.0 up to 1.0 over the course of one second. And if we multiply that by 2PI, We’ll get values from 0 to 2PI, just what we need to generate a sine wave with the Math.sin function. Here’s the code so far:

[as3]import flash.media.Sound;
import flash.events.SampleDataEvent;
import flash.events.MouseEvent;

var position:int = 0;
var sound:Sound = new Sound();
sound.addEventListener(SampleDataEvent.SAMPLE_DATA, onSampleData);
sound.play();

function onSampleData(event:SampleDataEvent):void
{
for(var i:int = 0; i < 2048; i++)
{
var phase:Number = position / 44100 * Math.PI * 2;
position ++;
var sample:Number = Math.sin(phase);
event.data.writeFloat(sample); // left
event.data.writeFloat(sample); // right
}
}[/as3]

If you run that file, you’ll be generating a sine wave that does one full cycle each second. Of course, this, being a 1 Hz sound wave, is far too low for the human ear to hear. To get a specific frequency sound, simply multiply phase by the frequency you want to hear. Humans can hear frequencies generally in the range of 25 to 25,000 Hz. Middle A on the standard musical scale is 440 Hz. So let’s try that. Change the line that calculates the sample to:

[as3]var sample:Number = Math.sin(phase * 440);[/as3]

That gives you A. You can find charts like this all over the net:

A 440
B flat 466
B 494
C 523
C sharp 554
D 587
D sharp 622
E 659
F 698
F sharp 740
G 784
A flat 831
A 880

Or, if you want to get more mathematical about it, the formula for each note, n, above or below 440 is:

440 * 2^(n / 12)

We can implement scales then by setting up an n variable, incrementing it on a timer, and using the above formula to calculate our frequency:

[as3]import flash.media.Sound;
import flash.events.SampleDataEvent;
import flash.events.MouseEvent;
import flash.utils.Timer;
import flash.events.TimerEvent;

var position:int = 0;
var n:Number = 0;
var sound:Sound = new Sound();
sound.addEventListener(SampleDataEvent.SAMPLE_DATA, onSampleData);
sound.play();

function onSampleData(event:SampleDataEvent):void
{
for(var i:int = 0; i < 2048; i++)
{
var phase:Number = position / 44100 * Math.PI * 2;
position ++;
var sample:Number = Math.sin(phase * 440 * Math.pow(2, n / 12));
event.data.writeFloat(sample); // left
event.data.writeFloat(sample); // right
}
}

var timer:Timer = new Timer(500);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();
function onTimer(event:TimerEvent):void
{
n++;
}[/as3]

Alternately, we can make a poor man’s generative music composer with a little help from Math.random:

[as3]function onTimer(event:TimerEvent):void
{
n = Math.floor(Math.random() * 20 – 5);
timer.delay = 125 * (1 + Math.floor(Math.random() * 8));
}[/as3]

This generates a different note, and a different duration (from 1/8th of a second up to one full second) for each note.

Armed with this alone, you are on your way to making your own sequencer or mini piano or other type instrument. Later, I’ll try to post some stuff on other wave forms, combining waves, envelopes, and other topics.

Source: grahamgrahamreeves' shared items in Google Reader | 21 Jul 2010 | 8:00 pm

Browser Game Pick: Inside a Dead Skyscraper (Molleindustria)


Inside a Dead Skyscraper is a new experimental work from Molleindustria, developer of games like Every Day the Same Dream and Run Jesus Run. Here you play as a man (or a woman, you can never really tell) in a hazmat suit, who was given a strange device by his partner and advised to explore his surroundings. The device in your hand can be used to read the thoughts of other people you meet, but you need to be standing really close to a person for the gadget to work properly.

This game was made to promote the work of a musician, but it is a missed opportunity not to design at least one puzzle around a key moment just to flesh out the story a little bit. Inside a Dead Skyscraper is still worth a look, especially if you're a fan of experimental stuff from developers that try to do something different every once in a while.

Source: grahamgrahamreeves' shared items in Google Reader | 18 Jul 2010 | 12:00 pm

Relaxing Whilst Chaos Breaks Out

Photobomb That Guy - Relaxing Whilst Chaos Breaks Out

Submitted by: Wegas via Submit a Photobomb

Move? But I have beer AND entertainment.

Favorite Comment:
That Guy DarwinSurvivor says, “Excuse me gents, would you be so kind as to scootch to the left just a bit, I believe my team is in the process of procuring a point.”


Source: grahamgrahamreeves' shared items in Google Reader | 17 Jul 2010 | 4:00 pm

Trailer: So Long, Oregon. Let's Go Find El Dorado (Captain Games)


So Long, Oregon. Let's Go Find El Dorado is an iOS port of Justin Smith's Ludum Dare entry, where players get to help a family of five reach the legendary lost city of gold referenced by the title. This being Justin's handiwork (developer of Enviro-Bear 2000), he's gone on to add wonky physics to the wagon, hence allowing players to execute deft backflips over hills and mountains while trying to keep all family members in the wagon alive and healthy.

The original LD submission is still available to download from here, but that prototype was made in less than 72 hours and doesn't include the new features (challenges, food hunt mini-game, high scores) seen in the above trailer.

Source: grahamgrahamreeves' shared items in Google Reader | 16 Jul 2010 | 4:57 pm

Dooder

Dooder is an action platformer with an unique graphical style where you can acquire 4 different abbilities.
Interesting concept!


Link to Trailer Video (by Matthew Seely)

Source: grahamgrahamreeves' shared items in Google Reader | 16 Jul 2010 | 3:32 pm

Boing Boing Game Dev Challenge: The Winners!

awinnerisyou.png

We are thrilled to announce the winners of the first ever Boing Boing "Games Inspired by Music" Competition, sponsored by Safari Books Online. The polls closed at midnight with Zachary Johnson's Infiltration and Zachary Lewis's Space Junk nearly neck and neck. Space Junk took the grand prize with 249 votes, followed by Infiltration with 233 votes. Coming in third was Sean Monahan's Beat Boost! All three of these are instant old-school classics!



Mr. Lewis receives the grand prize of a year of access to Safari Books Online, a $515 value, and a fat prize pack from GAMA-GO, including a limited-edition art print, GAMA-GO book, Gama-Goon Statue, Sing-A-Long Tongs, and other goodies. Mr. Johnson and Mr. Monahan score three month subscriptions to Safari Books Online, valued at $128 each, and a grip of GAMA-GO goods like a Yeti Qee Keychain, Pocket Journal, and Hip-Hopsicles!

LG1_l.jpg
All of the other finalists will receive GAMA-GO prize packages too! (Thanks, GAMA-GO!)


Thank you to everyone who took the time to create an entry! We're blown away by the effort and raw mutant creativity that went into these! And much appreciation to the chiptunes composers who inspired us with the bleeps and bloops. And thanks to all who played and voted!


Finally, much appreciation to our partner Safari Books Online. We've wanted to hold a competition like this for a long time and we're grateful to them for helping us make it happen. For the foreseeable future, they're offering Boing Boing readers a special 15 day trial of Safari Books Online plus 15% discount for 12 months (new subscribers only) on a subscription. Check it out!

And if this is all new to you, please visit the Boing Boing Arcade, featuring all the finalists in our contest. Shall we play a game?

Source: grahamgrahamreeves' shared items in Google Reader | 15 Jul 2010 | 7:47 am

London's new skyline

Richard Coward from Greenwich has won Transport For London's competition to design a new skyline for London. A range of TfL merchandise bearing his design has now gone on sale

Coward was also given £1000 for winning first prize in the competition that sought "a 21st Century view of London’s famous skyline".

His pattern (above) includes modern landmarks such as the MIllennium Dome (02 Centre), the Gherkin and the GLA building alongside the familiar tourist spots.

Here it is applied to a mug

and mouse mat

The two runners-up Kate McLelland

and Nick Brown

will also see their designs available on a selection of merchandise which can be bought here

 

Subscribe online and save 29%
Subscribe to Creative Review and access the entire CR online back catalogue plus regular subscriber only content...
Source: grahamgrahamreeves' shared items in Google Reader | 15 Jul 2010 | 7:41 am

Trailer: Nikki and the Robots (Joyride Laboratories)

While this concept trailer for upcoming platformer Nikki and the Robots doesn't exactly give much away in terms of how the game will play, there's just something about it that really appeals to me.

The protagonist Nikki cannot use weapons or equipment throughout the entire game, and instead enlists the help of robots. She can hack into terminals to take advantage of each robot's unique abilities, solving puzzles and overcoming obstacles.

Should hopefully be some good, solid fun. Nikki and the Robots is coming to PC, Linux and Max soon. Visit the official site for more details and some lovely screenshots.

Source: grahamgrahamreeves' shared items in Google Reader | 14 Jul 2010 | 8:00 pm

You will shed a single tear for obese Sonic

You will shed a single tear for obese Sonic screenshot

There's something to be said about games -- and our imaginations, even -- that allow us to create our own goals and rules that exist outside of what the designers envisioned. If you don't follow, I'm talking about something as simple (or is it?) as not getting any rings in Sonic the Hedgehog 2.

There's an incredible thread on NeoGAF about people who "hack" videogame ROMs, and yes, it's relevant. A person going by the name of Captain Bozo has taken the aforementioned avoid-touching-rings rule to startling new heights. Each ring you consume makes Sonic fatter, and ... just watch the video already.

The fact that his extra weight isn't purely cosmetic makes this project brilliant. My hope for humanity has been rekindled -- I sincerely mean that. Bravo, good sir!

Source: grahamgrahamreeves' shared items in Google Reader | 14 Jul 2010 | 10:52 am

'Magnetic Shaving Derby' Review – Insane Face Shaving Fun

After our own Eli Hodapp highlighted three silly games you don't need but should probably have anyway this past weekend, I couldn't help but think this next game could very easily be on that list as well. Magnetic Shaving Derby is delightful in it's peculiarity, and as long as you don't expect too much from it, contains some enjoyable gameplay as well. If you've ever had the urge to shave your face by pulling a razor blade across it with a magnet, all while collecting various fruits, vegetables, and even bubble gum, then you are in luck today.

Using either touch or tilt, move a magnet around the screen that controls a razor blade as you shave a large, colorful, MS Paint quality face. Imagine the Wooly Willy from your childhood, only in reverse. Dragging the razor across the helpless chap's eyes, nose, or lips results in screams of pain and copious amounts of blood lost, not to mention it brings down your score. It sounds odd, and it definitely is, but for some reason I just keep on playing. There's a Time Trial mode that tasks you with shaving the face in as short a time as possible, with each painful nick adding time to your score.

The Time Trial mode is good, but the real fun is to be had in the Score Attack mode. Here, you're given 3 minutes to shave away at the face as much as you can, with the stubble growing back almost instantly. A blood loss meter at the bottom slowly dwindles away the more you cut the guy, and if it empties before the timer is up it's game over. Tons of powerups and hazards litter this mode, and take it to the next level of craziness. Dragging the razor across a falling cucumber puts two slices of it over your eyes as protection, and collecting a ninja star sends your blade spinning like a whirlwind making it much easier to shave. There's so many more things like this in the game, and it seems like I keep coming across new ones as I play.

Magnetic Shaving Derby has that intangible quality of “what the heck am I doing and why do I want to keep doing it?” going for it. The graphics are crude in an endearing way, and just silly enough to bring a smile to your face. The gameplay is interesting, but the controls aren't the best. Tilt isn't precise enough to do what you need to do, and while touch works well it can get tough when dragging near the edges of the screen. Also there's OpenFeint integration for achievement and high score tracking, adding replayability to what is a pretty basic game. Even without any of this, Magnetic Shaving Derby delivers a lot of entertaining moments based on just the craziness alone.

App Store Link: Magnetic Shaving Derby, $0.99

Source: grahamgrahamreeves' shared items in Google Reader | 14 Jul 2010 | 4:03 am

Getting Rich, Following that Dream, Being Happy

I found a question/response thread on Hacker News to be quite interesting. The question was “how did your life change after FU money”. FU money being a term for enough money that you have complete freedom to not work.

Paul Graham’s response I felt particularly rang true, and is something to think about. Paul Graham earned his FU money from cofounding Viaweb which later sold to Yahoo.

One thing you learn when you get rich, though, is how few of your problems were caused by not being rich. When you can do whatever you want, you get a variant of the terror induced by the proverbial blank page. There are a lot of people who think the thing stopping them from writing that great novel they plan to write is the fact that their job takes up all their time. In fact what’s stopping 99% of them is that writing novels is hard. When the job goes away, they see how hard.

It sort of goes with the whole cliche that money can’t buy happiness, but it also provides some good insight for people who might see their job as an excuse not to do whatever they really want to do.

Now, it also reminded me of TED talk by Dan Gilbert on Happiness which I thought was particularly revealing. I’ve linked to the relevant moment here (14minutes, 22seconds in).

Gilbert describes a study which proves that “choice” is actually detrimental to happiness. And what provides more choice or freedom than a huge windfall (“FU money” so to speak).

Gilbert describes a study at a university. Students take a photography class and at the end have 2 framed photos of their favorite work. They are split into two groups. 1) Pick a photo, and you’re stuck with it 2) Pick a photo, but if you change your mind you can swap it out for the other one within 4 days.

Turns out the people who have a choice about their photo are less satisfied with their photo even after the 4 days is up. By simply having that choice, they are ultimately less “happy”. So, people tend to be happier when they have no choice presented to them.

I feel like this applies to those who find themselves with complete freedom in their lives. Choice means you have to actively make a decision, and generates questions of doubt about decisions you make. In many ways, not having the decision is a simpler, albeit naive existence.

Now you may ask me if I’m happy. While I didn’t have a huge windfall, I do earn enough that I don’t have to work at a real job. So, I am doing what I choose to do, not what I have to. As a matter of fact, I am very happy, but I did think about these very issues alot when I first earned my freedom. Issues that I’d never really thought of before.

Source: grahamgrahamreeves' shared items in Google Reader | 13 Jul 2010 | 11:12 am

PopClock [iPad, iPhone]

Designed by Mike Tucker, PopClock is a fun new clock app created using the Cocos2d framework. Time is laid out in the circles which from time to time ‘pop’ resulting in various collisions amongst other circles. Double tapping changes the colour of the clock and you can fully interact with the circles by touch and grab or tilt the device to move them up and down the screen – It’s kind of like an hourglass…except with multitouch, and maybe some electromagnetism thrown in there.

Mike explains:
PopClock is intended to be what i call a ‘passive’ app. It’s something that can be left on your iPad or iPhone while its sitting in the dock. It’ll tell the time in it’s own special way, and doesn’t really try to be anything more than that. For development, Cocos2d was used which simplifies a number of fairly annoying aspects of OpenGL development, few being the use of fonts, image loading, audio loading and playback. Cocos2d also provides a very easy way to implement box2d into your project, an open source 2D physics engine for games. All in all, cocos2d makes for a painless experience and having never used it before, the entire production process only took about 20 hours to complete.

We are very fond of Mike’s work here at CAN. Not so long ago we asked Mike to work together on one of his apps and the result was RetroScreen. If you haven’t tried it yet, see this post or download directly from the AppStore.

See also: Untitled [iPhone, Games, oF] an upcoming iPhone game by Mike.

Platform: iPad/iPhone
Version: 1.0
Cost: $0.99
Developer: Mike Tucker


PopClock [iPad, iPhone] is a post from: CreativeApplications.Net | Follow us on Twitter - Facebook - Flickr - Vimeo

Related Posts:

Source: grahamgrahamreeves' shared items in Google Reader | 13 Jul 2010 | 9:22 am

Brighton illustration and graphic design degree show

Visitors had no problem locating Kelly Angood's work at this year's Brighton illustration and graphic design degree show. We have the highlights

As well as her name (or initials at least) in lights, Ms Angood showed these cardboard Thomas Demand-style recreations of a typewriter and camera (more here)

 

Across the way, was Joe Luxton's hugely impressive installation made from laser cut, folded and mirrored aluminium, on the Buddhist concept of Sunyata in which two different messages could be read depending on the angle of view.

 

 

In an altogether different vein was Jess L Smith's Murder Ballad series

 

Edgars Zvirgzdins' work was particularly strong - more about his Creep project (left) in a separate post

 

And it was hard to miss Daisy Gam's saucy illustrations based on her collection of 50s erotica

 

While Rosalind Monks showed delicate insects cut from gold foil, inspired by specimen cabinets, alongside similarly ornate illustrations

 

And Luke Wright had one of the most consistent displays with a series of music-themd projects

 

This is just a small selection from the show - more here

Source: grahamgrahamreeves' shared items in Google Reader | 10 Jul 2010 | 6:00 am

Sonic Colors pre-order gift will be great at parties

Sonic Colors pre-order gift will be great at parties screenshot

Gamestop has announced their pre-order bonus for Sonic Colors. If you put $5 or more on either the Wii or DS versions of the game, you'll get a authentic Sonic wig, complete with widow's peak. Pre-order both versions of the game, and you'll get two wigs. Then you can dye one of them black and have a "Sonic and Shadow House Party Pajama-Jammy-Jam", with Sonic Colors running on the Wii and the DS all night. I guarantee you'll get lucky. Chicks go bananas for that sort of thing.

As fun as that probably sounds, it's still not as good as what I'm hoping for. Though it's only a couple months away, it's my dream to get my hands on one of these wigs before PAX Prime 2011. Then I can get one on Sterling and coerce him into doing our entire panel as Sonic. From there, we can ditch that loser Sagat, and Sundays with Sonic will be born.

After that's run its course, it's Jueves with Junpei time.

Sonic Colors pre-orders to come with blue spiky hat- [Segaaddicts, via Segabits]

Source: grahamgrahamreeves' shared items in Google Reader | 5 Jul 2010 | 9:31 am

FriendsWithYou's inflatable fun

Miami-based artist duo FriendsWithYou travelled north to Toronto recently, to take part in the Wish Come True Festival. They created an inflatable town in the centre of the city, plus much more.

 

FriendsWithYou are artists Samuel Borkson and Arturao Sandoval III. They have worked together since 2002, and say that they want to spread a "postive message of Magic, Luck and Friendship with their art". They certainly appear to have brought a lot of joy to Toronto, judging by the pics they have sent us.

 

The Wish Come True Festival took place from June 10-20. FriendsWithYou were commissioned by the Luminato Festival of the Arts to create work for the festival, and responded with a number of inflatable installations, a pop-up shop, gallery show and an animation.

 

 

At the centre of their work was The Rainbow King, above, an ambassador for the festival. You an see him making his way around town in the YouTube film above.

 

The Rainbow City, a large installation of giant totems, magical mushrooms, oversized bouncy houses, and inflatable characters all appeared in downtown Toronto, on the site of the city's presitigious parliament building in Queen's Park. Visitors were invited to play with all the sculptures.

 

Sculptures were also displayed in two large-scale commercial spaces in the city. Starburst, shown first above, was displayed at the Bay Adelaide Centre. "Starburst is the captured moment of an exploding star," say FriendsWithYou. "In its grand scale it is kinetic even without motion. He is constantly exploding and being reborn for you to witness." The Secret Garden, above, was displayed in the Wintergarden lobby.

 

In addition, FriendsWithYou showed a solo exhibition of paintings at Narwhal Art Projects and also set up a pop-up shop at Magic Pony in the city, selling prints and art products. Two of the prints are shown above. These can also be brought online on the artists' website, here. We defy you not to feel cheerful looking at their work.

 

Subscribe online and save 29%
Subscribe to Creative Review to receive the magazine and Monograph each month plus access to the online archive and subscriber only content...