3 ms·
I think it's because by default, you have no idea what you're building for games. Let's say you're making a typical RPG on web/JS. First off, what is the inter
by muzani 5y ago
I think it's because by default, you have no idea what you're building for games.
Let's say you're making a typical RPG on web/JS. First off, what is the interface? Typical WASD? Is it a grid? 2D or 3D or 2.5D/isometric? How do you attack monsters? Do you click or press a key? Is it Mount and Blade style where the feel of the weapon depends on character skill? Is it FF style where you pick an attack from a menu?
Oh wait, we forgot mobile. WASD won't work nor would most roguelike controls. Do we just ditch mobile support? Do we hack in a D-Pad? Do we do two different interfaces? Would it be portrait supported or landscape to make it more compatible with monitors?
From this alone, it's very hard to do TDD, as opposed to writing some hotel booking app where you know that essentially someone books a hotel.
And then you have the next stage: exploits.
Sword kills the skeleton monster in 10 hits. Mace kills the skeleton monster in 5 hits. Spiked chain kills the skeleton in 13 hits but it has a little more range, so the hero takes less damage. You write tests and it checks out perfectly. You test that randomisation falls within the parameters, test that the soul stealing artifact sword is balanced, test that paladins are properly corrupted when using soul stealing weapons.
And then you get this: https://www.giantitp.com/comics/oots0216.html https://www.giantitp.com/comics/oots0216.html
Someone finds out that half-ogre spiked chain can defeat every monster in the game without a single injury. Suddenly half the game are using low level spiked chains and the soul stealing artifact sword is in the bargain bin.