Don’t Panic

Hello there! Welcome back.

Today marks a significant milestone for me as I have just renewed my Xamarin and Apple subscriptions for another year. When I started this journey I knew it would take time to turn this into a business yet somehow I still thought I might make it within a year. This has not happened and as a result I can’t help but think that this is both expected and unexpected. It’s an indifferent feeling that I can’t quite explain as well as I would like.

The Year At a Glance

The year hasn’t been fruitless however, as I’ve learnt a lot about the process and the people. I’ve made a significant change in my life in that I shelved atStumps, a project I had been working for years and years but never quite finished. I’ve also reached out to the greater community and became involved in MakeGamesSA, a South African game development community. I seem to have also inspired two colleagues, who have also released a game each, Save a Fire Fly and AoM.

AOM

AoM

Save a Firefly

Save a FireFly

I also delved into Twitter. Now I’m not really the social media kind of guy so getting up and running wasn’t a natural thing for me.

Most importantly though, I’ve learnt some new respect for time. I’ve learnt that I really haven’t got as much time as I thought and that I need to choose carefully the things that I do with my time.

Dont Panic, It’s The Mensa Experience

The real “achievement” came totally unexpected and it took other people congratulating me before I realized it. Last week Thursday I was invited to attend a Mensa meeting with my cousin to hear a talk by Hanli Geyser about game development.

Mensa

Mensa is the largest and oldest high IQ society in the world. It is a non-profit organization open to people who score at the 98th percentile or higher on a standardized, supervised IQ or other approved intelligence test

So I was excited to hear someone who clearly knows more about stuff than I do talk about game development. At midday, I received a call informing me that the speaker had cancelled at the last minute and they wanted me to replace her. In an instant my stomach turned, my heart skipped a few beats and my emotions were shouting “DONT DO IT“. “Just say no“. I was the opposite of Nike.

It took a moment for me to stop, think and breathe. I had a “DONT PANIC” moment that would have made Douglas Adams proud. I saw it written in bold red letters on a black background. Like this:

dont panic

Don’t Panic

I reminded myself that I’m on this journey to make it a success and that I won’t ever know where the road leads unless I take it. I said yes. It was one of those “yes” then fall down to the ground moaning “what did you think saying yes” moments.

I had very little time to prepare. Less than an hour in fact, which included feeding the dogs, eating something, taking a shower and oh yeah, preparing a speech! I was rushed, so I pulled out my block of sticky’s and scribbled notes on the first one, building up the story from who I am to why I chose games and then finally ending up with some of my journey. In total I had 30 sticky’s, each with just a few hints at topics on them.

At the venue, I started my evening with a Heineken. You know, because I could. I was relaxed and I had fun with it. This was “winging it” at the next level. I only made it to the 9th sticky before my time ran out and question time began. The audience was captivated and thoroughly enjoyed the topic and I ended up saying a whole lot more about a whole lot more than I thought I would. In the questions that followed I seemed to have covered most of the other sticky’s so I supposed I still ended up using most of them. It was a wonderful experience and I am ever grateful for Mensa for inviting me in the first place.

Since then, the fact that I spoke at Mensa seems to have spread like wild fire. I have people congratulating me at work, on Facebook, on Twitter and most certainly in person. I didn’t quite realize that people view it as an exclusive club at that level. Whether that is warranted or not is not for me to say, I can merely observe the reactions of those around me and be proud that I did it…

Competitions & Artificial Intelligence

Hello my friends

I started this morning with a Vida cappucino, sponsored by a colleague. It’s an unusual start because I don’t typically go out to buy coffee since I tend to make my own. After I had added a little bit of sugar and had my first taste of the rich, creamy goodness, it occurred to me that it quite simply follows the change in routine I had in the last few days.

The next 100K Challenge

