← View other posts


Joe Miller
Joe Miller Level 20
· 2 min read · 0 views
· 28th

Considering the theme finalists, I was leaning toward trying out some kind of tower defense game, since I haven't made one yet. My plan was to combine the themes from Ludum Dare and GM48 using one for the setting and one for the mechanics. I got the card manipulating the tetris piece working pretty rapidly, but ran into a couple collision issues with the "L" and "J" and "N" and "Z" block types, which my fix still left a bug that made it into the jam version where they can still sometimes get stuck. And then I hit the next issue of actually detecting a tetris has occurred and being able to delete the line and drop the remaining blocks down. And then the being able to detect if rotation was possible to allow the cards to show red or green in real time for the possible moves. Anyway I got what could done on Saturday, and Sunday was mostly finishing up the music, title screen, and tutorial screens.

What Worked:

Keeping the "active" piece's ID in a global variable made it easy for the cards to know which object they should be controlling. When a piece "locks in" by touching the bottom or another piece, the shape is deleted and replaced by individual blocks that can be destroyed independently of the shape they came down as.

What Didn't Work:

Rotation is still a mess, I need to go back through and come up with a different plan for handling collisions. The freeze time mechanic did not get represented or implemented well as a mechanic.

What to change:

Add an hourglass animation to the UI that shows how much longer time is frozen. Remove the cooldown from drawing cards, and make it so the card discarded to freeze time does not have a timer, but is just grayed out during the freeze. So the mechanic would be to discard a card, and be able to still play other cards during the freeze, but then have a recovery cooldown after time is unfrozen, freeze again, and be without 1 more card again.

Link to timelapse: https://www.youtube.com/watch?v=AJH7S2NGapc