Week 13:Quiet Week, More Tuxemon
The Quiet Week
Class is winding down next week, and we had one last round of group stand-up reports to update the class about our project progress and what not. Not much to say here other than I’m pretty interested in seeing what my classmates ended up accomplishing for their contributions. Everyone in the class seems pretty bright, so there should be a decent amount of quality contributions shown in the coming weeks’ final presentations.
Open Source Software Development has actually become my favorite class this semester, despite my motivation and discipline slipping away with the shift from in person classes to online education, so I was sad to see that our Wednesday class got cancelled because I was really looking forward to seeing some advanced bash and command line tools, and an invited speaker class is always interesting to be a part of. However, health and family comes first, so I hope Joanna and her family are doing well, and I completely understand why class had to be cancelled.
More Tuxemon Progress and Things I’ve Learned
Actively working on an open source project is helping me learn a lot about contributing to open source projects. The hands-on learning experience of working on Tuxemon for the last month of class has been a wonderful one, what with the feedback loop of commit some code, get some feedback, edit the code, look for more feedback. It’s been an amazingly engaging experience that has taught me a lot.
I got started working on one of the issues that popped up after my first pull request got merged. While my last pull request made it possible for people to edit their key bindings for the game, the game would still force the use of the default controls due to it always generating the default config keys. This was a problem if anyone wanted to use a default binded keyboard key for anything other the default control setting. I submitted a tentative fix that makes it so the config code doesn’t generate the defaults everytime the game runs, but the maintainer @bitcraft responded that they were highly unlikely to accept this method to fix the issue because not generating the default config everytime can cause people’s games to break if new values are added to the config during development. I hadn’t considered the reason for generating the default config before, so @bitcraft’s comment made me realize the importance of making changes as future proof as possible as well as with the convenience of the users in mind. Making changes that adhere to these 2 principles will undoubtedly be considered effective and most likely to be accepted into the project.
Unfortunately, that meant I had to scrap my proposed fix and start from scratch. I’m still in the process of completing the code for this fix, just let me look up how OrderedDict works in Python first and I should get it down pat.