As mentioned in the other comment and yours, start small:
-Get 1 basic feature working
-Get another basic feature working
-Continue till you have a playable prototype
-Polish features
-Add additional functionality
-Expand on exisiting
That said, don’t worry too much about specific systems. Ex. Your save system can probably wait until later. You may want to LEARN how to create one, but until you actually need to save things (typically demo time) that can be later
Do the things that NEED to be done “first” or before other things
Ex. Don’t make a robust puzzle system designed around character movement BEFORE getting your character movement in a good space. Why? Because if you hate your character movement your puzzles will need to change.
That said, plan out which design will impact other aspects of your game. If puzzles are more secondary to movement, focus first on movement. If your movement is stemming from what puzzles you’ll make do puzzles first and design around that.
So first steps really might be pen and paper and writing all these things out at a very high level and then breaking it down from there