Sunday 30 October 2016

Finally I've done working on new "goods placement" system. Old system was created for the first prototype, it was mediocre, but it serve it's purpose, we've been able to place goods on shelf, customers were buying them, for prototype, it was more then enough.

Even back then, we've spotted obvious problems, for instance, you can't place different goods on the same shelf, can't effectively move goods on shelf, or place them whenever you want. Not to mention game performance, overall, it's time for old system, to be gone..



In the new system, goods can be placed freely in any spot on the shelf. You can place different goods on the same shelf. Already placed goods can now be moved, without actually taking them out from the shelf.




Tech info:
I was somewhat concern, about calling so many LineTraces at the same time, in old system there was almost no traces at all, in new system on the other hand, there are plenty of them, but overall, it have little impact on performance, and traces called only if player actually interacting with the shelves. I was trying to use inexpansive math calculations as often as possible, to avoid calling too many traces, and to not screw up optimization.

Also, I was able to detect new threat to performance, 3dWidgets, they appeared to be not so fast as I thought, I had to change them a little bit, so they were not have huge impact on overall performance, again at the end everything went fine, but if we had to render too much heavy 3dwidgets, we would have serious problems. Currently I'm using 3dWidget to render price on pricetags.

Oh, and thank Epics for InstancedStaticMesh!
Thanks for reading, until next time!

- Normal

No comments:

Post a Comment