Wednesday 18 July 2018

Stability

Last months were a lot into making new things. New file system, new terrain edition, new game design all of them are great tasks. Sadly in this rush for them I got somehow lost. 

Everything started few days ago in meantime of playing around with the tools. I was siting again in front of my monitors and trying to create new placeholder object for game. This days I using them a lot to have some visual representation of shape that final object will have. The fact that they don't look good doesn't matter at this point.

In my case this was this object: 



Task of creating and adding it to level was really simple and painless. I had tests done for that so I was sure that this works how it should. Thing start to go a little bit worse when I decided to add LOD meshes. I had at that point already around 10 instances of this tree. Because I don't plan to go and change properties for all of them individually I went and enabled sharing of properties between them. 

Here things start to go wrong: This feature didn't worked.

Guest what ? I didn't had tests for it :/ I fixed the issue quickly but sadly I was rather tired at that point and didn't had occasion to add test that would guaranty this feature to never be broken again. Good thing is that this task have highest priority on my to-do list and will probably happen today.

Of course this is not reason behind this post. This is just proving how testing is important when you work alone. Reason behind this post is that in meantime of this fix I discovered that I am still using old serialization system. This wouldn't be so bad if not the fact that I forgot that I had two serialization systems :/ The moment when you realize something like that you start to feel really lonely in this large code base.

I understand how I ended in this whole situation. I was jumping between tasks where something needed to be done and somehow between all of that I lost track of things I working on. This is not so weird but thought that it happened for something this big and important is still disturbing.

Well world is still spinning and project going on. I will fix the issues and continue with work. Which by the way going pretty well. To show some progress I prepared some graphics representing progress of redesigning outdoor locations in project (Thanks for people who put whole level maps to lba.wikia.com ).

Citadel Island:


Principal Island:



You may notice that right now I focusing more on Citadel Island. This is intentional. My goal is to define graphic style for whole remake and to do that I don't want to split my focus between multiple locations. So far it working great and I'm really excited about the results :) This is good sign and mean that soon I will able switch my focus and put some effort into Principal Island which funny fact is planned as at least 3x the size of Citadel Island. This will be big stress test for whole technology :) we will see how it will go.
  

Friday 6 July 2018

Status

I need more often looks into social media. I just learn that even if you forgot about people, people don't forgot about you. That is why thanks for all the comments and sorry for delay in answering them.

Truth is that I'm pretty occupy this year. In my job I work hard with rest of the team on new Memory Profiler V2 that we announced on Unite Berlin this year.
Other than that I also traveling this year a lot more. This don't help me with finding time for working on project but this don't mean that I don't work on it at all. 

I just wrapped up changes for file system. This is important milestone for project because it finally unblocking my work in terrain system which will allow me to continue designing world. 

In the end I'm really happy that I done this changes because code now look a lot nicer, everything works a lot better and I pushed there some extra functionalities that I needed for long time. In the same time I prying that I never do it again. This was rather tiring experience which resulted in 3 months out of project time and it still require at least one cleanup pass to improve code quality. But I will do it step by step while I will be developing rest of engine. 

From other interesting changes codebase reached over 2100 unit tests. This is not a lot comparing to what is needed but already start paying off. They already catch up few regressions in code that I would introduced by my changes and otherwise would be hard to find. That is why I will be continue with adding more tests into existing code. This is not always fun task but it is needed.

So what now ? I'm returned to initial goal of fixing terrain edition. I have already some results which allow me to do some basic edition. This is still not ready for full scale production but it is enough to resume work on new design of islands (yes I will be developing both of them in the same time).  This is great news because I'm unblocking myself to create placeholder of new looks this should push whole project further into development.

In the end I will try to be more responsive for all comments and once again thanks for all of them. They helps a lot with finding motivation to do something for project when you are tired after long day.

More news with something to look on should be coming soon :)