under_the_hood

Programming Magic –  http://goo.gl/x2GJW1


I have thoroughly enjoyed all the topics covered when it was just the Programmers having a class together. I love learning, and learning stuff to do with what I love (programming/coding/problem solving) is just great. There are so many interesting programming topics that were covered this trimester, including AI group behaviour, pathfinding, physics simulations, neural networks and genetics, memory management, how the CPU and RAM work together, and how the CPU does its computations. That is only about half of what we were taught, but those were the most memorable topics to me.

I have consistently been working towards the completion of my Programming LOs when I have had free time. The first LO completion I worked towards was back in week 4/5, with the serialisation LO. I joined up with a Designer team for their second game, which both of the other two Programmers did not do. I implemented a system where you can create music sheets in a Google Sheets document, export it as a CSV file, place the now-downloaded CSV file in the assigned game folder, and select the order of songs played manually in script. I wanted to make it so that the script I created would automatically pull in the saved CSV files and place them as selectable songs in game., but I simply did not have enough time as I was working on my KillBot, who’s tournament date was quickly approaching.

If I am to refer to my LO completion sheet at the moment of writing this, I have completed 15 LOs, whereas the other Programmers have only been marked for 12. This shows my commitment to the completion of the LOs as quickly as possible. I could have achieved another 3 LOs reasonably simply if only I didn’t have a CIU subject I was also doing this trimester. Both other Programmers have already finished their CIU classes in previous trimesters, so they have had plenty more time to pass me.

We had two KillBot tournaments in the first half of the trimester, the first was focussed on prediction and the best way to manage many variables which were scaled based on the other variables values, like health, damage, bullet speed and movement speed. The second tournament focussed on pathfinding. Being on a maze map, we had to pathfind our way through the maze to find other bots and dodge the walls as they would damage us if we hit them. For the first tournament, both of the other Programmer’s bots were broken, so with mine being the only one that worked 100%, I won the match in both rounds. For the second tournament, everyone’s bots were very functional, it was a much tougher, therefore closer, therefore more exciting tournament, in which the end result was myself winning both rounds again. We ran 100-rounds tournaments afterwards for the second tournament, and Eli’s bot actually won 7 more rounds after 100 rounds, but this 100-round tournament did not count as the valid tournament for who won. I applaud both of my strong competitors, but I reign victorious!

It may seem that I am just bragging about how much better I am at time management and non-procrastination than the other two Programmers, but that is not my goal. I thoroughly enjoy solving problems and even more so helping other people solve problems with their code. This is one of the many reasons why I like getting things done as quickly as possible, to be able to help others achieve progress in the same tasks. Also if I do run into a problem I can not simply solve along the way, I then have the opportunity to look at someone else’s code which is less developed than mine, and that can really help me sort out what may be going wrong with mine, as it isn’t as developed and the problem is then easier to figure out.

The last of many reasons why I like to get tasks done as quickly as possible, is that I then have to opportunity to improve that task in the future, if I have completed everything else that is needed to be completed. An example of this would be with the creation of the scheduling tool that I made for the Designer team that I was a collaborator for the third game. I started off by providing them with a simple tool that gave them the most basic components of a scheduling system, then in the free time that I had whilst the game was in development, I spent more time polishing formulas and fixing bugs with some other formulas, and adding more advanced and helpful, but not necessary features, and by doing this, I learnt a lot more about Google Sheets and spreadsheet functions overall.

Overall, this trimester has been amazing. I have thoroughly enjoyed every single topic we have covered and the workload was just the right amount, some harder bits, some easier bits, it was a delicate balance that was very well achieved. It has definitely been my favourite trimester so far. As I have said in blogs covering my intentions as a Programmer, I may not stay in the Game Development field with my Programming, as I may also do a Web and Mobile course as well as a Software Development or Computer Science or Computer Engineering course after I complete this one, but I believe this course has definitely prepared me for the real world of Programming, and has solidified the fact that I enjoy Programming and want to continue doing it in the future, and potentially for my whole working life, if not, definitely as an engaging hobby of mine for life, and I have Greg to thank, among many others, but Greg the most :).


This is Daniel Jochem, signing out.

Advertisements