Zoid Kirsch Profile picture
Game developer Threewave Software Corp. Open to contracting opportunities https://t.co/x7FvCZQf32
Nov 15, 2022 4 tweets 1 min read
Metroid Prime Dev Stories #13: Strafe jumping, i.e. getting the Space Jump early. When you are locked onto a target in Metroid Prime, pressing the jump button does a sideways dash. This lets the player easily strafe around a target and dodge incoming fire. 1/4 This sideways strafe jump sets a horizontal velocity on the player that continues to circle around the target while locked on. But if you unlock the target just as the strafe jump starts, Samus keeps the horizontal momentum without the lock on pull. 2/4
Nov 14, 2022 4 tweets 1 min read
Metroid Prime Dev Stories #12: Tiny morph ball doors. If you move quickly through a morph ball puzzle or boosted through a ball tunnel, you may have noticed that sometimes there’s a little door blocking your way. 1/4 When we first started making the 2D styled morph ball areas, they were connected to various rooms with tunnels. They worked well until our testers started beating the load of the next room and would fall out of the world. 2/4
Nov 12, 2022 5 tweets 1 min read
Metroid Prime Dev Stories #11: White Paper testing. In the last few months of the project, we invited friends of family to do “white paper” playtests of the game. They would play without help and we’d monitor their progress. 1/5 We learned so much from these observations. We’d often see testers get stuck in rooms that had morphball tunnel exits--they won’t notice them. This resulted in putting big spotlights over those entrances to make them stand out as a path. 2/5
Nov 12, 2022 4 tweets 1 min read
Metroid Prime Dev Stories #10: Use a good random number generator! When we first started working on Phendrana Drifts (the snow level) we created a particle system that shows snow. You can see the gently falling snow in this clip. 1/4 When the snow effect was first implemented we noticed there were large empty streaks in the falling snow! It was was quickly realized that the snow was basically a 3D plot of the deficiency of the default random number generator that came with the compiler. 2/4
Nov 11, 2022 5 tweets 2 min read
Metroid Prime Dev Stories #9: Central Dynamo’s Power Bomb Maze. When I first started programming and learning BASIC one of the first programs I wrote was a maze generation algorithm when I was 13. It could generate a maze of any size with a single solution. 1/5 When designing the room for the power bomb upgrade, I suggested a randomly generated maze for the morphball that players would have to solve. I quickly wrote up the algorithm I remembered from my early days. 2/5
Nov 11, 2022 5 tweets 1 min read
Metroid Prime Dev Stories #8: Why are there elevators between worlds in Metroid Prime? As a mainstay of the Metroid games there were also three primary technical reasons: world maps could only be up to a certain size, sound banks needed changed and memory fragmentation. 1/5 The world size limit was due to floating point precision. If Samus got too far from the origin her movement would start stuttering since the values would get too large. 2/5
Nov 10, 2022 5 tweets 1 min read
Metroid Prime Dev Stories #6: How does Metroid Prime save the game? The size of Metroid Prime’s save data is under ~60 bytes in size. How is it so tiny? Well, that requires explaining world layers: 1/5 Each room in Metroid Prime has a set of world layers--these define which objects spawn when the room is loaded. E.g. it’s world layers that change Flaahgra’s room from having a boss to Chozo ghosts and an artifact when you return later. 2/5
Nov 9, 2022 4 tweets 1 min read
Metroid Prime Dev Stories #3: Red Means Dead. One of the design goals in Prime is to make sure the player immediately knows if they are doing damage or not. Objects and creatures are often only vulnerable to particular types of damage. How is that indicated? 1/4 The GameCube didn’t have shaders as we know them now, it has a TEV (TExture enVironment unit) that could blend colors. I realized we needed a consistent design for the color blends. 2/4
Nov 9, 2022 4 tweets 1 min read
Metroid Prime Dev Stories #4: How a compression library saved Metroid Prime. When rooms are streamed in behind those doors, we are loading a compressed copy of the room--geometry, textures, models and game data. How is it decompressed? 1/4 Most programmers know once the compressed copy is loaded in memory then space is allocated to decompress into. This means we need the memory for both the compressed and decompressed copy. The GameCube has 24MB of RAM and having both was too expensive. 2/4
Nov 8, 2022 4 tweets 1 min read
Metroid Prime's 20th release date anniversary is on November 18th. As the anniversary approaches, I'm going to tweet out a little stories about its development. Here is the second story: In this clip as Samus approaches the Pulse Bombu, the screen fills with static to show interference with her visor. As we worked on this a big issue is the memory use of the noise texture. The Gamecube only has 24MB of RAM, so every texture has to be carefully considered.
Nov 8, 2022 4 tweets 1 min read
Metroid Prime's 20th release date anniversary is on November 18th. Each day until then I'm going to tweet out a little story about its development. Here's the first one: I spent so much time working on doors. In Metroid Prime, you may have noticed that doors can sometimes take a long time to open--that’s because the room behind the door is still loading! There is at most two “rooms” loaded at once--the one you’re in and the one you’re going to.
Aug 17, 2021 11 tweets 2 min read
The first Dota 2 International was 10 years ago today. We showed Dota 2 first at Gamescom in Germany, on the other side of the planet, with an alpha game and held the first million dollar video game tournament and had 275,000 people go through the booth! This seemed like a good idea at the time. We spent two days getting everything set up at the booth (Monday/Tuesday) including several runs to local computer stores getting USB cables, etc. trying to get the computers NVidia loaned us set up.