After working on Bloop Boop for the last 11 weeks, I have learnt a lot about myself as a team member and as a programmer. It’s good to say that I have defiantly improved my programming standards, using more advance techniques and methods to create my solutions and branching out into new and interesting forms of programming like shaders, which I have found an interest in. However did have some issues with learning and understanding other concepts and sometimes lacking the motivation to try and learn and understand them so they can be used in the future.
Firstly, as a team player I felt I preformed well overall throughout the course of development. I work diligently on my tasks, for the most part, to try and get them done on time and to a suitable standard, using Google drive and slack to check off and update people on changes I have made. I was, for the most part, available in slack while I was working for others to contact me and ask questions. Issues did arrive however when people needed to contact me on updates and work progress and I wasn’t on at the time or day which caused some uncertainty and gaps in our schedule for when tasks were complete.
I was a part of every meeting that was setup for this project and gave my opinion when needed along with suggesting changes and cuts to the game when it seemed needed. Example being the more fleshed out animations, due to the process of setting these animations up, individually changes each frame to a material and cycling those through or storing many lists of frames and trying to swap them out when needed would have taken up far to much time for a system that would have been very buggy and messy with many fixes needed after its initially made to be usable. Therefore I suggested cutting them and focusing on polishing other aspects before the gallery.
Some improvements would be,
- Quicker response times, have notifications setup to tell me when I have questions would drastically help improve my response times and would have solved some previous issues of team members not knowing what I was working on or when I was finished.
- Doco updating, there was a few times that I didn’t quite understand what something was or how it was meant to work and therefore had to guess and implement it that way, which is no efficient and something that I need to improve on.
In terms of being a programmer, I felt I was much more efficient in this project then I was with others. I stopped relying heavily on basic, beginner tactic’s and started thinking more in depth on creating systems and methods that can be used more openly or are just built better then previous attempts and iterations of that system. I’ve heavily removed away from if statements and focused more on Switch statements to control the flow of the code and what its affecting, using jump tables to skip repetitive and sequential checks that If statements do.
I worked on more advance systems like a splatter system, which took into consideration shaders that I had made to create the effect of paint splatter of objects. This involved me researching and learning more on shader lab, Unity’s in built shader language, and CG, which is Nvidia’s graphics shader language, and how they work. I also learn’t a lot on stencil shaders and the power that they have to create some great illusion effects.
I also worked creating the illusion of screen wrap using multiple balls and the camera varrible of .isVisible to check what was visible to the camera and what wasn’t. However there was some issues that came up. Due to me working a lot on the front end of the project, I didn’t have much time or experience working more in the back end with the game’s or Unity’s networking setup. This caused issues where I was unable to work properly for a while to compiler errors of Unity’s IAP systems not being active or imported in my particular project I had no idea how to solve it.
Others were Json and creating the level loader as I had not done many readers and parser before and had to rely on others for help developing, maintaining and updating it. However I learnt some new concepts like dictionaries. Overall a lot of the issues I had last time have been improved on, I have had less issues lately coming up with new and efficient solutions and plan on continuing to get better in the future.
Improvements that I will be making:
- Improving my CG knowledge, this is to allow me to create better and more intricate shaders for my future projects.
- Continue to learn new concepts in Unity C# programming