Welcome to this week's special edition blurb!
Apologies for this coming out a little late today, ran into issues trying to get the pages set up considering this new blurb is starting on a new page!
Last week, we went over the physics demo for Brickadia which, if you haven't seen it yet, you should go watch!
This week, we'll be going over the development blog that was released alongside the physics demonstration video, and I'll try my best to simplify it and analyze the information provided! With that out of the way, lets take a look at the community progress of the current Brick Party in Brickadia! Last week I didn't go over the builds just quite yet just so I could give builders more time to complete their works, but I think plenty are now ready to see, so let's take a look while we also catch a glimpse at what the community has been up to!
Who would've thought this would all be built so quickly?:
Credit: Brickadia CommunityWell-built Roman-inspired building:
Credit: Stormer"Honey look, I think I can see A6 from here!":
Credit: FlookhHope you got your ticket to see this build:
Credit: Bluester16Castle gates with some towers, not even done but it already looks so good:
Credit: UngaBungashrek shack #1:
Credit: MooseOvergrowth, mossy, and ruined: awesome aspects for any build:
Credit: Syringeshrek shack #2:
Credit: BlueBipVery epic shack:
Credit: dhagrowYou're telling me a robot lives in this house?:
Credit: TombstoneTechnicianSomeone build an apartment where people can build their own rooms in!:
Credit: DomlessSick river facility:
Credit: KevinTRObama? You build in this server too!?:
Credit: ObamaHe really do be building here:
Credit: ObamaNow this isn't everything that was built in the Brick Party, and many people are still working on their builds. I'll continue to share updates each week on the Brick Party for as long as it goes on!
Recently, a user of the community sent me their first ever builds on Brickadia, pretty awesome stuff!:
Credit: TrapAZaydBack of yo leg, fool:
Credit: Cryptic RunnerNow we arrive at this week's user column!
Each week I will be asking members of the Brickadia community a question relevant to Brickadia at the moment, whether that be in regard to development, speculation, or even just hopes and desires surrounding the game itself.
The question this week is:
What do you plan on building when physics comes out?
"I plan on making hidden doors and such in one of my personal builds, trying to see how small I can get them. Otherwise, I want to see about making a staircase that will start as a circle pattern on the floor then lower down slowly into a lower floor. Secret staircase! Fun little builds like that are what I have in mind, although I do have ideas for bigger builds BUT I don’t wanna spoil that :P"
"trebuchet
gonna launch some cows"
"I have a couple of things that I want to build, right now what I wanted to build was a bucket wheel excavator but building the buckets for it without dynamic brick grids is basically impossible. I hope the physics can handle stuff like conveyor belts because actually being able to make it fully functional would be super cool. I also have plans for obstacle courses and stuff like that but nothing concrete so far"
To follow along in a sort of skimmy-skim-skim sort of way, or if you just want to read the development blog, check it out here! Devlog #4 - Fast Collisions for Large Editable Vehicles
Alright, now that we've dealt with the eye-candy that we got last week with the physics demonstration, it's only fair that we deal with the hard-copy, text-wridden, reading aspect of the whole deal. Now personally, I myself didn't read the whole thing at first cause I'm not a nerd, lol! However, it should still be looked at just to better understand how some aspects of physics will work on release. Let's get right into it by talking about collisions:
While we have seen clips and images of physics objects and vehicles in the past, the general issue with collision in those videos was that physics objects were dealt dirty with a regular collision box rather than a sort of in-depth collision. As a result, you get this:
Credit: ZebloteIn other words, a Garry's Mod moment. Also, for some reason, ragdolls didn't collide with those physics objects? Just a tid-bit, but let's keep moving. Over the course of the development blog, the developers go over a series of possible solutions for having concave collision detection, which is basically the kind of collision for physics objects we all want aka you being able to sit in a seat even though the car is angled 0.01 degrees east. Let's go over those in a sort of quick bullet-point sequence:
Compounds and Aggregates in PhysX: Solution would generally be have a parent object and have all other shapes be connected to that parent object. The negative is that each shape has physics calculated for them still. This, your giant 1 million part Titanic boat makes the game unplayable because all the bricks in the Captain's bedroom are being calculated alongside every brick in every other room on the ship.
Voxel-Based Concave Collisions: All collision is created by uniform voxel blocks. The problem is, to put it bluntly, that Brickadia's bricks aren't uniform to a single size, but to a variety of grid increments. Also memory issue possibilities. No gaming here.
Custom Compound Shapes in PhysX:This is what they chose, let's go home (just kidding). PhsyX, a feature in Unreal Engine, basically does the work for you. Put simply, an object that collides with another object is positioned relative to the object collided with, find the overlapping parts, create the contact points, and then physics-up the contact points.
Are you following along just fine? Let's keep going:
The developers then talk about choosing a Dynamic Spacial Index, which is basically in reference to a brick collision detection system that can have the objects be updated. They then go over some of the things they need for this spatial index system, like the ability to remove objects at random, the ability to handle wildly-different sizes for collisions, and so on and so forth.
Now the devs go over some common spatial data structures that fit the bill for what they are looking for in regard to their collision system. Let's not go over those cause it's 1 AM on a Thursday as I'm typing this. What you need to know is that the developers went with Loose Octrees after regular Octrees asked the developers for voxels, but we know NEVER to talk to a stranger that wants to offer you voxels.
In short, Loose Octrees still didn't fit the bill, and the developers decided to improve what they had with Loose Octrees and call it OctoBVH, BVH standing for Bounding Volume Heirarchies. Why do we need to know this? In short, OctoBVH helps with collision by simplifying boundary boxes by subdividing the overall boundary box into smaller boundary boxes that hold bricks. The bounding box is then used for collision.
If anyone who actually has technical expertise in this is reading this and are just shaking their head, I'm sorry. Please forgive me. Let's keep going!
A lot of stuff from this point mainly deals with information regarding memory, queries, and all that stuff. And frankly, I prefer my stuff to be visually appetizing. Ignoring all of that cause man, we find that with the collision system figured out for the most part in reference to primitives, now brick-on-brick collision needs to be figured out. In other words, how do I cram 10 white whales inside an Office Depot build? The collision box is convex appromated, meaning based on the cubes that we got from OctoBVH for giving birth to it (we love you, kid), those cube subtrees are used to create the convex shape, at least from what I gather. From there, you get this:
Credit: ZebloteWhat is interesting is when you pay close attention to this picture, some of the ships don't completely collide/touch each other, and this can mainly be seen with the ship on the most-left and with the ship to the upper right of it. Though, at best, they just may be frozen midair.
And I'll leave it from there, considering the rest of the development blog mainly deals with optimizations for loading builds and lots of code.
Adding to that real quick though, given that the game has been optimized for release with the addition of less memory usage, this will make it easier to be able to play on servers whose brick count reaches the millions!
And now I'm done. This is also the last time I cover technical stuff in this manner, cause even I had a hard time following along. lol.
And that's all for this week of the durb blurb!
If you want to see your creations, ideas, and speculations highlighted on the blurb, contact me at: durb#3215