Last weekend, I started splitting my time between my new game and the next Entelect R100K Challenge. I typically don’t like to jump between projects but I seem to always end up doing it. I constantly remind myself that when I do, it appears that I don’t finish what I start, yet I’m rather good at going back to finish things eventually. I’m sure that it’s a normal notion for people to think that they go back to finish, even though in reality they don’t or that so much time passes that by the time they do it is almost too late. So I suppose I need to be extra vigilant about that. I made the shift from atStumps to dedicated ‘smaller’ games as a result of the first 100K Challenge so I’m keen to actually enter one of the challenges with a proper entry and not some last minute hack. This year it’s a Pacman challenge, where your bot needs to score more points than the opponent’s bot. I’ll see if I can squeeze it in with recent events, so here’s to hoping.

Not my first last minute entry this year

In spite of my best efforts I always seem to get stuck doing things at the last minute though. I must admit it just seems a lot harder to justify the required time that I need dedicate if the deadline isn’t anywhere near the immediate future. After all, I have a wife and children and they need some of my time too. Earlier this year I entered the Hello World Open and you guessed it, I entered at the last minute. Actually, there was no other way because you had a very short window to enter the competition but I ended up not even using all of that and only actually did something the very last weekend!

[Editorial note: this little bit added because it got dropped somewhere]  The idea was simple, you had to write a bot that had to race against other cars on a ‘slot car’ track. Sounds simple, but my oh my is there a lot to it.

The competition divided the world into 3 regions, namely West, Central and East and as a South African I found myself in the Central region, competing with all of Africa and Europe. To make things really hard, you didn’t know what the qualifying race tracks would look like before hand. In addition, before each race they would randomize the traction of the tires on the track, the weather conditions as well as the engine power of you car. This meant that for every race your car had to learn everything from scratch and you had to do a lot of calculations to keep your car on the race track.

The competition then held qualifying rounds in each region separately. In each region, there would be 4 rounds of races and after each set only a certain number of teams would progress.

Round One, not getting my hopes up

Round one consisted of 856 teams and I ended up in the 181st position with 1 win, 2 second’s a third and a fourth place. Not a bad start and in fact, a better start than I anticipated. I had a bit of a look and of the South African teams, I was the only one I could find who progressed to round 2. I didn’t expect this, I thought I would bow out early. I thought that I would realize that I missed something obvious somewhere and then regret not knowing doing it right in the first place. See what I did there? I sold myself short. I think we all do that, we prepare for the worst simply to be a little detached and to avoid disappointment. We think we please each other by doing it, we don’t. We don’t risk enough and then we ask why we don’t get the results that we want.

Hello World Open Round 1

Hello World Open Round 1

Round Two, rather unexpected

So round two, which I really never planned on seeing, consisted of 203 teams. I thought, WOW, the top 203 teams would surely beat me to a pulp. Embarrass me in new ways that I’ve yet to conjure up. Now don’t take my skepticism wrong, I know I’m a good programmer. Maybe even a great one. But I’m no mathematician. I figure math out, it doesn’t come naturally to me. Like everyone else in the competition, I followed the reddit threads about it fairly closely hoping to learn something, which I never found until it was too late. What I soon discovered though, was that there was a huge amount of math involved. The turning angles, for example, is an under-damped harmonic oscillator. Say what? You try and code a car from start to finish, test it on the race tracks and also figure out math that is completely and utterly over your head. Just too much to do for so little time. My car winged it. Well not quite, my calculations were accurate to about 0.1 but that isn’t nearly enough to compete with the guys who had the calculations spot on.

Hello World Open Velocity and Turn Angle calculations

Hello World Open Mathematical Predictions

So, as I was saying.  Round two consisted of 203 teams and I ended up the 46th position with 1 win, 3 second’s and a last place. I couldn’t believe my eyes, I had made the top 50 for Europe, Middle East and Africa! I was through to the next round!

Hello World Open Round 2

Hello World Open Round 2

Round Three, completely flabbergasted

Round three was fought tooth and nail. It came down to the last race, it was close. I finished 16th with 1 win, 2 second’s and 2 third’s. I was astounded. I would never have thought that I would be able to get this far or that I would finish 16th. It showed me that it is never as clear cut as one might think. The top 12 teams went on to compete in the final round, I had just missed the cut 🙂

Hello World Open Round 3

Hello World Open Round 3