Jump to content
yazar8

How do they develop a game?

Recommended Posts

I'm not going to say this is Alpha and there will be new features added and the bugs will be fixed at Beta stage. We probably heard this thousands of times since we bought DayZ.

 

Today I want to point something else. I've seen a lot of people complaining about bugs and sort of errors, mistakes. I've been thinking of posting a topic like this for 2 months but I just backed off for some reason. Now I'm here and I want to point a few things. I've an experience of 3 years developing, so I kind of understand the things going on from the developer's eye. 

 

Bugs are really frusturating at this game we all agree on that. However It's a human doing the coding / programming part so human error is always something that happens. 

 

 

I want to point out why do bugs happen at a game, plus bugs don't happen at only alpha games.

 

I will go with an example from CS:GO, to keep it short there was a bug that caused a player to spawn wherever they want at a match. (Apart from spawning at their own spawn point) so after a round ended they would spawn where ever they want, for example, behind the spawn point of the enemy team and kill them all.

 

So wait what, CS:GO? Wow a game that thousands of people play daily and a game that is like guarded by steam and valve all day, right? So how did this happen?

 

Well my friends, first of all a game is not developed by a single person, it is developed by several people which we call a "team" and this team is responsible of taking care different parts.

 

For example for a friction of time let's imagine the development team decided to add a dragon to the game (just giving an example here)

 

They make a meeting or some sort of brainstorming unification and decide who will do which part. Most of the times there's a person whose specialized with their own profession. For example the animator will take care of the animations of the dragon, another guy will do the modeling, skeleton parts. And it goes on.

 

What do programmers do? They do their part of coding. Code what, you're going to ask. They will make that dragon fly, they will code physics for it (if it doesn't exist yet). So I gave an example of a dragon since it doesn't exist at the game at all.

 

So the two programmers decide between who will do which part. For example, you need to code the flying module for the dragon,one of the programmers takes care of it. So what's the programmer going to do now? 

 

He has to code the parts for movement. How can a dragon fly? Hmm, let's think. He can go forward, backwards, left-right. It could rotateç What does the other programmer do? Throwing an example here, his job is to do the collision parts. Let's say, a dragon is not supposed to fly through objects, right? So he has to include the dragon to the collisions module. 

 

However the team decided that the dragon should break the trees when they collide with a dragon. That's a new feature. So they make trees breakable by dragons by editing that part of the code or adding a new callback for it.

 

When the dragon is briefly done they add it to get it tested. It's added, players test this dragon and they found a bug. Throwing a random bug, what the team intended to do was the Dragon can swim but it can't dive. However, the programming did a mistake with the code / forgot to add something. Players figure out that when a dragon touches the water, nearby players crash to their desktop. Programming team gets  aware of it and they see what the cause is. Apparently the guy who was taking care of the collision module forgot to add the splash animation when the dragon lands on a sea? So the effect doesn't exist and the player crashes. (Just an example, I don't know how does DayZ's engine react when effects that don't exist are used or even if there are internal checks for non-existing files)

 

Anyway so that's how the bugs happen.

 

Another example, I'm going to throw a very good example here, DayZ is a game that a lot of features are revamped / improved or completely re-made in the last few months. While removing legacy code, sometimes people forget to remove parts. This happens, at the end the people who code are human. So sometimes these cause gamebreaking bugs or it just causes some legacy game features to still be ingame by broken / not working.

 

And sometimes bugs occur because of distractions or forgetting to write a single line of code that would set a variable or something. Because while coding programmers are supposed to think of each possibility. Ah, here you go, one good example.

 

People know that if you enter a V3S while double carrying the weapon falls on the floor. I mean is this realistic? Meh, not at all. Why does it fall when I can put it on the chair or to my right? Well technically the code that would do that doesn't exist. Probably the development team just thought they'll add it later or skipped / forgot it completely. Anyway this is a quite obvious example, I don't think anyone would forget that, but you can imagine how the things work now a bit more.

 

 

So that's how bugs occur.

 

Oh and another point I want to make, when coding / programming people think that there is something that shows possible bugs beforehand. No, there's not such thing. The code can not simulate the possibilities and find conflicts. Those errors that occur while programming are errors that are directly connected with the programming language itself. Sometimes errors can occur because you forgot a simple "" or ; or , or a dot. or just wrote "new" as "ew" or anything like that. That's another thing I wanted to clarify.

 

Summing all this up, while coding programmers are supposed to take care of a lot of possibilities which may not be possible always, I mean trust me, before it comes to you, the programmers already put a lot of effort and make sure there are less bugs, but there are so many variations / possibilities, they can't think of all of them.

 

And bugs can happen at any game, because It's simply a human coding it, not a computer.

 

TL;DR.

 

No TLDR.

  • Like 10

Share this post


Link to post
Share on other sites

Good on you posting this. I don't think it'll make a difference to any of the whiners - when they whine, it's not actually about the game 80% of the time. Maybe the 20% will learn something - here's hoping!

Share this post


Link to post
Share on other sites

Good on you posting this. I don't think it'll make a difference to any of the whiners - when they whine, it's not actually about the game 80% of the time. Maybe the 20% will learn something - here's hoping!

The old 80/20 rule: Tried and true.  

Share this post


Link to post
Share on other sites

 

TL;DR.

 

No TLDR.

Games are made by humans, humans make mistakes, hence bugs.

Edited by SAK

Share this post


Link to post
Share on other sites

I'm a software developer, but not a very experienced one really, and I do web stuff. 

 

Anyway, I think it's worth remembering that they (the coders) are writing software that is destined to run on myriad different combinations of software and hardware. Therefore it is almost literally impossible to test every possible scenario. Web developers think cross browser testing is a pain, but when you have different OSs and all sorts of different hardware going on, well, it must be tough. ...and kind of annoying knowing that there will almost certainly always be someone out there with a computer that will provoke a bug of some sort. I imagine game development for consoles must be far easier. 

 

Test driven development (and also behaviour driven development) is pretty big in web dev and makes a lot of practical sense, especially in a team environment. Not sure if game developers are in to that kind of thing. 

  • Like 1

Share this post


Link to post
Share on other sites

Hello there

 

Interesting perspective! I particularly liked the TL:DR.

 

The problem is that the majority that will complain wont be the sort of person to

 

a: read this post

 

b: believe it as anything other than propaganda.

 

I still think its a worthy effort though! Apologies if I come across a bit of a grumplepuss.

 

Rdgs

 

LoK

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×