Character Building


Last week I received the completed work for my GrappleApp character generation templates from my man Amund (, and it was exactly what I wanted.

Aside from the fact I love his style, he produced it in precisely the format/system I required – I was able to immediately slot it into the pre-existing structure that I’d already implemented in my app. Superb value for money and a really good guy to work with, I’m already lining up some follow-up work that might need doing.

The remaining tasks for the character generation system (and related) are:

  • Save resultant images in same size as source templates
  • Render image in correct dimensions on all pages, info panes etc.
  • BUG: Image generation on-the-fly during tourney intro writes the same image to subsequent profiles
  • Use better +/- icons
  • Do proper relief-shaped sponsor logos for body/chest
  • Redo generic profile image to be a silhouette from new system
  • Confirm that new .cif and image files are created for new whitebelts that are added after a promotion/resignation
  • Look at/improve performance of tourney/championship intro
  • Add pure white as a hair colour option (and possibly lighten the pure black)
  • Manually put eyeballs into eye templates, and remove eyeballs as a variable option in the editor etc.
  • Edit image templates to remove artifacts that become apparent after colour replacement
  • Get coaches’ images sorted

That covers it, really. Gonna be done soon – I promise!





All Sequences Complete

Yesterday I finally completed the sound sequences for all move sequences in GrappleApp, marking a milestone in its development.

I actually thought I’d already done this a while ago, but somehow 40 or so sequences managed to slip through the cracks. All sorted now.

I’m now full-swing into finishing development on GrappleApp, and have a pretty comprehensive plan to get this done over the next 3 months. I’m getting excited again.

I made a list of blockers to release, with 25 items on it, and so far I’ve done 10 (putting me at 40%) but – for some indication of the pace I’m working at – I expect to have 5 more done by the end of tonight.

I have commissioned a guy to work on the character images too, and I’ll reveal more about this as he starts to send work over. Pretty exciting 🙂

That’ll do for now. Watch this space!





This week I finally got round to implementing genuine SSL certificates on my sites/domains. I’d made a few aborted attempts previously, hampered mainly by an inept ISP that seemed unable to process my SSL certificate orders, but decided to give Let’s Encrypt ( a try this time, and I’m very pleased I did.

Done purely through the terminal, the setup process was as follows:

1. Download and install Certbot

> sudo apt-get update
> sudo apt-get install software-properties-common
> sudo add-apt-repository ppa:certbot/certbot
> sudo apt-get update
> sudo apt-get install python-certbot-apache

2. Run Certbot with automated Apache plugin

> sudo certbot --apache

And – after following the on-screen instructions – that was pretty much that. I did have to ensure that the correct port was open on my server, to allow confirmation of domain ownership, but the whole thing was otherwise trouble-free.

The only annoying thing is that – in my haste – I’ve already pointed away from the IP address currently hosting its content, and directly at the box hosting, which means I’ll have to spend some time amalgamating the content. It will probably get messy as f-

Anyway, very happy about the whole HTTPS situation. It’s almost the kind of thing a professional developer would do…



It’s Been A While…


Hello, yes, I’m not dead. I know I’ve not updated here for a while but I’ve been very busy and a lot of dev work has taken place in the meantime.

I have built and deployed a very functional eco-system of integrated services, held together via SSOA (Single Sign-On Application), including GOLS (Gee-Oh! Location Service or Server, I can’t remember) and PBA (Published Broadcast Application), and all of this has been integrated with a front-end web application – whose URL I cannot reveal until after it goes live “proper” – which can be seen below.

As you can see, I have integrated with MapBox (, and I’m pretty impressed with their product so far. Will need to get stuck into costs/billing etc. as Gee-Oh! scales up, but as of now I’ve had zero problems. I suppose I should keep one eye on the ease of swapping base map integrations, if anything were to go wrong.

My next focus is some SSOA refactoring; implementing additional features to cope with the evolution of the other services. Following on from that I will be adding more UI elements to the admin pages to get better control of GOLS and PBA, and I will also be adding a “self serve” admin dialog to the web application.

Further work includes some refactoring of GOLS to include timestamps in location data, implementing some extra info items and a pretty crucial refactor of the core broadcasting architecture (removing ‘sendKey’).

And then it’s back onto the web application UI to get the whole thing looking and behaving as smooth as possible. I hope to be in a position to demonstrate something impressive to potential clients/investors soon.

Expect more regular updates for the foreseeable future.



InterpoLATE Update

I did manage to solve the previously mentioned interpolation bug, but ended up completely sidetracked into refactoring the entire system of interpolated rendering, hence the late update now.

I think I just have one tiny issue to fix, regarding auto-centering, and then interpolation is done: Basically, there is the occasional situation where the screen is redrawn in between a device’s location moving and the screen being auto-centred, producing a slight jump effect.

I will get this sorted later today by synchronising all selected device location changes with auto-centering.

Aside from that, I just need to diagnose and fix an issue where zoom level change detection is broken and then I can draw a line under this phase.

I will return to work on GeeOhTileProcessor – a tiny refactor for handling error responses better – and then do a “final” pre-loading run, before coming back to the mobile app and finishing it off.




Something’s Bugging Me

Oh wow, I’ve been wrestling with such an annoying bug in trying to implement full interpolated movement for multiple devices in GeeOh! Mobile, and every time I think I’ve cornered it, it seems to morph into something else.

Been chasing my tail for days now.

The interpolation works fine for selected device, but any other device’s interpolated rendering goes badly wrong, quickly.

I feel like I’m really close now, maybe another day or so, but I could be wrong. I shall be back on here writing a celebratory post once I’ve caught the little bastard.