GKC 3D Rendering

Okay, I THINK I have a cool idea to add here

The concept is that we have a 3-dimensional object that appears to change in perspective, like all 3d figures do, when the viewer moves. We’ll find the player’s position and use animation to change the appearance of the figure.

Say you have the player walking past a cube.


When the player jumps up, for example, they should see the top (white) surface more, and the bottom two (grey) surfaces less. Their forms will warp accordingly.

Here we see the points, or vertices,[1] on our cube:


Again, we want the points to move depending on the player’s position.

Here are some examples of the points of the cube if it were held at different angles:



Can you picture what they would look like?

Well YOU DON’T HAVE TO, because I made the first one, and oh my josh it took me like 45 minutes


no I’m not doing the other one

ANYWAY, if the player jumped, the original cube would probably look more like this, since the player is viewing it from a higher point.

The idea is that we make a ton of cubes from different perspectives and stack them on top of each other, all hidden on game start. Then, take the player coords, use small zones, or use triggers to detect the position of the player. Then, depending on that position, we hide one image of the cube and show another that corresponds to their position, creating the illusion of 3 dimensions.

Cons:

  • EXTREMELY high memory expense (literally that cube that took me forever to make costs 900 memory alone)
    • Making a single cube with this method would use up AT LEAST 10% memory. The smoother you want the 3d illusion to look, the more memory it will use.
  • Takes a long time to make
  • Even if this was executed successfully, it would be a very choppy animation
  • If using text, as I did, the animation would also look very strange and transparent whenever the image changes due to hide/show speeds. (check this out → Speed of show/hide)
  • If you use text it’s also very limited in size due to the 144-pt font cap
  • Layering nightmare

Pros:

  • pretty cool :D

Theoretically, yes, it’s possible.

If anyone’s wondering how I made the cubes, everything was done using text with periods (.) or unicode symbols (⬧ ⯀ ⮟ ⯅ ⯊ etc).
To be honest, there’s probably a WAY better and more memory-efficient way to do this, but I did what I could.


this all spent 6% memory total :sob:


  1. uhm did i use that right ↩︎

9 Likes

question, is there ANY way to make the cubes differently?
I’ve learned to use barriers at all costs, cuz yeah, show/hide speed.

But barriers are 3 times cheaper on memory too!

3 Likes

I would love to use barriers for this, but since barriers are limited to only circle and rectangle, we don’t have much to work with.
Obviously, circular barriers would be useless because we don’t want any curved edges (assuming this is for a cube and not, say, a cone). But even rectangles are very restricted.
The main shape you need for cubes is usually a rhombus/lozenge ⬧, which is really difficult to make with rectangles, especially considering barriers have a strict limit on minimum size (not a problem if you want a massive cube).

Then there’s corner rounding, one of the GKC features I hate the most. Our cube needs sharp edges, and the noticable corner rounding on barriers ruins everything.

BESIDES allat, barriers would be much better for animation and memory costs, of course – they’re just too unreliable.
Then again, we can combine text and barriers instead of relying on only text – maybe reduce our memory costs a bit. Although show/hide transitions would look VERY strange.

edit, @meepeygamer567 what’s the map called?

edit 2:

Do what exactly?

what???

hekk no I do NOT have enough free time to do that rn :sob:

3 Likes

He makes a rare appearance here and there but has pretty much left the community since his announcement about him shifting gears to focus on academics.

He has actually. You can find the link to that in the Discord in the #creative-showcase channel and searching “3D Rendering Demo”

In this map, he actually left a few notes about the behind the scenes for this project. I’ve put a screenshot of the ones I believe would be most helpful for this particular project:

Some other things I’d like to note is that this method utilizes the text device and not a collection of barriers. The shape can be rotated through a series of game overlays the player can click on.

6 Likes

Look at Minecraft, the entire game is 3D rendering. But, you look at Gimkit, a game with only 2D gameplay, NOT 3D. I also think GKC doesn’t (currently, unless a support system can be built.) have the best capabilities and stability to manage such a large algorithm. It’s not impossible, but it’s a larger, more complex build than most.

again, to my point of Minecraft, the game is also made in Java/C++. Without making some sort of backend software or plugin, the best (in terms of smoothness and data crunch) way to do this is maybe making a custom coding software. One that is able to handle rendering, player tracking, vertices, and 3D Pos.

I was working on something like this a while back, but I lost willpower and deleted the world.

I’ll definitely take a look at BH’s notes. I do like his use of Bresenhams algo.

2 Likes

Wait how did you to that?
Overly promotional and an advertisement?

Render all the points and the planes(each face of the cube)