Pig on a Hill Productions

Away and Planning

So I’m currently looking over the amazingly blue sea off of Crete in the last few days of my honeymoon, and starting to think about all the things I have waiting for me when I get back. Don’t get me wrong, I’ve got a lot of plans and exciting ones at that, but relaxing here in the sun after going full pace for so long has been very nice.

I plan to make this a short post (haha, short), just to say what I’m going to be looking into from now until Christmas and beyond. A basic outline if you will.

Read more →

Little Hedgehog Server

When I stared work on Puck (my iOS app for results, scores and information on Elitserien Ice Hockey, check it out on iTunes here! and the reason I got my lovely Linode VPS) I made a backend to be able to compile all of the data into JSON files and then read them into the app. I started looking into several languages for this, PHP and Ruby both being strong contenders, but as it is with most things, you normally go for something that your friends and colleagues are using. This is for the most part because you know you have people to ask for help when things go wrong or you don’t understand a feature, but probably also because you end up hearing more about it.

The language in this case was Python and after going through the tutorials on Codecademy in a day I started making my backend. This continued to be my main and only real source of use of Python for a long time. Even though it did span out into a lot of topics, because Puck now has push notifications and so the backend has notification and database support now, all done with Python, apart from one page of PHP for dealing with device tokens.

About a month ago I decided I wanted to start looking into making myself a multiplayer server. I’ve been picking a few similar topics lately in an attempt to increase my knowledge in different areas and start creating the building blocks to make my own game engine/framework, or at least a group of frameworks that I can use in future games I develop.

Read more →

Supporting iOS Versions

Lately there’s been a lot of talk with backwards compatibility, both in my work and in the press due to the new gen consoles we’ve seen. At work most people and clients go for iOS 5 being the minimum iOS version to support these days. This seems natural with the speed people seem to be moving over to the latest versions of operating systems due to them being delivered over the air, and in he case of iOS, being free. However in my own personal projects I have always tried to support the oldest version I can, that being iOS 4.3 (as of writing this post). Though lately, working on new versions of some of my apps I’ve gone for iOS 5 as a minimum.

Apple releases a new version of iOS pretty much annually. This means once a year I get a bunch of new features to play with and hope that none of the updates don’t break any of my apps (which thankfully hasn’t happened yet, touch wood). When I look at previous updates for iOS from a developers point of view the last major things were added in 4.3. Since then we’ve got some amazingly useful new features but they’ve very much been improvements on the previous method of doing things (I’m sure I might be called out on this but infant see anything that changed what I do that is “new”). I think the biggest thing I noticed over the last few years was in iOS 6, when the core methods of how UI rotation is handled was changed. And that was still an enhancement again of a previous feature.

Read more →

Game Engines and Polycode

Over the last however number of months, a friend of mine has been learning and playing around with OpenGL. Ever so often I will receive a .app file with new functionality each time. It started with a red and a blue cube hovering over a green plane with no lighting, shadows or anything, to basic lighting, dynamic lighting with an old Lara Croft model loaded in (I mean what would you use?), basic textures and so on. The latest version I’ve seen, via screen shots, included full textures on the Lara model, the buildings in the background, road, paths and everything else. Of course, as with everything in programming it was still a work in progress (and I may have over hyped that a bit) but the distance he’s come from those 2 cubes hovering over a flat plane was amazing! I might have got a little jealous, but I know I just don’t have time to be learning something so core like OpenGL from the ground up at the moment. What with work and my own projects, my brain would just explode. So I wen’t looking around for a nice game engine to use and play with.

The first things you find of course are the big boys such as Unity3D and the Unreal Engine (UDK) which are very popular and nice engines, but they just felt a little much. I’ve been getting into the indie game industry a lot more lately (which I’ll go into in another post if I haven’t already) and a lot of people seem to make there own engines. It’s again something that I’ve wanted to do for a long time though I know, right now, I just don’t have the knowledge to do it on my own and of course theres the time thing again as I mentioned before. So I kept looking around and the more I looked I found lots of different things.

Read more →

PP2 March/April Update

