Updated March 2017
Below is a video of a more advanced VR project that I made in Unity 3D using the Google Cardboard SDK. I am enrolled in the VR Nanodegree from Udacity; this was one of my assignments.
For this proejct, I created two scenes and even did the modelling of the 3D objects. I used SketchUp 2017 to create some geometry. One of the lesson learning on this course is making geometry takes time - fair enough. Given more time I would explore making the buildings procedurally to be able to more efficiently make adjustments. Working in VR, is an iterartive process.
You can view the video full screen using Google cardboard to the get the VR effect!
I have made the project source code available to download.
It has been released, I did some work on updates to the CURATE app from MeLo-X. 😄 The app production was a collobroation with myself, Craig Shaynak & Federico Pascarella with an assist from Christian Lewcock. Thanks to Christian (aka Homemade Jam) for making this happen.
The real time audio effects were achieved using the very powerful Superpowered Audio SDK.
It is well into 2016, I have been doing work at a company the last few months doing some very interesting work with structure sensors & much more work in Swift and SceneKit amongst other things.
Just recently, I learned that A-frame is out in the wild an usable. I was pleastantly surprised with the worklfow - that is the goal to make it relatively easy to do VR on the Web. I have a scene that I am workign on here:
And on my own time, I have been getting more familiar with the Unreal Engine, Unity 3D and Google Daydream (VR). It is really interesting!
The video shows that as I move the phone, a reticle is displayed on screen; the camera does a ray cast hit test with the 3D objects in the scene. The objects change colour and or start a particle animation when a hit occurs. This small demo was made using Unity 3D.
On the subject of SceneKit, I have been doing much tinkering with trying things out like camera movement. It has been a challenge to get the code to work. There is a project on GitHub which I keep adding to as I try things out. Here is the link.
Here is a short video some objects moving and camera following the objects. This is a fairly typical scenario in coding visuals and something game like. It took me some time to make sense of the SceneKit API; of course, once I understood it, it was quite apparent 😊. The video does not look like much but believe me; it was quite a result.
More information to follow. The White Hills app has been going through some revisions as well.
Version 1 of the White Hills app is done! I wanted to get a version of the app out while the band is on Tour.
I will be working more on the audio mixer over the coming months.
I had been doing some prototyping using Swift to try out using Scene Kit (3D framework from Apple for the Mac & iOS).
Prototyping in Scene Kit using Swift
I am now trying out using Swift to do some prototyping on concepts with Scene Kit. I am liking it. What I do need to is start using meshes imported as DAE files as my requirements are to use more complex meshes as I iterate through the development.
Prototyping in Quartz Composer
Recently, I have been doing some prototyping some visuals using Quartz Composer for some potential work. I did also out of curiosity use Sprite Kit in a stand-alone Mac OS application but the frame rate was terrible. I need to spend more time when convenient profiling the app.
I have been working on an app for the band “White Hills” from New York as an after-hours project. The app is being built using storyboards & features various sections; I have been using Sprite Kit to add some animation in the app like particle effects. Now with iOS 8 you can now use Open GL shaders. I wanted to achieve a distortion effect in the splash sequence when the image changes. I modified an existing shader program to work with in the app.
The Old Dragon’s Treasure
This project is a bit different. One idea was too make the app as a fully interactive iOS app. Various factors changed the course of the project from when it was first conceived numerous years ago.
I had been looking into the EPUB 3 format & suggested that we make an eBook version in the meantime.
The book is finished & is currently waiting for the publishers and writer of the book to submit it the iTunes Book store.
Baby Music Paint
I had been working part-time over the past months on this app with a colleague Marco Donati in Italy. It is finger painting app intended for young children. When interacting with the app, musical notes are played. There is a different note for each colour.
There is a second section of the app which is a like a piano. You tap on the keys and music plays.
The app was made using storyboards and the interactive sections were coded using the Sprite Kit framework.
The initial version of the app was using Google ad banners and in-app purchases.
A running app
From Dec 2013 to May 2014, I had been working with some people in the UK on a app that combines running and a narrative experience with game play elements.
I drew up a project plan and also designed a CMS to host the content. I wanted to set up a workflow where the content could be more easily updated in the app by downloading it from a server. Parse.com was being used initially to handle user accounts during sign-up.
My work was on the prototype of the app and leading up to getting to a minimum viable product (MVP) in iOS.
I am not working on the project anymore. I am planning to take the source code from the project and release it as an open source app when I have removed the commercial IP.
Contact me if you are perhaps interested to know more about the project & source code.
I had spent a good amount of time contributing my skill as a software developer to this project at the National Film Board of Canada. I was one of a team of many working on this project; I worked on the iOS app for a good part of 8 months. The app which is currently a free download from the app store.
The app engine is using a custom 3D engine called Kraken created by Kearwood Gilbert.
I worked on much of the UI code was implemented in UI kit and storyboards. The app went through a few iterations of different user interfaces while I was working on the project.
I also worked on the interaction logic which was coded in Objective-C. It would interface with the engine which was mostly written in C++.
2013 & earlier
I am in my fourth year of making mobile apps in iOS. I have worked on over 20 projects. Besides the iOS SDK, I have been working with Cocos2D, Box2D, Unity 3D, HTML5, CSS3, Quartz Composer and SVG.
I just recently completed work on an iPad game prototype. It was built using Cocos2D and Box2D. I made use of sprite sheets created with Texture Packer. I also used Cocosbuilder as part of the work flow to create the scenes.
An app that I made for a friend is live in the app store now. It was built for iOS5 using storyboards. Kavita app store link. We have plans to add more to the app. over time.
The last big project that I did was an app. called Furious Hunger. It is a big concept in recipes, food, and immersive interaction using video. Version 1 of the app is currently free on the app. store. I am no longer am associated with the project; I was the lead developer on the initial version. The project was spread over 6 months and the largest mobile app. that I have worked on as a sole developer; more people assisted towards the end of the project.
Processing, Arduino & DMX
I have done some tinkering with Arduino micro-controllers and using them with DMX lighting systems - very nifty. I took some workshops with Openlabs in London. Processing was used to communicate with the device over USB.
Interactive TV has been around about a decade now. Not surprisingly different rules apply when developing such services. As one is using a remote control as a interface device and working with bandwidth and memory constraints: it is similar to developing services on mobile phones.
I enjoy playing computer games as well as creating them. For me, it is not just about code but also aesthetics and game play. Working in a small team, there is a a great amount of work to and it requires organization I had been working on contemporary art project - the project is on hold at the moment. Meanwhile, I am exploring game creation using the open source Cocos2D, iTGB and Unity 3D project on the iPad.
UV are specialists when it comes to media presented in public spaces on a large scale using video. We have been looking to take such projects to another level and making them participatory. Over the past few years, I had working on prototypes and concepts with UV. Urban Visuals are based in Vancouver, Canada.
I had been working on a variety of projects in 2011. Most of them were under non disclosure agreements so I cannot say much.
What I have been working on this year so far.
I have been quite busy working on iPhone applications so far this year. I am now starting to experiment with the iPad.
I had worked to hire on the following applications:
- Superfooty - Australian rules football app., agency TigerSpike Sydney, client Herald Sun
- an enhanced ebook "Black Light" which will be on the app store any day now, agency Conjure Mobile
- as well an app. to promote a collection for Bulgari, agencies TigerSpike London; Megalos, Paris
More details are available upon request.
I have worked on a variety projects in 2009 and coincidentally they have all been Mac OS X & iPhone based.
I did some work over the summer for an agency in London called RPM. I worked on the Stella Artois bar locator. The app has since been removed from the app store.
Angela Patchell Books
I worked closely with Angela Patchell on the first iPhone application for her specialist publishing company.
I had worked on an media content management system for the Guardian Media Group while working for Met Film Post Ltd.
It was quite a detailed project to provide a technical solution for the work flow for getting video shot on location and in the studio into a media repository and then edited using Final Cut Pro.
Much of the system was build using OO Perl. There was a custom metadata editor for OS X created called the "Ingest App". This application made extensive use of the QuickTime API and CoreData to represent the Meta Data in the application's state.
In 2009, I have worked on 2 Quartz Composer projects:
Project MINDTouch - Smart Lab, East London University - an interactive performance piece using Bluetooth and Quartz Composer. I did the QC programming on this; the composition loaded movie clips and applied image effects from a real-time data source over bluetooth.
And while in Vancouver, I did some updates to the QC for the Vancouver International Film Centre with my colleagues at Urban Visuals.
While at the BBC, I started working in Interactive TV; at this time, this was the early days of services being designed and built at the BBC from 1997 to 2000. For example, I worked on prototypes for the Digital Text service for digital satellite.
After leaving the BBC, I worked for a year and a bit at a start-up called Codecell started by some extremely talented people that I had met while at the BBC. And then I went to on to work at Sky Digtial for a few years.
My most recent work in Interactive TV has been for Chellomedia Interactive (now called UPC) to develop order ahead pay per view applications in 2006 & 2007.
In 2008, I worked at Miniweb.tv working on their portal on Sky Digital. A new version of the portal v2.1 was launched in October.
Most recently in 2006 & 2007, I worked at Chellomedia Interactive on 2 Order ahead pay view applications. An order head application is an application that allows the viewer to see what movies or events they have purchased for viewing. The applications were deployed in Ireland and Switzerland.
I worked as the Open TV application developer for Super Keno for the Sky Vegas Live channel. Super Keno was the first enhanced TV show launched by Sky Digital of its kind. The application/service would handle real-time updates in the broadcast stream to control the game action. The service was loosely synchronized and works quite well. I did all the programming for the client application which displayed the game cards and showed the game results and placing bets online via a "gaming engine" on a remote server.
The work I did was also used as the foundation for Poker Keno and Sky Vegas Live Roulette. I supported the developers of these games when they launched on Sky Vegas Live.
The Super Keno application was developed in C in the Open TV API; it was attached at run-time using dynamic linking to Sky's WAP TV browser. The WAP TV browser had some additional API's on top of the Open TV API. The Super Keno application handled key input, real time events, animations and XML request/responses. As there service was using real time updates, the internal state machine was quite complex.
Monsters is a classic arcade style game. Defeat the monsters before they get you. The game featured optimized collision detection using circles to represent the objects. The artifical intelligence for the monsters was rule based using finte state machines.
This game is a variation on the famous Tetris game with the difference being you spell words from a list. The level ends when all the words have been spelt.
Rapid Rabbit was game similar to the arcade game Qbert.
Picnic Antics is puzzle style game. The objective was to remove the ants from the picnic by lining up ants of the same color and they would disappear.
Urban Visual is a Vancouver, Canada based company. I have an ongoing relationship with them.
For more information on the project work, click on the section link.
We completed a project for the Vancouver International Film Centre in October 2007.
I specifically worked on the software object for displaying "Now" and Next" information for the cinema. The work was built using Quartz software technology resident in Mac Os 10. The "composition" was developed using the Quartz Composer application.
Before working in interactive TV, I did work on one big game in Winsdor, U.K called "Queen, the Eye". The game was published by Electronic Arts.
In 1996, I worked for almost year at Mediola in Cagliari, Italy on the island of Sardinia. I worked on two titles while I was there: "Who's Fat Lou?" and "Woodspell".
I have since being doing some work in prototyping games and I have been working on a game as potential installation piece called "Laius' Folly".
My other game projects are in the interactive TV section.
Over 2006 and 2007, I have been developing a game called "Laius' Folly". It is based on an original idea from the UK based artist Paul Noble.
The project is currently on hiatus as the game design and game play is being evaluated. The game is being developed using the Torque Game Builder (TGB) engine from Garage Games A custom made arcade cabinet was made to display the gamet. It is using a joystick and buttons to play the game. The controls interface with a personal computer housed in the cabinet using a USB interface. Like an actual arcade game, there is an attract mode which cycles until someone plays the game. The attract mode features some an animated title sequence, a high score table to name a few of the screens. All of the action takes place on one screen in the current design; as the game progresses the difficulty increases.
There are some non player characters (NPC's) in the game. The NPC's use rule based artificial intelligence used to control the NPC's.
The game is currently on hiatus for the foreseeable future.
I worked on a ambitious multi CD ROM action adventure game. On this project, I worked as a script programmer using a custom tools developed in house for a 3D game engine.
I was responsible for doing the scripting for two of the game worlds.
This was developed by Destination Design an affiliate of Electronic Arts and EMI.
Chose a path
"Who's Fat Lou?" was a Rap adventure game conceived by the artist/designer Amitai Plasse from NYC. I was the lead developer on the project.
It was a point 'n click adventure where you needed to complete tasks to get all the way to the end to fight the evil "El Guapo" using the "Guapotron".
The game featured voice acting and some rather edgy humor.
This title was developed for Mediola; an Italian company that had it's development office in Sardinia.
Woodspell was a wonderful game of exploration for young children set in a world of fairies and elves. It featured music by one of Sardinia's leading music groups "Tazenda". I did the programming for one of the game scenes.
This title was developed for Mediola; an Italian company that had it's development office in Sardinia.
Some example of concepts and projects that I was working on in 2006.
Is a visual programming environment on the Apple Mac. It is an effective and immediate way to do graphics in Open GL.
I have been building visualizations in it using RSS feeds as data sources.
And doing animation like animated snow using particle effects.
Ruby is an object oriented programming language coming from Japan. Ruby on Rails is an application framework for building web -sites.I was looking at using Ruby on Rails for building a web moderation system for data stored in a SQL database for a visualisation idea.
I was doing some work in C++ using the PTK game development library from www.phelios.com/ptk
I had been working on creating my own game objects classes. At the moment, there are 3 characters on screen and pressing tab cycles through the characters. They can be moved around using the arrow keys on the keyboard. Pressing the space bar brings up a targeting line from the current game object to the mouse cursor.
And pressing space again will start a particle stream of bitmaps playing out. I obtained some examples code snippets of particle systems and modified them to work with the animation class and PTK library.
What I am going to do next is add support for reading in floor map descriptions for displaying the game levels.
Prior to working on the C++ code; I had been doing some Java work with the aim gaining experience using the 2D graphics API. I created a simple banner applet that renders my name using the text capabilities of the API and displays some animations of some clouds using PNG files moving across the screen. Note: the gradient fill for the background.
I have been doing some collaboration with Jayne Jordan a London based Jeweler.
I created a small WAP site as an example for her. Using a WAP browser go to the following URL
If you want to speak to Jayne about Jewelry; her email address is jaynejjeweller _at_ yahoo _._ com
One of the things that I have been interested in doing is adding maps to my travelogues and photo albums. I had been experimenting with web-sites that generate maps for you and also allow you to mark points with longitude and latitude coordinates.
A friend said to me to me the other day back in 2006 why don't I use Google Maps. I had a look and it was really quite straightforward to do. You do need to know some java script. On the map in this example, there are 3 markers and a line indicating the journey I took from Forli to Roma and then to Bari.
To try the map out for real click here. This will take you to another section of my web-site. Click on the "markers" and see what happens.
Very nifty indeed.
student in Udacity VR Nanodegree program
Puzzler VR game
This project was an assignment to go through the process of documenting work.
The video is the game running on an iPhone 6s. The game is an interpretation of the classic children’s game “Simon” made in Google cardboard using the Unity 3D game engine. A sequence of orbs light up & then user then tries to repeat the sequence to win the game.
The persona is an example of a person who would play the game. There could be more than one persona of course.
Age - twenties
Occupation- someone working in creative industries / student
Name- Suzie Switch
quote - “everyday could be Caturday”
Likes to try new things, have fun & consume entertaining games & media on her smartphone. Lives in the zeitgeist.
Their experience level with VR - Suzie has heard the hype & is curious - may have tried a few VR experiences.
I was thinking a colourful world like something out of Japanese anime and Adventure Time. Ideally, the building would be a curved structure (Note: the actual end result was a stone building using the provided assets).