top of page

Personal Blog

Development, gaming, programming,

ideas, thoughts and more!


Hello, now that I'm pretty busy working full time, hobby projects are probably going to get a lot less attention. None the less I motivated myself to work on a new project this week which would help improve my workflow at GGG. I created a simple program that would allow me to clock in / clock out for logging my work hours. The program handles breaks, outputting to text file, outputting to excel file, emailing the final time-sheet, running on startup and contains both a small and large interface depending on your needs. I used VS2015 with C# Windows Forms to create it and had a lot of fun! C# is an incredibly easy language and allows you to skip the nitty gritty and get straight into coding the functionality. This is particularly noticeable with the toolbox, properties system and the hundreds of pre-setup classes handling almost anything you need. The only functionality I could not get from the vanilla C# classes was reading / writing to extended excel documents (.xlxs). For this I used NPOI which was very easy to setup and use. I definitely recommend C# as a good coding starter and entrance to writing Windows apps / programs.


Been away for two weeks and have got a new job working with Grinding Gear Games developing Path of Exile. It has been extremely interesting so far and the more I learn, the better it gets! It is very exciting working on such an amazing and successful game right here in New Zealand.

Unfortunately though this means I have a lot less time to work on my hobby projects. The TrainZ project has been very rocky due to me being so undecided with what engine / framework to use and difficulties in regards to train tracks. Including simple, limited track pieces is quite boring and has been done a lot of times. With this project I really want to use Bezier curves in order to make fun and unique tracks though the levels. There is a reason why this hasn't been done much though; Dynamically generated Bezier curves for train track following is a very difficult system to get working correctly. I am learning more about how it has been done previously and improving my knowledge in regards to Bezier curves, splines and path following.


I've finished almost half of the medium challenges on Codingame now, I find them very fun to do when I have a spare section of time or I need to change my focus for awhile. I downloaded Cocos2D-x the other day to use as a framework for making TrainZ. The largest benefit is the multi-platform support while still being a very low level framework (giving me a large amount of freedom & power). I also spent a bit of time the last few days setting up a Perforce server for myself and my team. Learning about networking is really interesting and I realise I have just entered a door to a very large, and deep topic.

To post something interesting, here is an AI controlled search and destroy drone I built in Garry's Mod a few years back. I never completely finished it but it features several cool things:

- 99% of the drone is built with holograms (parented to the E2 chip)

- Target recognition and decision making

- Loose prop searching

- Target assasination / attacking

- Typical drone commands such as: follow, stay, roam, circle etc.

- Arm laser sight targeting

- Uses quaternion / applytorque rotation

- Infinitely spawning missile launcher


bottom of page