Pseudo 3D in Gimkit?

Quick update

Some ideas that might make this a bit easier.

Saving collision zones to a property

Making the collision zones is easy: just fit a barrier into one of the grids. But how do we raycast without using rays??? If we already know where the walls are before we even start, an equation could be used in place of raytracing. Save every barriers position on the grid to a property, and it should work!

Rendering everything

This is still difficult to predict how it will work, but it is possible. At first I was thinking about deactivating and reactivating barriers for pixels, but I think a text device that uses emojis in certain places based on where the “rays” made contact with a wall.

If you see any issues with these ideas or have your own, be sure to let me know! I still think this could very much be possible!

I think we can use some pixel fonts to simulate raycasting.

·.·‘’·.·

Copy and pasting those everywhere & making them larger as a player gets closer can give a really cool look.

Oh IC, Sorry for the confusion :smile:

Can you all elaborate on the approach you all are using? I don’t understand it.

The idea is to save player coordinates with a property.

The property tells another device “hey! do this!”.

Once the other device receives the signal we hopefully can simulate moving objects.

Why not use a text display, and focus on implementing the raytracing algorithms first?

2 Likes

So I think I have a better idea on how to make the grid system. Basically it will be a 3x3 grid and when you walk into the next grid it will change the position and teleport the player back to the center that way we can use a camera device so we don’t have to use multiple text devices. For walls, we’ll just teleport the player back to the center, but not change the position of the player!

?

We’ll use this instead of multiple grids for simplicity and to save memory

Where are you getting the grid idea from? If we’re raycasting, we’re just doing math and rendering the results on a text display. What are the grids for?

The grids are to store the players position. Its impossible to do actual raycasting because we can’t fire actual rays.

What? No, we can do actual raycasting, we just do what every computer does and simulate the rays!

Ok, what’s your plan to do that?

Implement a raycasting algorithm with block code, and cast out a ray for each pixel. Then display the result of the ray on that pixel.

That’s similar to what I was planning, but how would we do it for an individual pixel?

You literally just use the algorithms other people have written outside of gimkit. You send out a ray, in a direction, and see what it hits. Then, depending on what it hits, you set the pixel that the ray represents.

I feel like we should have a separate function to set a pixel. You set 2 properties to the 2 coordinates for the pixel and then set a different property to the value you’re setting the entry to.

Gimkit Creative doesn’t have that advanced of detection. A coordinate grid would make things easier. But come back to me when you figure out how to do that.

Yes, it does.

Ok, I guess I just don’t understand how to use it then. You could help me out here in learning though.