I would like to preface this thread by saying that this is not intended to be a rant. This thread is not intended to start arguments. This thread is not here to attack, blame, discredit, or generally deface the personality and/or reputation of anyone here. This thread exists to respectfully and intelligently discuss a topic which is relevant in our current community and to its future. The purpose of my thoughts being included in the original post is to provide a starting point for conversation and set the stage for future discussion. The following thoughts are my thoughts and mine alone and, while no one has any obligation to invest in them, I would encourage anyone reading to consider them.
This is going to be lengthy, but please stick around and take the time to read.
I will first establish a few points I believe we can all agree on. Blockland is a video game in which players can create a wide variety of content. It is a sandbox in near purity. The base game alone allows for fantastic creativity through the eventing and building systems. Provided are basic systems which allow players to customise and manage their game experience. The modification capabilities of Blockland are also something to be mentioned. Content creators in this community have a fairly large amount of freedom through TorqueScript, once one gets a hold of its quirks and rough edges. This is the life blood of our community. I think it is safe to say that, without Blockland’s modification capabilities, the game would likely have never gotten to the point it is at now. And who has provided this content? The community.
We are all responsible for the future of this game. Every successful server, every popular mod, and every significant member will leave a lasting impact on the game and set the stage for what will follow. If we have not yet realised this now, we will certainly realise it in the near future, as I believe we are at an important point in this game’s development. We are on Steam, one of the most powerful and respected PC gaming distribution platforms and communities. This gives us a great advantage in growth through exposure to a wide variety of possible new (and perhaps even old) players. What will their fond memories be? What will be the deciding factor in their purchase? I believe that we, as a community, must do our part to provide the answers to these questions, as we are ultimately the ones who will deliver meaningful and enjoyable content to players. And those that come will stay and do the same for us and those that are akin to them and to us. We are all here because we were inspired to stick around for one reason or another.
The way forward is progress. Meaningful progress which will provide new ways to utilise our resources and create things that are truly grand. New ways to make what is tedious more usable. New ways to facilitate creativity and creation of such things. Through the tools we have now and the tools we craft, we will create progress. The resulting by-products will be clearly evident, and have been whenever this breed of progress has occurred. The addition of events to the base game, the release of RTB, the creation of VCE, Slayer, a standard update utility for content creators, and a whole myriad of other things have all given us great power to forge new and interesting gameplay. This naturally follows, and the fruits of labour are reaped by all.
We must also make a clear distinction between what is progress of true breed and what is falsely so. The vast majority here will be aware that two base engine classes, Terrain and Interior, were removed from Blockland in August of 2012. The removal of these classes meant that large-scale buildings and terrain were much more difficult to create and utilise. This left many with cold feet, as alternatives were limited at the time. There has still been fairly trivial effort to effectively replace these classes in-game. We have modular terrain bricks, which play fairly nicely with vehicles and give decent ability to create large-scale creations without much performance impact. There have been several attempts at terrain generation using these, all worthy in their own right. The obvious question yet to be answered is what will be the most generally-effective replacement for Terrain and Interior objects. I believe this question is misplaced. Should we focus on how to rebuild what has been lost; should we view this as a problem to find a solution for? Is this the most constructive state of thought for the future of this community? The real question is not how to replace Terrains or Interiors. The real question is how we can enable the average user to effectively create, using our newer set of primary tools, creations on a large scale. We must evaluate the true advantages Terrains and Interiors provided so that we may properly have a meaningful effort to recreate them, not to recreate Terrains and Interiors.
We have seen, since version twenty-one, several attempts to revive Terrains and Interiors through use of StaticShape objects. Most notably are Wrapperup’s attempts at this. The idea behind this is simplistic; .DTS shapes are loaded using StaticShape objects. Wrapperup simplified this process to the end user, and created a system that allowed for Interior-like creations to return. There are a variety of technical issues with this. Firstly, StaticShapes have disadvantages as complex shapes. Collision meshes are limited, meaning that many parts must be split into multiple objects to properly function. StaticShapes have limits for colouring, texturing, and complexity in design. Interiors cannot be properly replicated without careful crafting with multiple StaticShape objects. Effort is not necessarily an issue to the dedicated creator, however significant hurdles to jump through are not insignificant strikes against the feasibility of this application for StaticShape objects.
The fact that use of many of these objects is necessary for the purpose they are serving is also a flaw in this application. StaticShapes are simply not fit for use in large quantities. A fair amount likely are aware that, in Blockland v0002, StaticShapes were used for bricks. The performance implications of this were very evident. Retail Blockland’s most notable change from v0002 was the addition of the fxDTSBrick class for building. fxDTSBrick can support a maximum of 256,000 bricks at once (note: that is only due to a networking limitation). The reason for this is that fxDTSBrick has specific optimisations for usage in large quantities in any kind of structure, large or small. They exist to improve upon everything that StaticShapes lacked for building purposes. I did a brief test in v0002 and in v20 to compare the performance impact of StaticShapes when compared to fxDTSBricks. The test consisted of an 8x4x4 construction of 2x4x1 bricks in the classic bedroom map (note: I removed the miscellaneous objects lying about in the v0002 test). The base FPS in the v0002 test was 240. After construction, performance dropped significantly, hovering at around 145-175. This is around a 33% performance decrease with only 96 additional simple shapes. The v20 test had an FPS baseline of 950-1000. After construction, no change in FPS range was seen. (These tests were done using an Intel Core 2 Duo CPU E8400 @ 3GHz and NVIDIA GeForce GTS 450 w/ ~4GB total memory. The v0002 test was run at a resolution of 640x480 and the v20 test was run at 800x600. Please note that the v0002 was rendered at a smaller resolution and still suffered a more significant performance impact.)
StaticShapes are not the answer. Terrains and Interiors provided unique advantages that we should seek to recover one way or another, but we must consider closely the value of each solution before adopting it. Inevitably, a flawed medium will fail. We cannot try to cope and scramble to regain what has been lost or cling onto whatever feels like progress. We need to think hard about our decisions as a community and think about what we really need. I would ask of anyone that has taken the honest time to read all this to think hard for yourself and come to a conclusion: What is really important to this game right now? What can we, as a community, create to improve the game in the long run? Do we continue to attempt to regain what has been intentionally abandoned, for better or for worse, or do we take steps to find new ways to create new things?
I’ve provided my thoughts. Again, I would like to reiterate that this topic is not intended to create argument or attack anyone. I have specifically mentioned Wrapperup due to his significant contributions towards StaticShape Interior recreation, and need to make thoroughly clear that I have no interest in negative discussion. I am not attempting to be anything but respectful towards anyone else and apologise if I do or have failed in this attempt.
Please discuss respectfully.