Just a quick update. It’s been a busy month since my last post! I’ve now implemented offline map tiles using a MapBox Tilemill project. Though there will be an option down the line to choose between offline and online, currently I’ve just got the offline Glasgow Uni campus tiles up. As well as this, I’ve also implemented functionality whereby the user can select buildings from the table view and plot them on the table view as well as being able to change the user tracking mode. Once I had this down I went back and improved a lot of the data as well as fixing lots of wee bugs to do with users being outside bounds etc.
After finishing this functionality I figured that the app is at the stage where it does at least something useful (albeit simple). So I decided to go about the process of getting things set up for testing and in turn, the AppStore. I implemented the HockeySDK so I can receive crash reports (among other things) from beta testers and users. After doing this I went through the slightly painful process of getting everything sorted for AppStore submission (realising how many things I’d done wrongly and had to change before I got there!).
Anyway, last night I finally got it submitted and it is is the reviews stage after which the first release will be available! I’m looking forward to getting stuck into more user facing features after a week of not much on that front.
Along with the aforementioned app-related stuff, I also found time to go on holiday with my girlfriend to Berlin. It’s been a long process since September and I feel I deserved it! As well as that I’ve been in the process of a few job applications. Hopefully I’ll have that side of things tied off before long and I can go head-on into full concentration on my project for the rest of the summer.
As promised, here is the first update as to how I’m getting on with the project. Naturally, on finishing my exams, I needed a wee break and then a chance to get back into iOS again by finishing watching (and then re-watching) the excellent Stanford University iOS lectures by Paul Hegarty. I properly started development on Monday last week and so far I’m not doing too badly. Obviously it takes a wee bit of time to get back into things but I feel like this week should be productive after a slightly slow first week.
The first thing I did was set up my project with all the appropriate frameworks to get started by using CocoaPods (a decent library manager for Objective-C). I decided to use the MapBox SDK to deal with the maps side of things (allows offline maps which could be useful). Once all the basic setup was done I set about displaying a simple map view and getting the user’s location to be displayed. Next up was creating a table view with the intention of displaying a list of buildings. This involved not only populating a CoreData database with building information, but actually finding the data in the first place. While my contacts at the university have said I will have access to their Oracle database, actually getting hold of the right person to give me the appropriate privileges is like drawing blood from a stone! Thankfully I received an excel file with some basic information about rooms, buildings, schools etc. I managed to populate a CoreData model with some test data by exporting this information as CSV files, converting to JSON (the likely format of the data once I get a web service up and going) and parsing it all into the model with a separate command-line app.
Next up was using an NSFetchedResultsController which nicely manages CoreData fetch requests for display in a table view. This involves pretty much copying, pasting and customising code straight from the documentation into a tableViewController, but for now I decided to just subclass Paul Hegarty’s CoreDataTableViewController as it does what I need. I’ll have to customise this quite a bit in the future, but for now it saved me some time getting things up and running. Finally, just to make the table view a little more friendly, I added alphabetical sections with a wee jump list as well as a search function.
Most of the time this week was spent getting to grips with CoreData and making sure all the right file paths etc were being used in the main. Also, I’ll admit, the process of populating the model from a separate app was a little hacky and even involved some copying and pasting of an SQLLite file :-S. But it works for now, and the long term solution won’t need such a process anyway.
Next up: displaying detail about the buildings, viewing room data and viewing building locations on the map. Also might consider using a tabBar instead of a navigationBar…
Well it’s been over a year since my last post but that most certainly hasn’t been from a lack of activity! The only real changed to this site in the last 9 months has been to my title and CV. These could give clues as to what I’ve been up to, but it should be worth a wee post with a general update.
Since my experiences of Dare to be Digital in 2010 where I was somewhat thrust into a programming position with very limited previous experience, I’ve had a niggle that programming is what I wanted to do. Regardless, I stuck at my audio work, continued my Sound Design course and graduated with aims of building enough freelance experience to eventually get an in-house post with a game developer somewhere, hoping my self-taught programming skills could be seen as an added bonus. Unfortunately my aims never seemed to be fulfilled and while people would give encouragement with “follow your dreams” and “don’t give up”, I understood the emptiness of such words when it became hard to pull together enough money to get by. At the end of the summer of 2012, with no full-time job in sight, I decided I wanted to change programming from being an “added bonus” to a qualified skill.
So since September last year I’ve been taking an MSc in Software Development from the University of Glasgow. The course has been structured to be highly intensive and squeeze as much of the most important content from a Software Engineering undergrad as possible into a one year Master programme. This task has been well achieved with the Software Development degree, but it’s been extremely fast paced and has taken up to 65 hours of some weeks since September. They even have to squeeze 130 credits (11 1 20 credit and 10 credit courses) into 2 semesters when most Masters courses only require 120, simply so they can fit all the content in. Needless to say, it’s been a lot of work and may be a part reason for my lack of posts.
So after 9 months of hard-graft that brings me up to today. I can safely say my niggle has grown into an absolute certainty. This is what I should have been doing all along! I found more and more as the course went along that things just seemed to make sense almost instantly. Programming has gone from being an added bonus, to a taught skill to an absolute obsession! I found myself trying to fulfil assignments in obscure and creative ways just as an extra challenge! And to add the icing to the cake, my results came back last week to reveal I’d received A grades for every course I sat bar 1 (B1 for Systems & Networks… alas!) and a GPA of over 19 (86%). This has given me the final confirmation that this is what I should have been doing all along. I’ve not received results like this in my entire life and, more to the point, never have I enjoyed “work” so much!
Part of me wishes my school hadn’t had such an embarrassment of a computing department so I could have realised this sooner in my life, but I honestly think the creative outlook towards designing and building that I’ve achieved through my love for games and audio has been an important part of my overall learning curve. How can people really know exactly what it is they should be doing at the age of 17 anyway? Besides, I still love audio and I still love games. Perhaps developers will see this knowledge as an “added bonus”! ;-)
Next on the agenda is applying for one of many potential jobs I’ve already scoped out while firing into my final MSc development project where I’m developing a Glasgow University Campus Maps application for the iPhone. It’s already underway, so watch this space…
Before I begin, I just want to explain that through most of last year I was finishing an MSc degree. This meant that a lot of games I wanted to play and was half way through had to get put on hold. I’m still catching up! But so far I’ve managed to play many of last years big games. Dragon Age 2, Portal 2, Skyrim, Arkham City (almost!). But one game which I just finished blew all of these out the water!
Hey, I can appreciate the huge amount of work that goes into an epic expansive game such as Skyrim or the thought that goes into designing some of the mental puzzles in Portal 2, but the sheer impact of an indie game made by a team a fraction of the size of any of these other big players is astounding. After finally finishing Bastion tonight, the end of the story almost brought me to tears! Here was a game that balanced fun game-play with just the right amount of repetition so you could feel like you were improving as a player, but also just the right amount of variation so it never got too repetitive. My only qualm was the thought that certain weapons barely got used, but on talking to other friends who have played it, their favourite weapons were completely different to mine! The excellent use of conventional game mechanics but executed in an original combination made the game feel really fresh without breaking the bank. The beautiful cartoon style, creates lush 2D art in a 2.5 d game-play setting making it a world you really want to be playing in. The dulled down real world colours in a lot of todays sandbox / shooter titles can get really depressing after a while. None of that here!
But most importantly from my perspective: the audio. I don’t just mean the sound design. Though the sound effects were appropriate and imaginative for the setting, the music just never got old no matter how many times I heard the same tunes! Skilfully combining two of my favourite musical features: Blues and Breakbeats, I’ll happily buy the OST separately just to give Darren Korb the extra credit he deserves. And the amazing story just wouldn’t have been the same without the perfectly phrased, perfectly edited and perfectly implemented voice of Logan Cunningham, with his voice that could melt butter.
Bastion has not only inspired me to put the sound effects aside for a while and get composing, but it has also inspired me to get back into learning XNA. If a wee indie team can create a game as great as Bastion with it, I’m keen to get stuck in!
Since leaving uni I’ve been feeling the pain of not have a whole room full of recording kit available at my disposal. While I was at uni I loved going out to collect nature sounds using a Rycote windshield and Sennheiser ME66 shotgun for some nice wind-protected directional location recording. Unfortunately my wee SE4 Cardiods don’t have quite the same directionality. Fortunately I’ve been saving for a new piece of kit and have recently treated myself to a birthday present. The Rode NTG-3 short shotgun!
Not only does it have a narrower polarity and wider frequency response than the ME66 or other mics of its price range, but it’s also more weather proof. I saw this as something worth spending the extra quids for as my favourite recordings often involve going into the sticks where weather can be unpredictable and shelter thin on the ground. As well as this, it’s pretty damn sexy. Very happy birthday me!
Been playing Skyrim on the P.C recently, the best game in proportion to number of annoying glitches that I’ve ever played! Once I’ve finished I’m going to write a full catalogue of my glitch experiences. But until then, here’s an interesting Game Informer article about the sound and music of Skyrim. The music in particular is some of my favourite of any game in recent memory. Not surprising considering it’s composed by the master that is Jeremy Soule.
In recent years I’ve become massively into some of the American drama series that are coming out with increasingly large budgets. Game of Thrones, Breaking Bad, The Walking Dead, and of course House just to name a few. The production levels are very high quality and due to having several episodes (often up to almost an hour long) and several seasons, the number and depth of issues, characters and topics they can cover is huge allowing them to be much like a very long film.
But there is one issue that get to me. As a sound designer, sound is often a thing that excites me or bugs me more than it would most people. In the case of many of the American TV series – most noticeably The Walking Dead – the sound design is usually very high quality and is often used to say something outside of what is portrayed using the image alone. But this high quality sound design is often ruined by what appears to be some crazy ducking compression. In my experience the shows will often have a rather prominent and rich ambient track or wild track that is probably a little overly loud for ambience in the first place. But (to explain to any non audio people) this ambience seems to violently lower in volume when the characters talk and then pop back up again giving some crazy pumping effect which just sounds wrong! Here’s an example. May not be suitable for work and beware of very minor side plot spoilers.
Now my first thoughts were obviously “These mixers are getting paid a lot of money to do a job that I would love to have! How the hell are they letting this happen?!?”. A quick google search and the first hit for “Walking Dead sound design” came up with a rather less than civil rant about the same problem. As well as the individual being slated for being plain rude a number of people more in the know about the way TV production works explained that the broadcasters actually use expanders on the whole audio track and raise the volume of the quietest sounds giving this uncomfortable effect. The reason someone gave was a “misguided attempt to compete with the volume levels of commercials”. Suddenly it all made sense! After this I noticed that the series in which I noticed this the least – for example Breaking Bad (exceptional sound design!!) – I had been watching on DVD. This find made me happy that these sound designers weren’t just letting this happen, but at the same time very angry that the broadcasters put that little value on the hard work these guys have done!
So, moral of the story: wait for it to come out on DVD or Blu-Ray if you want to hear it as it was actually intended!