For this question, I’m not talking about play tests, I’m talking about unit testing and stuff like that. Do most of you “big” guys create unit tests for games? Or just play test and fix bugs that come up?
Currently, for testing and debugging a game, I usually just use print out statements, but I’m wondering if I should be unit testing. I also realize that might depend on the project and stuff…but is testing like that worth it if I’m not currently coming across any bugs and my game isn’t that big/complicated coding wise?
I’m certainly not a big guy making games. To be frank, I have never even thought about testing before taking up a full-time job in a company. However, having said that, when I look back, I do think certain areas can use up test cases.
Collision Detection
In the collision detection area, I believe we can write the test cases, where simple tests will test out the intersection results of two geometries, and complex tests can even generate dummy worlds, give entities certain velocities, do some simulation steps, and then check for overlapping entities.
I think these simulation tests will enable you to swap existing collision algorithms with new ones without worrying about them failing at some point.
Message Passing in ECS
ECS is another system in which you can add unit tests and verify whether your system correctly dispatches messages. You won’t be needing these test cases, but they can be employed here.
And that’s the two areas that come out when you say testing to my mind. For other scenarios, we better wait until someone more knowledgeable pitches in.
I don’t usually write unit tests except for things I don’t know if they work or not. The reason being, unit tests are really there to prevent programmers in distant rooms and timelines from one day fucking up your codebase or their own by twiddling something without understanding what effects it would have.
For everyone else though, like us tiny little teams… you are literally wasting your time.
Cas
I’m the one who is in the first line when tests are missing and say: “I dont fckn care about deadlines but we are gonna write tests or I quit! You can tell that to PM QA, CEO or other titles”.
But in game development I would agree we with princec. Write tests if you are not sure about something. Other than that… just finish your game first!
Ok, everyone said pretty much what I thought, but wanted to make sure. Thanks guys!
It may just be that gamedev leans a bit more towards being art than engineering.
I like to say that the most important measure of quality in gamedev is “looks good enough to me”.