Pixel Pals 2 is making progress, slowly but surely. I’ve finished the basic backend now and have been tweaking it as I add the other content, new functions and generally play with the game. I’ve recreated the basic UI and started importing features, such as the mini games (the coolest part of the current version in my opinion). It’s made me realise how bad my current code is in v1.x. It’s not wrong but it’s just formatted and written in such a novice way, which isn’t hard to understand as I’d only been making iOS Apps for a couple of months, self-taught when I wrote it and had only been programming in Obj-C for the same amount of time. It’s actually really nice to see how far I’ve come and how much better and efficient I am now. For example I believe the size of the Find and Seek mini game class is now a 3rd smaller after optimising it.

Read more →

Major Puck update under development

We’re nearing the end of the Elitserian season and the first season for Puck. It’s been a great time and I’ve learnt a lot, especially server stuff. So what do we do now? Well the obvious thing is, make it all even better! So I’m currently working on a major update to Puck which includes big UI and backend updates.

I have been planning to add more Hockey Leagues into the app for a while now and doing so would have meant a crowded experience with the current UI. So I decided to get rid of the tab bar and use a sidebar, similar to the current Facebook and Wunderlist apps use. This allows more space to add features and leagues for the user to choose while having the added bonus of freeing up the screen where the tab bar used to be. Here’s a sneak peek of how it’s looking at the moment. Please remember this is a work in progress and it currently has no updated graphics.

Read more →
Author: James Barrow
Tags: Puck iOS

General March/April Update

So I think I can safely say this week has, felt at least, the most unproductive I’ve had for a long time. I hit a wall with updating Puck and Pixel Pals 2 so as the week is now finished and I think I’ve finally got my brain together I thought I’d write a post to talk about what’s been going on.

In fact I’ve had so much to say that I have 2 more posts written and cued up to go live over the next week. I know I have said this many times before but I really want to get posts out a little more regularly (more than every 2/3 months I hear you say, shock horror!) so I am planning to try to get at least a short post out every week.

Anyway, to the updating!

Read more →

February Already?!

So somehow it’s February already! How did that happen? I was going to write a post hoping everyone had a good Christmas and New Year but I feel it’s possibly a little bit late now.

So what’s been going on? Well over Christmas I was working on an update for Puck. I wanted to add live scores to it, which of course means push notifications. This ended taking a little longer than I’d have liked as performance never seemed to be quite good enough. Push notifications in general for an app are one thing if you’re just informing the user about updates or features. However, in Puck’s case it has to be instant (or as close to it as possible) as it’s notifying the use about a live event, score reports. Sadly it’s never going to be totally instant due to it going out of my hands as soon as I send the notification request to Apple, but I’ve done my best to make it as fast as it can be my end.

Read more →

Pixel Pals Ramblings

PRE-POST NOTE: The following will be a rambling of my thoughts and plans for the new version of Pixel Pals. I have been having some problems of late trying to workout certain features of the new version because I can’t get them out of my head. This is an attempt to do that. Not all the things I talk about in this post will make it to the final release, likewise some things I say will not be in the app, may still be. Confused? Well have fun reading the rest of this and seeing a, sometimes scary, glimpse into my thoughts.

General Idea

The general idea for Pixel Pals v2.0 is to fix the fundamental problems with the current version and so make it in a “nicer” way. The original version was made over 9 months while I was learning how to code. So it’s a complete mess! It’s structured wrong (if can call it structured at all) and nearly impossible to add new features to. So the plan for v2.0 is to fix these main to points.

Read more →


What a week it’s been. So much was planned to get Puck up and running with live score and push notifications, however it’s taken longer than I thought. Not because I couldn’t code it, all the basic code was done and working on my local machine fine. The trouble began when I uploaded it to my server.

Up until now I haven’t really done much backend stuff myself. Dog Bins was my first delve into backend and actually I didn’t do much of it there ether. It’s powered by something called Parse, which is a very powerful and useful backend system that allowed me to quickly make Dog Bins with users and Geolocation data. So when I started Puck, that’s when the fun really began. Puck’s backend is based on Python, which I learned from scratch for it. It’s a really nice language, with some deffinate differences from Obj-C (what iOS is written in) but still very nice. I especially like that it’s named after Monty Python. 😄

Read more →