Author Topic: On the current state of things: Our role here and the use of StaticShapes  (Read 14557 times)

   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.
« Last Edit: October 26, 2014, 02:00:56 AM by otto-san »

Nice post, I agree with most of what has been said. While it was incredibly fun to mess around on the maps of old, I believe we can still generate large-scale content with bricks that will provide the same type of experience. Perhaps we need new building tools (especially to help with terrain creation).

It seems like many members of the community have not been as active lately (including myself), so the amount of content being generated on Blockland servers has slowed drastically. However, I still have faith that we will see many more magnificent projects in Blockland's future. Here are some pictures of my current project, which demonstrates the scale bricks are still capable of :)

« Last Edit: October 25, 2014, 06:24:02 PM by Wesley Williams »

Glad to hear it. I agree that we definitely need some tools to make brick-based terrain more feasible.

-snip-
Holy crap, that looks amazing!

*Ideas begin racing through head as to how to turn this into a KOTH TDM*

Haha thanks but not happening, although I think you'll like what I have planned for the server anyways!

Glad to hear it. I agree that we definitely need some tools to make brick-based terrain more feasible.
I think we need tools to make building in general more feasible. Too many players are instantly turned off by Blockland when they see its antiquated building system- sure, it works for those of us that have been around it for years, but to new players its like learning a new language.

By now it should be clear that we may as well forget about terrains/interiors and find new ways to create large things. [GSF]Ghost has probably contributed more than anyone to this cause by giving us ModTerrain (which has a few minor issues such as missing faces but nothing too serious).

As a track builder for superkart and speedkart, I've used modterrain for pretty much everything I've built in the past year or so, and with experience comes the realization of all the stuff that could be improved. Among those things, having the right building tools definitely matters the most. Without the right tools, building is entirely inefficient and time-consuming (not to mention boring).

What we need is a mod that removes ALL the things that restrict building efficiency - we need a super building mod that basically puts you in camera mode in which you can place/plant bricks from ANY distance and at ANY location (even if it's floating! but not if it's overlapping another brick).

As a community, we should simply continue to create new things - emphasis on "new" because I keep seeing things that are re-creations of ideas that have already been used many times.

Excellent and very well written post stating Blockland's condition and future. I've tried to explain this to a few in the past, but just gave up as they acted like static shapes were the best thing since ever. Wrapperup did an amazing job with the staic shapes, but I feel as if many are wanting to go back to them, not targeting anyone here of course. All in all, well said and hopefully Blockland will progress due to people helping the game itself.

Aaah, I'm too slow to post, but I agree with all posters above me too.

If it were possible to add diagonal directions on the brick axis i believe it could make things a lot more interesting.

If it were possible to add diagonal directions on the brick axis i believe it could make things a lot more interesting.
can this please be a thing
I've needed this so many times

The engine doesn't allow this to happen according to Treynolds and Planr 2 years ago: http://forum.blockland.us/index.php?topic=200614.0

This is what Treynolds has to say on the topic:
-quote-
lol
oh
« Last Edit: October 25, 2014, 07:26:53 PM by WaterOre »

If it were possible to add diagonal directions on the brick axis i believe it could make things a lot more interesting.
The engine doesn't allow this to happen according to Treynolds and Planr 2 years ago: http://forum.blockland.us/index.php?topic=200614.0

This is what Treynolds has to say on the topic:
Quote
It won't work
It will not work
No buts
No ifs
It will not happen
It will not work

Ever
lol

If it were possible to add diagonal directions on the brick axis i believe it could make things a lot more interesting.

The only way this would remotely barely work at all, if someone were to recreate the brick as a model and make it into a prop brick.

e.g. http://forum.blockland.us/index.php?topic=260858.0 Meh

EDIT: Technically it's possible, a simple 6 sided shape rotated either from just 45* on the X axis or a variety. It honestly depends on what the developer wants. There are more problems to keep in mind too, how it will blend with normal bricks, how they connect in general. I don't see how it will be possible to connect a slanted 45* brick with a normal, (ramp?) brick.
« Last Edit: October 25, 2014, 07:44:27 PM by UnRegistered »

We need software where we can draw terrain with a tool, and it converts it to a .bls file.
This would be amazing. Can someone actually work on this?
Think of it: Paintbrushes, circles, squares, corners, polygons, no more jetting/orbing inefficiently, all that neat stuff.

Also, tl;dr for the lazy: Static shapes lack optimization, and instead of people working past the v21 removal of maps with them, we need to use bricks, which have great optimization.
« Last Edit: October 25, 2014, 08:03:55 PM by -Setro- »

Yes, exactly. We need a new editor, like the GUI and World editors, but for brick terrain.

What hurdles would need to be overcome for this?

Let me cut a bit deeper.
McEdit is software used to easily edit and create minecraft worlds. It's an external program that is independent of minecraft, and has tools like brushes and things.
All someone would need to do to make a blockland save editor is make it work with the .bls files- to both view them, make changes to them, and export them.
Looking at a .bls file, this doesn't seem like rocket science:

It simply has numbers for the location and type of the brick. Really easy to understand.
I don't understand it just by glimpsing at it, but I'm sure software can easily and quickly do math and find out.

I would give major props and love to anyone that makes this.
« Last Edit: October 25, 2014, 08:14:25 PM by -Setro- »

Yes, exactly. We need a new editor, like the GUI and World editors, but for brick terrain.

What hurdles would need to be overcome for this?
Just effort, I would imagine. I was working on a ModTer tool at one point, but the projects it would've existed for are WIP in peace now.
It's definitely a real possibility right now. It wouldn't even necessarily have to be in-game. One of the best examples of software like this I can think of is MCEdit (which was written in python).



setro beat me to it.
.BLS interpretation is one of the easy parts. I managed to make a .BLS ''''library'''' in Unity fairly easily. Some of the finer details that require more attention: interpreting .blb shapes? ease of use? automation?