[GCS]BLADE — a reflection on being team lead

Axol
10 min readJan 22, 2021
*Weeee*

While BLADE was finished one winter vacation ago, I think it’s important to take my time and write down some reflections that I can look back on, and also have an answer in an interview when they ask me “what are some challenges you faced while working with others”.

This is for my own purposes only, so don’t mind my weird phrasings and grammar mistakes :P

Organizing a Meeting/Team
- Meeting Agendas
- Slides for Meetings
- Distributing leadership
Working with people with different specializations
Game/Programming Planning
The Random Channel

Organizing a Meeting/Team

As Randy Pausch once said, a meeting should never last longer than an hour.

A team meeting should never be longer than an hour for the same reason a tutorial should never be longer than 10 minutes: no one wants to sit through it, and there’s too many useless information.

While organizing BLADE’s weekly meetings, I tried my very best to make the weekly meetings within an hour — and failed for like half of the time. But here are some stuff I think I did right, and what more I could have done to achieve this goal.

Everything that I will talk about from here on all contributes to a single common goal: as a team lead, I should know the current stage of development at all times so I can know what further steps needs to be taken, what my teammates needs to know, and what is going wrong to ensure final success of the game. In the later paragraphs I realized I sound like I’m repeating myself, but that’s because everything done is kind of to ensure this.

Ready? Then let’s go!

DO: Write down an agenda for each meeting
DON’T: Disregard the agenda you wrote anyway + vague agendas

This is what a typical BLADE meeting agenda looks like:

Which I think looks all good on paper, but in practice the task assignment and progress report always lasts longer than anticipated. I think this is due to poor organization on my part. We are a club, and I can’t force people to do what I tasked them to do — and life simply doesn’t always go as planned. All of these are expected and for me it’s always a surprise when people got their tasks done on time. Thus my strategy with task assignment is always like “ok did you do this? Oh wow you did! Alright lemme uh, find something else for you to do”.

What could have been better is to make it almost like a debriefing — the tasks that needs to be done and the person that’s going to do it should be decided before the meeting starts. The actual meeting should be like: ok here’s everyone’s tasks, anyone have questions of what they are doing?

Another thing that I think might help is making the agenda even more detailed. Blade’s task assignments and progress reports is always divided up into Art, Programming, and Music — I wonder if it will help to divide it up such that each part have an assigned time. Not sure how much this will help though, but in general it’s always good to have like an agenda that’s detailed enough to guide the meeting! It’s more about the planning, where as a team lead you’re aware of what needs to happen, and you give your team something to look forward to and prepare about. (I will talk more about this in the next section)

