Skip to main content

What does a good game consist of? (part 6)

Roles of game development team members

I think it's important to understand the various roles of a game developers of all kinds in order to understand what would a good game consist of. How can you can make a good game if you don't collaborate well with other teammates? This happens mostly if the workers have no clarity how the entire game process happens in detail. I will also explain my experiences as a member of an indie team, and my time of being the only developer in my team(which is at the time of writing and posting this).

Project Leader
Must be on top of the entire development process and is(but not exclusively) in need of understanding all other aspects and roles of the game development process.

Lead Programmer
Takes care of the coding process. Must be good at coding games. And has to code the game too.

Programmer
Coding is hard. It has to be done right, productively and requires making fast algorithms. Which is neither easy to learn, neither to do. One of the important aspects is "pair programming" where the teammates collaborate the best and keep switching the hot-seat.  Two programming aspects are required to be understood by not just coders, but all of the team: "object-oriented programming" and "test-driven development".
OOP or object-oriented programming is one of the best programming tools for coding. It means focusing on creating reusable objects instead of "spaghetti code". Until I heard of OOP my code was low-level. You can imagine objects as real-life objects. Examples of objects could be: monster, player, network system, graphics engine, difficulty, secret, draw tool, power-up, 3D model,...
TDD or test-driven development means coding in small chunks and testing them instead of trying to code one huge code unit.

Level Designer
These must be well-informed of the levels coder needs and vice versa. Level designer should make landscapes are neither too big or too small and should be as real-life as possible.

Story Writer
Again, they must be informed of the quest-making system made by the game designers and coders.
I already said but I'll note it again stories in game should be narrative but not linear. The more non-linear the story is, the more times good gamers will play it on higher difficulties.

Music Maker
Doesn't have to be composer. What matters is making good music people will love to listen and love the ambient it makes. Also needs to understand music file formats.

Game Designer
Far from jack-of-all-trades, as opposed to statement by some programmers. Game designer must make a good GDD or game design documentation and is therefore invaluable if he or she is a good one.
 
I know how to do all of these. Not to boast, but as an lone indie developer, I have to do all these myself. It's hard but not overwhelming. And it's not boring at all!

Comments

Popular posts from this blog

Level design basics, part 2

An arch level design is hard, as it doesn't involve only polygon boxes, but also also three dimensional curve lines. If you ever played. Americas army 1, you'll know how hard it is to make a curve building, like the famous over played bridge crossing map. The point is to start. With one curve. Curve is not a straight line, but it's still a line. Means it is possible to apply lines into a three dimensional level. arch 0 0 1 0

Level design basics, part 6

Blocks It takes a lot of building blocks to make a video game level. Video games are after all nothing but very sophisticated and complicated toy games. You can start by making very small pieces of code, say ten of them. After put them in separate files and connect them together. Using JavaScript should do a good trick here. TypeScript defines code blocks, modules and scripts. Forest campaigns are hard to make, but are real fun to play. It is a great adventure, even if it is not a role playing game; and regard less of the weather. Weather and weather conditions are two very different things. Weather conditions are a clausal, all you have to is switch a weather variable: std::string weather{"sunny"}; weather = "rain"; That is a good way to implement into a video game. But weather is something else, it's a cloud system. Very hard to make changing weather. int weather_clouds{10}; weather_clouds+=1; Pick the one you prefer and are capable of doing. So a major buildi