User Tools

Site Tools


playground:k75:discord_review_rebuttal

I read your review with interest. It's clearly thought-out and detailed.

I am somewhat confused by some of the “dislikes” you mention. For example, the lack of custom maps - there are almost 4,000 of them as of the time you wrote this review.

But I suspect that it meshes with your objection to lack of multi-tasking.

I would like to take time here to discuss multi-tasking and why the game is designed as it is. If you would like to continue this conversation, I am on the Knuckle Cracker Discord as @k75#8703 and would really be more than happy to explore the matter with you in as much detail as possible.

In CW4, when the game was developed, all the resource-intensive parts that was feasible were multi-tasked. Notable example is the Creeper simulation. It's broken onto portions, and each portion executes independently and is then “stitched” together at the end of the simulation phase.

In multi-tasking, there is a common and complex problem that if multiple parts of something - in this case the game, operate on separate threads, there need to be a way to put things on the threads, and then eventually to know, and maybe to wait for, completion of those separate threads before the main core logic can proceed. In addition to the complexity of handling the discrete actions taken by each individual thread, there is also a CPU cost to creating the threads, and then the complexity f waiting to re-synchronize the thread execution at completion. To say nothing of the complexity of coordinating interactions across threads (an example, if one unit is on a thread and fires at Creeper it sees, another unit on another thread may not know, and fire at the same spot. It is theoretically possible for all units that can see the same spot of creeper to need synchronization to not fire at the same cell, or the results would be not good.

To put that amount of synchronization and inter-process communication into custom units would be prohibitively expensive and complex. It would be hard for map makers to understand these highly technical aspects that take programmers a lot of experience to understand and implement.

All custom units operate on the same thread, and that makes it easy for map makers.

But, for those map makers bending the game to their own will, making maps that are different game modes that the original game never anticipated, those units, when there are many of them, do pose a particular performance penalty. Some of that can also be attributed to lack of optimal coding in the custom game mode units.

In addition to all the above, and together with your observation of the lack of reactors in the game, let me just say that since each unit has to be rendered individually, the more units you have, and the more complex each unit is, the more expensive it is to render. I am aware of custom units that make a map size approximately 20 megabytes, whereas a standard map size is about 190 Kilo bytes - that means it is 105 times larger than the standard payload. That puts a huge additional load on the rendering engine, at very little visual benefit, since most models are very small.

Also, reactors were removed because spamming them, even in CW3, lead to terrible performance degradation. In CW4, we found that energy was not as much of an issue as in CW3, and as such the unit was not necessary and it just led to folks overpopulating the map for no effective reason and at the same time degrading performance.

If you really need to, for some reason, spam reactors, I'm sure some kind modder on our Discord will write a custom unit for you that you can built to your heart's content.

I'm sorry you didn't like the game, I see you waited almost two years after release to write this, so I'm hoping you'd come back and give it another try. It's fun, most of the many custom maps perform great and there are a lot of fun experiences.

playground/k75/discord_review_rebuttal.txt · Last modified: 2022/11/22 10:04 by Karsten75