I wanted to talk a little about how I think that I have experienced this module, what I have learned about the technologies and just as importantly, about myself and how I engage with the course and my personal projects. I would like to explore what I did, why and what I would now do differently. I learned a lot, and not in the areas that I expected to.
I was too scared to start in C++
When we were given the task of creating an app for the Jam, I was too scared to do the project in C++. There, I said it. I was worried that I would not be able to finish the project to a good standard in the allotted 48 hours and I felt that having something the show for it at the end was worth more than the experience I would have got from coding the prototype in C++. So, I used Blueprint, exactly the tool that I am trying to move away from. In retrospect, I think that was the wrong move and this was pointed out by staff, although frankly, I didn’t want to hear it at the time. I was wrong about that. At that time, I was not so far along with learning C++ and have a lot more confidence with it now, but I think that it would have gained more from the project had I just struggled through and learned as I went along. Having said that, I think that there was also benefit in learning about raw C++ before jumping into Unreal’s version of it, but I now think that it would not have been as painful as I first thought to just have a go. Having completed the Battery Collector tutorial, I am really looking forward to a pure C++ project, which will begin soon.
I should have started the project again when it crashed
I cannot say that the Game Jam project was a failure, not at all. The fact that it crashed and I lost the entire project file lead me to a strong desire to embrace industry standard techniques for protecting project against just this sort of thing. I learned about version control quite quickly and have used it on every project that I have worked on since that time. The other lessons that came from that experience was the problem of circular referencing, which I am surely guilty of. I came from the direction that it would be more convenient for the ‘weapon’ to know about the ‘projectile’ and the ‘projectile’ to know about the ‘weapon’ but, it turns out that there is danger in this. Particularly in how objects are created and destroyed. If the objects need each other, its very risky to manage the start and end of their lives and they lean on each other in undesirable ways. I also found out that there are established Object Oriented Design Patterns and frankly, that has been a huge relief and I am now aware that there is a tool kit that I can learn that will help me plan and visualise the structures that I need to build for the games I make. However, although I learned a lot from the failure of the project, I feel that I missed out on being about to link the rest of the course material to that project. By the time that I realised that the rest of the cohort were carrying their projects forward, I felt that it was too late for me to do the same as I would have to rebuild mine from the beginning. I regret that decision and have decided, as detailed in my CPD report, to recommence the project applying the lessons that I learned along the way. I will be working on this during the three week break between modules.
First Class Blues
Here’s one that I was not expecting at all but actually hit me quite hard. When I came off the BA and having received 78%, I expected to take to the MA easily and knowing that I work hard and put a lot of hours in, thought that I would replicate that sort of performance. The realisation that the MA is a much greater challenge and very different to the course I studied before was slow to dawn on me and I feel that I responded quite negatively to the first set of marking comments at the time, despite receiving a respectable score for a first mark. I am pleased that my concerns were taken seriously and care was extended in explaining in more detail how I may have done better, but I didn’t expect my reaction to be so strong. I think that my confidence was bound a little more than I thought to my recent success with the Degree and perhaps I needed that to continue. That’s an error. I feel much better about things now and realise that I am receiving a tremendous benefit in having the think differently and in being held to a higher standard. It’s ironic as when I was exploring my options with regard to taking on an MA, I talked with staff at Falmouth about how I wanted to be surrounded by people smarter and further along than me, but when I experienced that reality, it took longer than I thought it would to adapt. I am grateful for the opportunity to be here and to learn from a variety of people, staff and students alike.
This is something that has only been identified very recently during a conversation with a member of staff but explains why I felt the way I did above. I think that I may have this ‘Impostor Syndrome’ regarding my ability to make games and in recognising how far I have come with in that goal. The thing is that this is in direct opposition to what I say a lot of the time. I find it easy to talk about the rate at which I have been able to learn how to do this work and the progress that I make all the time but actually, when I stop and recognise how I feel about it, I don’t yet feel that I belong and that at some point the gaps in my knowledge will identify me as a fraud. I think that was one of the motivations for Blueprinting the Game Jam project and for the the need to defend myself from the feedback that I received for the initial coursework in which I got a merit! I find that I continually remind myself of the things I have achieved as though they need to fuel the next challenge. I feel much better having had this realisation and am becoming much more aware that I do belong and that I can contribute and that it’s ok to get some things wrong and in fact, getting things wrong (combined with putting the effort in) shows that a person is learning and operating right at the edge of their current ability. I read somewhere, although I can’t seem to recall where, that the more specialised you knowledge becomes, the more obvious the gaps in it become. Also, the more you learn and achieve, the better your peers become. Both of these can fuel this problem if the are misinterpreted and yes, I think I may have done that.
The Direction of the Journal
While I was studying on the BA, we had to keep journals for each of the modules that we completed. The aim of that journal was to show the journey that each of us had and to show our ‘working out’ so to speak. I think that although I consumed the material from this course on reflective practice and writing, I didn’t fully appreciate the difference in the aim and style of this journal. On the BA, I wrote about everything that I did, what I thought about it, what was working and what was not, but it was missing the reflective side I think. I don’t remember committing much material that focused on how I had got to this level of skill, or why I had been encountering some problem or any real plans for solving those issues. It was all about the fix to the immediate problem, all about what I was learning to sort out the ‘line trace’ or the ‘overlap’ not registering, that sort of thing. I found it very useful, if a little too time consuming, although learning to type properly helped out a lot. I assume that we will need to keep journals for each of the modules that we complete and I will continue to practice what I have learned during this time. I bought one of the books that the course material recommended, ‘Search Inside Yourself’, and I will read it over the break between the modules.
I am very happy with the study that I have been able to complete on C++ and I feel much more prepared to tackle Unreal with it now. I do think that there are things I still don’t understand to a point where they could be effortlessly implemented (like I can in Blueprint now), but raw C++ certainly not alien to me anymore. I have almost completed the Udemy course I have been studying and its taken a long time as I have not left a single section without fully understanding the material, completing the quizzes and every programming challenge that the course sets, which are numerous.
Now that the module is coming to an end, it’s clear what its purpose was. Who am I as a developer? Where do I want to go? What is stopping me and how do I deal with that? I did not expect so much reflection and I have struggled to come to grips with the academic writing, but I have received a huge benefit from the organised introspection. I now have a very clear aim, I know what I need to work on in order to get there and I have a structure in which to do that work. Over the break, I intend to execute the CPD plan I have created. First I will finish the C++ course that is nearly complete, then I will complete the design patterns examples and corresponding UML diagrams. After that, I will begin the Hostage Rescue project in C++ and set up a regular routine to learn and practice the math I need to learn in order to better understand the gameplay programming I want to do. At the bottom of the list, but still important to me, is the animation goal that I have as I think that starts the process of broadening my skill set as a developer. All the while I will split my time up so that Serial Link gets the attention that it needs also. I am confident that all of these topics are connected and that skill gained and work completed in one area will bolster my effectiveness in the other areas leading to overall progress.