Again a long gap between updates. This time as I struggle with making changes to simplify Concealed Intent. I have tried to make small modifications, but find small adjustments ripple through the system and become bigger undertakings than expected. Forward progress was slow. Thus I have started again – which I consider a failure of sorts. My only consolation is that now I have a clearer understanding of what the resulting game will look like and better knowledge of Unity3D. Hopefully the result will be much better.
Part of the problem with my old code is that it sometimes worked against Unity’s normal flow. The result was more “server-like” as this is closer to my previous professional experience. For example, the in this Dev Diary I proudly demonstrated my Builder pattern code for configuring a scenario. Now it is done the standard Unity way and the objects in the scene are stored in the scene itself rather than loaded from a data file (although that is still an option). Also I’m working harder to keep to a Model-View-Controller pattern. I tried this in the previous version too, but it became somewhat corrupted as I struggled to get all the functionality working.
Interestingly, the viedo below on structuring large projects in Unity was presented at the recent Unite13 conference (I did not attend this year). They talk about how their mistakes must evoke schadenfreude in the audience. Concealed Intent is much smaller than their project, but I felt no schadenfreude – only recognition of the same issues I have encountered.