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

object oriented programming

Object oriented programming is a sound and bold approach to c++ and internet wiring application and video games. It reduces a lot of code messes, made by global and half global functions. One of the more advanced object programming techniques are private access, poly morph and object message inheritance. It is set by c++ bjarne stroustrup and iso isometric standard convention comitee to use classes instead of structs and structures for making objects. Which means you most definitely should , but not must or have to. class Monster {     std::string memory_attributes{}; public:     void treck();     void track();     void trace(); }; The treck() function makes the monster roam and do human like jogging and trimming. track() means the monster goes ai path tracking and trace() means it tries to find other monsters in the area. class Weapon {     std::string memory_attributes{}; public:    void use(); }; void Weapon::use() {   ...

Coding and game development, part 2

 Consider the following C++ sample: int main() {     std::cout << template_1() << '\n';     return 1;      } Every moron who knows C++ would know what this means. Now consider that almost every line is a regular expression, so try to translate it into your native language, English for example; line by line in steps. ... rofl lol oO? I tried to do that with the example and my head almost had a system shutdown.

C++ and OOP in a different manner

Keep in mind this article is meant strictly for C++ game devs and not for application programmers or game devs of scripting/other languages. I have my own technique when it comes to OOP in C++. The game I'm deving right now(or we are making) is a simple windows console project. It's up to you to decide whether you'll use this technique. First let me tell you in which cases you might need this technique: if you're ready for a new look on OOP if you need a new toolset for your coding practice if you like to learn(which I clearly hope for) So, the technique then. Decide which you prefer more: classes or structures. This helps you understand what kind of objects you want in a game.