Code Hero April Update: Goodbyes and Codebase Soapbox
From the project coordinator:
Hi everyone, I'm sad to tell you that I'm leaving the project, so this will be the last update from me. I hope that I was able to provide at least a little more communication during this time, though I know a lot of questions weren't answered. I'm glad to have gotten to know some of you and I'm sorry I wasn't able to provide more of those answers. Further updates will be up to Alex to arrange. On to the update I had prepared:
Developing games for multiple OS's is a challenge under the best of circumstances and for quite a while the only computers available to develop on were Macs. That meant that a lot of functionality couldn't be tested on Windows and a lot of functionality didn't work as intended on the Windows version of the game. Now a Windows system is available to develop on, some of those disparities are being worked on.
The first priorities were the code editor hot key and the dialogue display, both key to a smoother and more accessible gaming experience.
Up till now the tilde key, used to access the code editor quickly, couldn't do its job. Now, though it needs more work, the code editor can be called up using that hot key in the Windows OS version of Code Hero. The hot key was implemented differently in several places and has been unified to work more consistently.
The dialogue text displayed along with the voiced instructions was skipping numerous lines on Windows, due to certain characters being illegal in Windows file names. With the updated file naming conventions, all the voice audio should work equally well on both platforms.
Another key area that needs to be worked on is the code itself. A big part of working with a team is building the code in such a way that other people can more easily understand and work with existing code. Inevitably in the first rush of developing a product or a feature, a lot is written - the basic skeleton, working theories, experiments, new methodology. At that time it's not productive to stop and organize everything you do. There's some structure of course, but the methodology to be used is still in flux and the underlying cohesive thrust is only in its infancy.
Once things start to settle into a pattern the excess code can be cleaned up and organized into a more readable order/structure/organization. Unfortunately, there often isn't time to do so, which can work for a while, but when teams change members, the code base becomes less maintainable and adding new features without breaking old things can become an issue. It becomes impossible to track down bugs, to fix old features, implement new ones, or to simply move forward with the project.
In between working on new code and fixing bugs, one of the things we've started working on is that process. One way to improve the situation is documenting the code - doing such things as writing comments, sometimes with special Doxygen XML-like formats, that clarify what the intention of different pieces of code are, thus the call for those interested working on code documentation. The largest script in Code Hero is NGUIMaster. It is the current focus and we're glad to say that our first foray into cleaning up its regions and documenting it is going well. It's tedious work, but hopefully it will let the team work more cohesively and more efficiently, as well as easing the entry of those who join us in the future.
Thank you everyone and, again, I’m glad to have gotten to know you.