Sunday 29 October 2017

TD2 - postmortem

We are week from Tech Demo 2 release and I need to say that receive of it was great. Project page on indieDB had 5.8 thousand views and 68 downloads of TD2 (where previous one have 106 so far). Youtube around 694 views and 19 comments (I don't counting my replies). Facebook Release post was seen by around 650 people. 

Sadly I know that a lot of this people are just visitors that will only check what whole release is about. They won't stick around and I don't mind that because in between them there are people that care about project and for me this are people that I care about. This familiar faces I see often when I posting new stuff they are for me biggest reason I still didn't give up on development.  

Now after resting and resuming work it is time to calmly look into whole TD2 release process and form some conclusions so next release was even better. This time sadly there is no problem with pointing out what was the biggest issue:

Physics

Working alone on the project have issue that you never can do all the stuff in the same time. So far physics in my engine was mostly meaning collisions. Then I switched to RigidBody controlled characters and stuff get a little bit complicated but well there was still just mostly running and jumping. 

TD2 brought new changes climbing, physical objects and kind of real life test of whole system. Sadly its failed this tests. I knew form begin that this release will suffer from some kind of physics issues. In the end turned out to be worse than I thought.

Just memory of how much issues I had with whole physics setup make me feel down. Tools that I designed to work with physics turned out to be useless piece of sh.. and any attempt to slightly improve it for release proved me this more and more. Another problem were my skills with each issue I knew more and more how little I know about bullet (physics library).
Reason behind this whole situation is my lack of knowledge about physics algorithms and missing physics debugging tools. This will be one of few big topics that I would like to improve.

Like is light word I would say I MUST improve. But I think I know how so this is good. My plan include creating system of physics material which specify properties of objects, better visualization of physics and adding more tools to troubleshoot issues.   

Tools

Tool chain proved to be really useful tool to quickly achieve nice results. Sadly in some areas they were let call it nicely: "untested". Stability problems were accompany me whole the time but I wasn't surprised too much.

When I work on new features I very often don't testing all features of editor just to save time. This behavior is kind of ok for development but then you need to use tools to do some real stuff and it backstabbing you all the time then. Features don't working, crashing editor, behave unpredictable because some parameters changed.

I thought about solution to this issue and I want to do some tools run-time tests to check if tools still working. Sadly I still don't have idea how to do it so I wouldn't need to spends a lot of time to manage it.

Resource pipeline

Resource system with exception of few glitches worked out fine. Sadly untested on stand alone system made me small surprise right before release and refused to work. 

Mix between old and new resources turned out to be pretty toxic. I think that I have it now under control but I'm not full satisfied with fix.

Rendering system

Render system is another topics that I'm not fully satisfied with. This time problem is in my knowledge about PBR (Physics Base Rendering) algorithms. I struggle to achieve what I wanted and even if it looks not bad it have glitches which make me furious.

Summary

TD2 release leaving me with mixed feelings. I'm really proud that I managed to release whole build on time with all this features and pretty good stability. In the same time I regret that there is so much physics issues, some missing pieces that I would love to have and problems that I could probably avoid. 

What left now is use this whole experience that I gain from it, tackle issues that I wrote about and prepare to ship TD3 :D Work on it already started.

Greg

No comments:

Post a Comment