I'm working through the "Space SHMUP" tutorial from Bond's excellent "Introduction to Game Design, Prototyping, and Development (Third Edition)". I've spent quite a few hours on this and am ready to test the fancy shields on Enemy 4.
When I run the game and fire, the projectile hits the shield and ... Unity crashes.
No error message, no bug report pop-up. It just dies. This happens consistently.
I don't see how I can make progress from here. Any ideas?
People who have used Godot: is it more stable?
@peterdrake At least in Godot you'd be able to debug the engine and see what's crashing it (fixing it, though, is another issue, but at least you'd KNOW)
Unity crashing hard like that could be a recursive loop that never ends - one method calling another that calls the first that calls the second, etc, ad infinitum, or a constructor calling something invalid. The editor log should have something at the end of it, a stacktrace or error message perhaps?
@peterdrake @shana Stack overflows due to issues like that were one of the most common mistakes my students made when working through Bond's book. That, and forgetting to set references via drag and drop after writing the code. But I agree, Bond's book is great (and Space SHMUP is kind of addicting).
@JensHannemann @peterdrake I have to take a look at this book, this sounds interesting!
@shana @peterdrake My students love it. They can work at their own pace, and I'm really more than a coach rather than lecturing through the whole thing. My job is to help them become efficient with the editor and debugging, as it should be. The only thing I add that's not in the book is that whenever the book says "Save your progress", I require them to also make a Git commit and push (to a gitolite server I run) so they learn how to use version control at the same time.
@JensHannemann Nice! 👏
@peterdrake Yay, you're welcome!
You can get to both the player and the editor log files quickly by clicking on the three dots on the top right of the console window, so you don't have to constantly hunt them down in the filesystem.