And also, stick strictly to the agenda, like, keep an eye on the clock :( I keep on forgetting to do this and runs overtime without realizing it until the end of the meeting.

DO: Make a PowerPoint for the meeting & use organizing tools (producer)
DON’T: Have a disorganized PowerPoint & not actively updating your organizing tool

Behold! An organized slide that is clear to follow and makes the meeting go faster! Thanks Alice!
Observe! A bad slide that’s confusing and like, slows down the meeting :(

I cannot stress how helpful it is to make the slides before the meeting:

A. It helps me to know what needs to happen in the meeting. There’s a lot that needs to be done within a game, and more things may pop-up as you progress (more on that in the Game/Programming planning section). And it’s hard to keep track of everything, even more so when there’s 15 people working together. Slides were my tools of keeping track of task assignments, and a good reference to look back to after the meeting in case anyone forgot about what’s happening.

B. It helps others to remember their tasks and due dates. I posted the slides into the Discord chat for people’s reference — although idk if others actually looked at it. But I did! And it’s helpful for me!

C. It serves almost like a weekly check-in/progress report. In CMU GCS, we have weekly stand-ups for the team leads, where you report what you have done in the past week and your plans for today’s meeting. And I think that’s nice — there’s a certain pressure hearing others be like “oh here’s what we’ve done”, and if you haven’t done shit, it’s like panic time. I dunno, at least that’s how it felt for me sometimes. And when you’re making the slides, it’s a good way to remind yourself what has been done, and what more needs to be done. Sometimes while I’m working on the game something pops up, and I see the need to note that down somewhere so I can come to the team about it — and that slides is like the go to place.

But I have to admit that this is probably NOT the best way to keep track of progress! In an ideal world, we would be rigorously using tools like Trello to organize it.

Like, we had one! But it was managed entirely by Alice, our producer, and I think only me and Matthew looked at it (I looked at it while making the slides). It’s so helpful to stay informed and organized, but it really should have been more of a team effort to manage your own tasks. Also bad job to me for not writing accurate descriptions of the tasks on my slides. “Train Fixes” is not a good description — it should be like “BUG FIX: train teleports on collision” or something descriptive and trackable.

Ripos BLADE trello :(

DO: Have a producer!

I was surprised by how much having a producer helped! Thanks Alice :) She did like a post meeting summarization thing, and organized the slides that became messy from the stuff added during our discussions during each meeting. It saved me a lot of time(A LOT), and I think it’s a great idea to have a responsible producer to organize these kind of stuff!

DO: Have an co-lead and/or department leads
DON’T: Sleep over meetings

Yes, I slept through team meetings :( Let’s just say I wasn’t in the best mental condition last semester from quarantine and the work I took up for myself.

But I say this point as a general advice, it’s nice to have someone else on the team that’s equally invested as you are in the project, such that if something unexpected happens to you (i.e an emergency that you have to move the meeting and not everyone can make that change), someone else can also take charge and fall back on. Special thanks goes out to Matthew on this :)

I think it’s nice to have like, smaller group leads for each respective positions(programming, art, music). Although this was suggested in BLADE, I decided to not implement it because it felt unfair that I’m throwing titles onto people that might not necessarily want them, and it was not a decision made at the start of the project such that people could have set this out as their goal and strive for that position. This might just be the way I think, but I put in very different amount of effort when I am working just as a member versus if I am set out to get a position.

But for future reference, this is definitely a great idea. I feel like any time where you can distribute the leadership and delegate responsibility is almost always a good thing. You’re helping others such that they get something on their resume and grow as a person, and you (as team lead) get a better organized team!

— — — — — — — —

Yeah that’s all that’s on my mind right now about leading and organizing. This is already much longer than I expect it to go._. But in summary, organization and distribution of leadership are good. Producer good. Planning meetings good.

NEXT!

Working with people with different specializations

Such is the nature of game creation! And what I specifically want to talk about in this part is knowledge sharing between people. This is definitely one thing I wished to facilitate if I ever lead another project.

One challenge of developing games as a hobbyist is that you have people of different skill levels and goals on the team. Some entered hoping to walk out with something for their portfolio, others are just here for fun. Personally I don’t think it’s fair to expect everyone to put the same amount of effort — it’s simply never going to happen. But I do believe the skill you walk into the team with is not indictive of your potential to contribute to the team.

I think ideally, you should walk out of a project knowing more than you started. People join the club and into a project because they at least like the thought of game development, and although they might not posses the skill required to participate as much as they want to, that passion is more rare than the skill. I genuinely believe anyone can learn to do anything as long as they put into the effort (of course assuming the proper resources are available, I’m not talking like, making a person who can’ afford a computer to learn 3D modeling. That’s a social class problem we have to tackle as a society).

I realize this is kinda stretching beyond the responsibility of a team lead, but I would argue at least in a club setting, this is a part that the team lead should take on. You don’t have to be an expert at everything, but you should be able to direct resources(either be tutorials or people) if your teammates need them. I walked into this project knowing that probably no one will know 3D animation, so I was prepared to teach it and do all the work necessary to make it easier for them. Not saying everyone should do that, but I felt like as I was getting started in game development/3D art, there are often things I want to know how to do, but don’t even know what I should search up. I feel like it should be highly encouraged for people in the group who have more experience to partner with people with less and act as a mentor.

In BLADE, these kind of mentorship and help seeking is going on almost naturally — which I find fascinating. Either that be the musicians exchanging critiques of each other, or people bugging Matthew for programming help. Ideally when one person figures out how to do something, they should be given the opportunity to share what they’re doing with the group so everyone benefits.

Of course this is hard to achieve, given time constraints and more. But I seriously think by having such an collaborative and sharing environment would be super helpful, and I want to figure out how to encourage that as a team lead in the future.

Game/Programming planning

Oh boi XD.

In short, we figured out the core gameplay of BLADE post Alpha with a small group of people. We had a game design committee where we discuss specifics about the game every Wednesday. We opened this up to everyone (did we? Or maybe we selectively opened it), and it was super fun cuz it’s more like a small group of friends instead of a formal weekly meeting.

But man I wished we started out with a definitive game plan XD. Like this definitely caused some organizational things to go wrong — features implemented that were abandoned, etc. But I wonder if it’s avoidable, since it’s like, you figure out what’s fun when you actually make the game. The game should make itself, but it also is a pain in the butt to change your development plan as you progress.

Also! This is general advice, but plan your code before you write them!!!1! Like, modularity and stuff, that shit you learned in class is actually important and helpful when working on large projects. If you do not plan your code you will suffer in Malloc, remember my words!

The Random Channel

This bit is interesting, but idk how much I will go into details cuz I’m a little tired from typing. But in short, it’s nice to foster a team dynamic such that it feels chill and pleasant to work.

I briefly mentioned earlier on that we had a game design group that’s much smaller, and that meeting is more chill and chat like. I think that’s the ideal atmosphere within a group.

I think we should encourage people to post their work and progress. One so that they can receive feedback, but also in the process of doing so foster that sense of community. I also believe it’s important to praise people when they show you their work! You can give suggestions, but ALWAYS praise them first! It takes courage to show what you made, and praising people encourage them to post more :D

ok maybe praise is not the best word, but show appreciate and some indication of “I see it!” is just nice in general. Being the team lead means you have to be the most proactive of the group, because if you’re not proactive no one else will be.

This has gone on for way too long and I do not care to organize it for now. I think I’ll just leave it hanging here until I find the will power to make a TLDR.

Thanks for reading, if you actually reached here I’m impressed. Have a good day wherever you are :)

--

--

Axol

the peel of a banana is larger than the banana itself