The responses in these threads clearly fall to two categories: The people who've lost / seen someone lose their work, and those who haven't had that happen YET. It's never needed until it is, and when that day comes, you either have it or you waste hours/days/weeks/months of work, or possibly scrap the entire project because it's no use trying to redo the whole thing. It's not hard, if set up correctly it doesn't take any of your time because of proper automation. Have both, and the project is indestructible by accidents. Have that backup in a cloud, and your files are several orders of magnitude safer. With a single backup, even if it is physical, your files are relatively safe. Spike through the electrical grid (PCs can get enough juice even through a surge protector to die).įorget to unplug the USB stick and it catches your sleeve, bending the plug. Someone bumps into the table corner and the external hard drive falls flat, and one ball bearing misaligns slightly. Is it gonna be a web game? Will you deploy on your machine? How will you go about QA. This is kinda tricky to setup for games, as they tend to have so many build parameters, and very diverse on the deployment environment. CD (Continuous Deployment): Usually goes hand in hand with CI, you strive to be able to build (and deploy if possible) an executable automatically after each push, or at least release with a single action.Github Actions, Sonar, Jenkins, are few of your friends. You achieve this with automating tests and code quality checks on every push. CI (Continuous Integration): The process in which you strive to be able to push code continuously.If I remember correctly, Unity uses Zenject. Especially important for statically typed languages such as C#. Helps immensely with decoupling, and testing. Inversion of Control / Dependency injection: The method of creating objects where dependencies are resolved on runtime.(Remember you wanna test in isolation = less coupling) It also helps you architecture your code in a more maintainable way. Granted, it is not easy to think from tests perspective when developing games, tests give you a safety net on your refactors by ensuring you don't break anything. Unit Tests: These are fast running functions that tests individual parts of your code in isolation.VS has some formatters and linters of its own. Depends on language, though many game languages are not as rich as e.g. Linters and code formatters: While developing, use these tools on every save to see possible problems.git, SVN, plastic (for Unity) help with this It is not a big deal when working alone, but good practice. For example, work with merges only on master main.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |