Tag Info

Hot answers tagged

55

One-person independent game. It was a multiplayer tank game with destructible terrain, and the destructible terrain and collision code proved somewhat flaky. I ended up rigging up some basic dumb AIs (by "dumb", I mean "absolutely idiotic" - they would randomly choose "drive towards an enemy tank", "drive away from an enemy tank", and "drive in a random ...


51

I think Dummynet is what you are looking for. Dummynet is a network emulation tool which can simulate bandwidth limitations, delays, packet losses, and many more. You can easily choose which traffic you want to intercept and configure the limitations, e.g. to limit all incoming TCP traffic to 2Mbit/s you do ipfw add pipe 2 in proto tcp ipfw pipe 2 config bw ...


26

Network Link Conditioner If you're on a Mac, you can use Network Link Conditioner. You can simulate various cases of bad internet connections, including Edge and 3G. In addition, you can create your own profiles with your own settings: It is a free download in Xcode (go to Xcode → Open Developer Tool → More Developer Tools… and download the Hardware ...


25

For an MMO I worked on (100ish developers, PC focused), we tried to add a huge variety of automated testing with varying success. Here's what worked: Basic tests during our automated build process were a huge win. This included tasks such as creating a character, transferring maps, running some scriptable UI tests and looking for expected behavior. This ...


23

Off the top of my head I'd suggest trying to run the game on a few other PCs from friends or relatives. After that you might want to consider some form of beta test, i.e. publishing a demo or something so you can get community feedback.


22

Two words: headless client. Basically it's an AI driven client that's had the all graphics bypassed so that you can run many multiples of copies on a machine, you can even run them on servers because you never initialize the graphics at all. Above all those clients is a supervisor that is responsible for starting, monitoring and stopping all the clients to ...


16

Two big helps in difficulty tuning. Metrics Tracking player data can go a long way to making difficult tuning as objective a process as possible. How long are people staying alive, where are the taking damage or getting killed, how many tries does a section of the level take. Getting good metric data can really help your team see where people are having ...


16

Working on a 4x strategy game with 3d combat (think Homeworld meets Masters Of Orion) that unfortunately never saw the light of day as the company ran out of funding.. I always ensured that you could play the game without human players so we could leave the game running overnight. We could turn off the 3d combat (simplified to a random result) and we left ...


15

One of my favorite ways to find this info is by using virtual machines. Seeing as how you can configure the hardware and memory that the VM is allowed you can test a wide range of setups on your own PC. This also allows you to test across multiple operating systems.


14

For traffic load testing there are many tools, but you're going to need to test other things as well that will be specific to your game server because network traffic is only one part of the equation -- the processor utilization and constant database queries are two others that immediately come to mind as important factors that you'll want to measure (there ...


13

It's probably safe to say that BDD, like TDD, or (insert trendy development buzzword-paradigm here) is used by some game developers somewhere, but they probably don't know they are nor would they neccessarily be able to identify what BDD actually means. The question is really how much they use it and how much do they have to use it for it to matter to you? ...


12

You should have some rough idea of the minspec just by developing your game -- for example if you made an explicit choice to use D3D10+, you obviously are culling out XP machines. So that's a place to start. Find a way to test on as many machines as possible, ideally after implementing some way to gather performance metrics automatically (as users can be ...


12

If you are on linux you can use netem to simulate all of the possible problems with network like high latency, low bandwidth, packet losses and many others. There is an option for windows called NetLimiter but I haven't used it so can't vouch for it. Just found a Mac App called SlowlyApp.


11

A sort of code coverage approach to test cases can be done using simple flags that are tripped once the block of code has been executed in-game. Displaying which flags have been tripped and untripped on screen can allow testers to know which cases have been covered and which haven't. Simple as it is, it's still effective so long as the flags have ...


11

On a first person shooter I worked on (Descent 3 -- linux/mac/windows, ~30 people on the team in 1999), the demo recording/playback capability turned out to be extremely useful. I made an option where you could playback the demo as fast as the game could render frames, and that became a great way to verify performance after a bunch of things changed. It ...


11

I don't think TDD, as such, is appropriate as a foundation for game development. Automated unit testing as part of methodology, sure, but too many of the key concerns of game development are subjective and not machine-testable for testing to be the driver of development. How are you going to write a scripted test for whether a game mechanic is fun? That a ...


11

There is software available to perform epilepsy testing as defined by OFCOM, known as the Harding Test. Unfortunately, the software seems to be commercial only and requires a data capture card for it to run, so it's not the most financially feasible solution for an indie dev. This can be found here: http://www.hardingfpa.tv/ However, there is an ...


10

Check: - How much RAM it uses - How much texture + GPGPU memory it uses - Minimum frame rate / Current frame rate * CPU speed * SpeedUpFactorOf(minimal number of cores you can use) - Similar equation for GPU calculation units - what level of opengl/directx/cuda your game engine requires from the graphics adaptor - how much disk space the installation + ...


10

I'm not a tester but I've worked on teams with them, and had students enter the industry as testers. Up sides: Yes, it is a "relatively" easy way to get a job. Key word: relative. Testing jobs are still competitive. You're one of the few people on the development team that can actually say you play games for a living. It's a (false) foot in the door. ...


10

It's certainly viable, although a lot of game programmers haven't really gotten on board with the idea yet, or have a good understanding of how to test complicated systems. I admit myself that I rarely use it, except for non-gameplay-related systems that are easy to test. Expect to use a lot of mock objects. Because of how tied together a lot of systems ...


9

A few things I would say are important: Encourage Programmer Unit Testing This will make sure that certain stupid bugs, if there is a unit test for them, won't recur, because the unit test will fail if they do. This requires a change in programming methodology, but in my opinion it is completely worth it. Automate Whatever Testing You Can Beyond unit ...


9

Watch someone play but don't talk to them. By not talking to them, you can see things them do things that will make you pull you hair (You: the solution is obvious. What's wrong with you? #$@!). Instead of saying your thoughts aloud, write down what you want to say. Use this as your basis to guide your game difficulty.


9

Not a tester, but observations as a developer for big and small companies Did the game tester position lead to other more desirable positions? Sometimes, but rarely. The most common paths out of test are: tester -> test manager -> Associate Producer on the dev team. tester -> lead tester -> junior designer I've seen more testers go the producer ...


9

I've been in development for 30+ years, and was QA for about 15 of that (also QA manager, and director of engineering, hiring both QA and developers.) If you can get a QA job -- if you have tenacity, attention to detail, and can reliably show up for work -- then, yes, it's a fairly "easy" way to get a foot in the door. However, do NOT fall for the romantic ...


8

I would strongly suggest having an in-game bug-filing option, preferably a big button that says "FILE BUG HERE". Players who are engaged, especially if your game is actually good, are never going to remember bugs that occurred if they have to go out of the engine to file them. You could have those go to the bug tracker, or you could just have it email a ...


8

Best advice I could give is to put what you have up, making it clear that it is still a beta and that you want people to play test it and link to it everywhere. This includes every game site you can think of include gamedev.net, moddb, here, facebook, twitter. There is nothing wrong with advertising mate. How else are you going to get people to play your ...


8

I think you are worried about the wrong things Milo. I see from your other questions you are planning on writing the game is C++. Even a not very well coded sever written in a scripting language would be able to handle 100's if not 1000's of requests with out apparent lag in a card game. These kinds of technical details are probably not going to be a ...


8

I wrote a tip/trick on CodeProject that discusses this very problem. Samsung are essentially providing free access to actual devices via the web over here, I'm not sure if the same thing is provided by any other vendors though.


7

We had a openworld shooter (x360,PS3,PC) that used a quick smoketest on the build server - it loaded the game, stepped through the front end, ran [the avatar] forwards, dumped a screenshot, and exited. If cctray detected the clean exit the build was a success. We ran it for about the last year of the project, and with a team size of ~100 devs. It was ...


7

I found UnitTest++ to be very easy to work with. I will yet have to try amop alongside with it, which was mentioned to be a good companion to UnitTest++ for mock object functionality. Otherwise Google Mock is a popular choice. Also, you may want to read up on UnitTest++ and Mock Objects. UnitTest++ can be set up with your Continuous Integration approach, ...



Only top voted, non community-wiki answers of a minimum length are eligible