I am wondering if there are any typical practices of coding that translate to the development of BGA games? For context I am about a month into development of my first real game. I appreciate the excellent teaching materials, documentation pages, and encouraging community. I see the clear instructions on using version control (and I totally agree. Good version control is a must). I was wondering if anyone has found any other practices to be helpful that aren't talked about as often. I'll list a few that come to my mind, but if you have any other helpful practices to recommend that's great too.
Project documentation: Is there any precedent for making thorough project documentation? I'm thinking of when you use a documentation generation software that requires you make comments with specific formatting describing your classes/instance members/class methods. And then it generates static pages documenting the project structure. I'm a huge documentation nerd and I could definitely see that being helpful for communication/testing/bug fixes/adding expansions later. (For example, I have used Sphinx for a totally different project in the past. https://www.sphinx-doc.org/en/master/index.html)
Unit testing: Should/could I use unit testing style tests for a BGA project? Or if not is there a usual or recommended method for the developer to conduct official testing? I am far enough into development that I have testing/debugging days. I have managed well enough following the methods described in the documentation (print statements, var_dumps, method calls from the chat, accessing/modifying the database directly). It works well enough but I wondered if there was something more rigorous that others have found helpful.
Optimizing: What does the process look like for optimizing a project? Is there any way to monitor resources being used like memory usage and runtimes? Or is that something I should only worry about if there are obvious issues?
Sorry if that's too much, feel free to comment on any of that or anything related.
Project documentation: Is there any precedent for making thorough project documentation? I'm thinking of when you use a documentation generation software that requires you make comments with specific formatting describing your classes/instance members/class methods. And then it generates static pages documenting the project structure. I'm a huge documentation nerd and I could definitely see that being helpful for communication/testing/bug fixes/adding expansions later. (For example, I have used Sphinx for a totally different project in the past. https://www.sphinx-doc.org/en/master/index.html)
Unit testing: Should/could I use unit testing style tests for a BGA project? Or if not is there a usual or recommended method for the developer to conduct official testing? I am far enough into development that I have testing/debugging days. I have managed well enough following the methods described in the documentation (print statements, var_dumps, method calls from the chat, accessing/modifying the database directly). It works well enough but I wondered if there was something more rigorous that others have found helpful.
Optimizing: What does the process look like for optimizing a project? Is there any way to monitor resources being used like memory usage and runtimes? Or is that something I should only worry about if there are obvious issues?
Sorry if that's too much, feel free to comment on any of that or anything related.