Single Status Update
I pushed my little Doom - ish platformer further in 2 ways. The groundwork has been laid out for a silhouette mode so I can show off what I'm talking about without uh showing the art or lack thereof. So imagine everything black with a maroon background. Its almost fully functional even from room to room.
In terms of pushing phase 2 further, I have moving solid objects in addition to the typical moving platforms. Making the solid objects move was easy enough with the track system I had made in the engine. The difficult part was the logistics of crushing the player. The engine was designed 9 months ago to force the player out of solid objects. So crushing the player by default would push the player out of the way.
Now the crush system works. Crushes to the left, right, from above and from below. That alone was a challenge as the death animation plays when the player hits the ground and stops moving. Well if the moving solid objects are constantly pushing the player that needed to change. So now there is a stick tag that triggers the death animation when the player is crushed.
Another issue was the logistics if the player was crouched and a moving platform moved overhead and the player stood up. That would count as a crush as with the original design there was no crawl mechanic, just a crouch mechanic. So there's no way to get beneath low areas and no reason to have something to prevent the player from standing in low areas.
As much as I'd like to have the player crawling through air ducts and stuff, it turns into an animation issue having the player not only crawl, but if there are any points to stand up and then crawl it just takes a while to animate. Then again I suppose I could just take a Metroid Fusion Samus sprite as a guideline for whatever my character ends up being. Plus crawling might end up being more of a Metroid - ish game than a Doom - ish platformer.
Platforms and moving solids can now be attached to switches even if I have no system connecting the two of them. That will be the next session.