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

static mesh render

Static mesh is a data compound of a three dimensional object in time and space. To render one, it takes a one big storage file that contains all the data about the object. That data has to be stored on a disk drive. The really tricky meshes to render are the flying ones. It's a completely different air pressure. The data gets written to a game memory log, it's a massive multiplayer online game, otherwise in the cloud, like Steam. To render one, the data from the level and monster data files to the monitor handling chip. Monitor handling chips vary based on personal computers, lap tops, operating system, processor and graphics car. Before a three dimensional object can be rendered it has to be fixed on memory, either random access memory or the disk drive recovery point. A three dimensional object data can take quite a large amount of memory, especially those used multiple times. Steam Cloud has it's own of handling data, so that it is persistent. A level is made of static m...

object render

To render objects with c++, it is first required to load them on the engine's heap. After loading the object it has to be integrated into the game engine's allocated memory. void integrate() {     direct_x_node.call(); } Modern games(after doom 2) take an insane amount of heap memory. Integrating all the objects on the level, can take 400 mb or random access memory (ram). The same memory has the chip effect on the working of the central processing unit. To completely render the object, the first step is to load all the textures, shadow models, parts, particles, inner model, render the object on the level map, all the corelations with the heuristics. It is very hard to render the inner part of the objects, such as anatomy or infra structure. While it is perfectly fine to just render the inner part to not be displayed.  The anatomy of a player character or non player can be seen on the outside, and the internal strurcture of a level object such as a building, including the ...