All right, a shorter story again. When I started this Blog, I intended to keep the texts short and to the point. No one has time or interest in never-ending stories right? There's a reason why Twitter is successful. "Jerking off." is a lot easier to print in the brain than an a complete epistle of when, why and how. But it turns out I'm like The Nanny once I start writing about Tower22 / game-programming. And so, the blog posts got longer and longer and ...
Probably this Blog (and the poor guys receiving my mails who help on T22) function as an overflow-valve. At work I never tell about T22, neither do I work with other programmers. My girl still uses an abacus and thinks nVidia is a body lotion, so that's not much of a computer-girlfriend either. And as for the rest of my friends; when drinking a beer, the discussions vary from pneumatic machines to 425 kg Mexicans we saw on TV, from president elections to poop. But barely about this little "secret" project. And if they ask about the latest T22 headlines? I'll just deflect the question with a "work-in-progress" or "not much special lately". Besides, I'm too stupid to technically answer the question after 8 beers anyway.
But seriously, what to tell? It's not that we build a new awesome monster each week, or just finished a complete playable floor. Week-progress is about a few textures, a drawing, or an object to fill the rooms with. And usually a bit of code to implement whatever asset was made. For example, let the player make footstep sounds after Carsten made some audio effects for that. Normally I plan a demo, that requires a (big) bunch of assets to make. Once advanced assets such as a monster, moving elevator, special effect or machinegun are being made, it forces me to upgrade the engine to realize them. Programming on demand basically. As for the last two weeks, Borja made another living-room drawing for the next demo, Diego is busy with a weapon, I worked on the reflections and made some corridor-map pieces, and Federico modeled two apartment-doors... Obviously, I can't produce a fascinating 10-minute conversation with drunk friends about a bunch of doors we just made.
But if there is not much to report, where do those big-ass stories on this blog come from then?! Well, actually there is a lot I can tell about a simple game-door. Did you know that this door was split up in 4 sub-objects; a stationary doorframe, a rotatable doorknob, transparent(breakable) glass, and the door itself? Did you know I implemented a so called "motor" that makes an object -a door in this case- move/scale/rotate from matrix A to B, using quaternions and spherical lerps? Did you know this door uses a DLL that controls its interface (open, close, slam, locked, unlock, ...) and how it interferes with the game-world (blocking the path for monsters, blocking invisible rooms behind them, occluding sound "rays"). Did you know I'm upgrading the Object-Editor right now so Federico can attach such a motor and door behavior to his object?
Yeah probably you know such things if you visit this place more often, or if you are familiar with game-development in general. The real progress usually lays in the hidden things. Things that are completely uninteresting for the outside world. But hopefully interesting enough to bore you with ;)
Here you go, doors. And yes, to make it work as a door, there is quite a lot to implement actually. Like other moving things such as an elevator, doors have an animation, and not just rotations. Think about slide-doors, garage doors, or those opening-anus-doors you see in sci-fi movies. And not just every door can be opened the good old fashioned way of course. Some are locked, some require a puzzle, some need to be kicked by a monster. When you think about it, a whole lot more scenarios pop up, and making game entities flexible for that is a challenge. This is not an in-game shot btw, not that far yet.