Being The Boss.

21-01-13

I’ve got a module this semester where in, we’re to work as small games companies. It’s straight forward enough, the class of 30ish students has been split into two teams of ten and we’re using the Cry engine and Scrum to create one prototype game each. The game has to be a FPS zombie killing game, multiplayer optional.

Now, in that we’re supposed be working as a games company we were all to be given roles based on skills and personal preference. These roles were to be given out by the company producer, an elected executive type role, basically the producer is the guy in charge. This role has real power in the module, they manage the team, make all the final decisions about the game and if necessary, discipline team members. The producer can actually have members of his team kicked off the module if it’s deemed necessary.

I’d put my name in for producer. Thinking that, if I got it, it would be good experience relating to my plans after graduation, I also thought it would be nice if I was actually put in charge of a project by my peers instead of just assuming the role.

The campaign was short, we stood in front of the class and presented our fitness for candidacy for 2 minutes each. I’m not well known at the university and I don’t even think I’m well liked, I have a habit of winding up total strangers and openly mocking design students, many of whom were on that module. I screwed up my ‘speech’ delivery pretty royally and made myself look a real idiot. But when the votes came in I (having snuck a peek at the count) was on top… oh… goodie.

So now, here I am leading one of three teams in making a game from the ground up. We’re using a commercial grade engine so it’s not nearly as much work as it sounds, but there’s still an awful lot to do, especially for me. I’ve got 10 other students relying on me to get a good grade in this module, I’ve got to manage their time, their tasks and the quality of their work. I’ve got to organise and lead regular meetings, orchestrate documentation and be held accountable for any and all the problems. I’ve also got to track it all and report on it. I have a lead artist, designer, tools developer, scripter and 6 team members assigned to various areas. In all I have 2 game designers and 8+ programmers, I’m still waiting for a couple a stragglers to be assigned to my team. All looking to me for decisive guidance and support…

What have I gotten myself in to?

On Studying

I’ve been asked a number of times recently on studying. How do you go about studying for an exam, or studying in general? So I figured I’d write a post on it.

1. Time-Keeping

Pace yourself. Students are in the habit of cramming before exams, which is fine as long as it works for you. But even when cramming it’s important to keep a steady pace. I’m not a crammer, the thought of leaving studying till the last minute freaks me out and as I have a hard enough time absorbing information it just seems like academic suicide. So I use all the time I have available to review in short bits with a break in between.

Let’s say I had 2 weeks to review for a math exam. Each day would schedule 2 lots of 1 hour for a subject, so day 1 I would look at one subject and only one, such as Vectors. After those 2 hours I’d stop regardless of where I was at. Day 2 I would pick another subject and do the same. Each day I pick a new subject and don’t repeat the same subject two days in a row. If I wanted to go over vectors again that’s fine, just make sure to put something between it, otherwise you end up spending half of the time on one subject.

2. Choose your subjects wisely.
As far as choosing the subject order I start with the things that I’m best at. Ideally you want to cover the course subject matter in its entirety but there’s not always time. Because I’m best that them they’ll take the least amount of time to review and most importantly, I find the harder things are easier to understand when you have a firm grasp of the easy stuff. And if you get to exam time and you’ve spent all your time trying to understand only a couple of the very difficult subjects, how prepared are you? Especially if those subjects don’t appear on the exam. This can be applied over any time scale, but I suggest that you stick to hour long blocks of study time. I.e. shorten the breaks, not the study.

3. Crowd-sourcing.
I’m against crowd sourcing generally for two reasons; 1. A crowd sourced opinion is no opinion at all. 2. there’s a lot of crap out there and some of it is… less correct than it should be. That being said, hit the internet and look at how other people interpret and express the subject. Especially in regards to math and programming I found it really helps.

4. Conversation.
Find someone who understands the subject at about the same level, or another people who is reviewing for the same exam maybe. And converse with them about it. I don’t read well, so library books and other literature is largely wasted on me, so I converse, with tutors, with students and some time with my 6 year old son. Any one who will listen and respond to me so that I can assimilate the information spoken out loud.
After explaining this technique to a fellow-student he responded with “So that’s why you’re always quizzing all us before exams?”

So that’s it. That’s my studying technique and it’s served me pretty well

Weakness

This year I’ve tried to focus more heavily on managing my time. As soon as the assignments were given I allocated time for them. I made sure that I approached all of my school work as a whole instead of the more serialised approach that I took last year. While this has equated to none of my assignments being completed, they are each very nearly finished, and all of them are above passing point according to their associated marking schemes. I’m pretty proud of this achievement, and will be sticking closely to my time management approach, its served me well.

I’ve identified a couple of weaknesses that I’m going to work on this semester that that’s mostly around my programming approach. I’m very much a write now and ask questions, or not, later type of programmer. On my final year project it was mentioned, and this year it’s already been mentioned a couple of times and that’s testing. I’m lousy at testing, in that, while I test as I go, I don’t keep any record of it. So one could say that I don’t do any testing at all.

I went to an interview for a placement and was given an exercise to carry out in a TDD situation. I failed this catastrophically. I should know about unit testing, and TDD as I’ve had a fair amount of exposure to it but I just never use it.
So this semester I’m going to approach all of my programming assignments using TDD. I’ve seen the quality of the code it promotes first hand and I want to bring myself up to that level.

Another weakness that I tackled early on and feel is worth mentioning is time wasting. This was actually a bigger problem than I realised. There was the phrase I heard that went something like “A lot of time is wasted beating your head against a wall hoping it will turn into a door.” I thought about this and realised that I spent a lot of time not understanding stuff. The next time your in a ‘beat your head against the wall’ situation think about how much time you spend with your head on the desk, or in your hands, or wherever. For me it was a lot. I’ve sat for hours thinking and fretting about how I don’t understand it, or don’t get it, or whatever. As soon as I get past that hurdle, the work would get done. But often by that time it was bordering on too late. So initially I focussed on how quickest to get over that hurdle, which is ridiculous now that I’m looking back at it, it’s kind of like planning to fail, or trying to take account of your own stupidity. So I determined that there was no need for that hurdle to be there in the first place. I know I don’t understand the subject, which is why I’m sitting there trying to learn it. So now when I approach work I find myself struggling to grasp the concept or whatever I push my brain into different mode, usually I just push on, I try things, test things, read things if it comes to that until the concept become more clear.
I tell you, I’m getting twice the amount done as before.