Thanks for the support! I might be slightly more busy the next two days, but made plenty of progress today.
Progress
Today I started with a pretty simple checklist of things to do; Add walls, a laser dish, and a core sprite to the game. With a little collision I had a very basic level to fly around. I gave the player the ability to fire as well and implemented a damage system. Both Player and Enemy controllers have a Damage integer they pass along to any laser they fire, and when it collides that laser communicates the damage to the Player/Enemy. The script calls the damage function and if it goes below 0, it deletes the object. I think this was the most fun to work on today and between damage, HP, fire rate and fire speed together there's some fun variables to tweak; When testing I've gone with 10 HP to the player and 2 HP to the turrets, and both sides do 1 damage.
When testing player firing earlier, I couldn't quite get the laser to spawn at the proper location and so I added it to a new friendlyfire layer and instructed the physics collider to ignore that layer, and it worked out pretty well. I've noticed the turrets have been murdering each other if tricked into firing along the same angle, and I'm uncertain if I want to change that yet or keep it in as a fun thing to attempt to do in play.
The game is now far more gamelike and even a bit fun to play, so I've also set about learning how to implement particle systems for an explosion once the objects die, and how to play sounds when they each fire their lasers. Adding sound was pretty straight forward and didn't require much wrangling; I used Chiptune at https://sfbgames.itch.io/chiptone to create some noises and made two separate laser sounds to differentiate player and enemy fire. The particle system was a bit involved with all of the variables to control to get the right effect, but setting it to spawn and play was also incredibly simple.
The last thing I wanted to do today was investigate UI elements to display a "game over" and "game won" tagline when the right conditions were met, but I struggled a bit to find the right iteration of UI info to use and then to understand the css UI interface in Unity. I can write up what I want on screen but I'm still unsure how to actually call and manipulate it from a script. I decided to let that stand and try again another day.
The Future
I've been keeping track of a list of goals to complete daily and so far the method is working out just fine. It's not exactly an agile/scrum methodology but I'm setting milestones and knocking them out as I go, and leaving the list open to add things as I go. I could have always started with a larger design document to work off of for all of my goals but I think that'd use up a lot of time compared to figuring out what this game will be along the way. My next set of goals is to keep hammering away at the UI until I can get "game over" and "game won" screens, establish a condition for the player to "escape quickly!" after destroying the core and lose if they're not fast enough, display the players HP on screen either as UI or a game object element, create a main menu, and create a basic bit of music to play while the game runs. Further down the pipeline I want to see about creating a cutscene, or maybe have narrative text shown to the player as they play; or both. Other enemy types I think are also on the table; a sniper that fires much faster projectiles, maybe a tracking rocket that must be dodges, or mobile enemies that orbit around the player. We also have the general obstacles to keep in mind too; the crusher idea should at least be tried.
To show what I have so far now, here's a video showing off the gameplay
Hopefully with another day of work we'll be one step closer to a full game!