SpindleyQ's picture

Having been thoroughly inspired by snapman's brilliant Tek Demo, qrleon's glorious cracktro, and the recent discovery of some excellent Vic-20 demos, I have come to the startling conclusion that it should actually be possible to create a raycasting engine in Klik & Play.



SpindleyQ's picture



qrleon's picture

I recall a raycaster being

I recall a raycaster being made in TGF/Vitalize. It was called 3D Robot Hunter, or something to that effect. There's no trace of it online, unfortunately. I'll try to recreate it from what I remember about it. The author made some pretty cool stuff and I wish I could remember his name.

snapman's picture

There's also Moteur 3D by

There's also Moteur 3D by Bernard Josquin, for eye-of-the-beholder-3d.

qrleon's picture

recreation's prognosis: too

recreation's prognosis: too much fish eye, not enough resolution ... unnnngg god it's making me carsick

mission aborted

snapman's picture

I am pretty good at object

I am pretty good at object picking rules.

Tell me your problems.

SpindleyQ's picture

I have two kinds of objects

I have two kinds of objects that are interacting: Rays and Bars. For each ray, there is a corresponding bar, and they share a unique ID number in value A.

On every frame, I want to iterate over every bar, read a value out of its corresponding ray, and set the direction of the bar. I am trying to do this by comparing their A values, but it appears that this only gets me one bar. If I switch the order, it gets me all bars, but always picks the same ray.

snapman's picture

You are not going to get a

You are not going to get a match for every bar/ray every frame (see my article about sequential object chains), but you can at least get one match per frame. Just set up a counter to loop through every id value (1 through x), and check for the two objects that have the same ID as the counter. This is going to make it scan update all the ray/bar pairs, 50 bars a second. Come to think of it, I'd recommend INTERLACING the updates, by making the step 2, and alternating the loop edge condition to start at 1 or 2.

SpindleyQ's picture

I was hoping to avoid that.

I was hoping to avoid that. Oh well! It actually doesn't look that bad at that speed with my tremendously low resolution.

snapman's picture

This sounds very exciting.

This sounds very exciting. How soon do we get a build, and how many events are you at right now?

I just had some fun a while ago calculating relative distance without the use of absolute value functions, or square root functions. That was fun.