Hi guys, thanks
I wonder what will happen if you set fps_max to 25 and then to 100, though.
To my surprise, as it was something I soon intuitively wondered, fps_max have no noticeable effects on the diverse mecanisms. Even for the fanciest designs that emulate responses above the maximum laser trigger delay. Even on those that are calibrated with very specific angular velocity decimals. That's more than excellent news, if I may say.
These are classic fundamental projects I gave a shot to past July (2018), the goal always being to use as few entities as possible. I don't know what the record is, but the count is pretty low. Sometimes close to 50 for very complex devices. I'll post the source this week for your own curiosity.
In a nutshell, I used angular velocity with holed reels. The reels are env_beam start entities and point on func_button that are hidden until a pie-shaped hole passes over it. It sometimes require the reel to move back at a specific place to re-use env_beams.
The other notable design is the lock mecanism. It's used in other projects I haven't made a video for (basically, you have to enter the right combination and it unlocks the rotary lock. It's the poor man's numpad, but wayyy leaner in term of entities.) and for the slot machine. The idea is quite simple. It's basically replicating real life rotary locks, like you use to lock your bike. There's a laser on the side that will hit the other side only if all holes are aligned. Simple to the point I'm surprise not to have seem such kind of device before.
The slot machine use a system of func_trains which can stop at a node to create randomness... It works with a random env_beam. I don't have the exact design in mind.
One challenge I had is to allow the reels to turn backward for some devices. I basicaly make the reel stop at a path_corner longer than usual, to allow it to do a complete turn minus 2 digits. In the meantime a func_wall hides the reel which would appear as if doing free games.
All is about calculating angles and a lot of calibration (had to create a makeshift calibration device) as it's not perfect. However, when you get the right values, the devices keep a steady, reliable behavior. I calibrated to guarantee 100 rotations without deviation which can give you an idea of the time I spent on it.
Another challenge was the tenth of a second counter which required a laser trigger delay that is faster than the engine's maximum. I managed to make the thing work, by moving the triggers and reshaping the hole within the reel. The changes didn't make any kind of sense. I managed to find a configuration that worked by trial and error.
This is part of the useless stuff that I did as a caprice. It was very fun though.
I expected using these devices as part of Forgotten Bunker 3 and revealing them only at that time, but after these implementation I got very busy in life (got married, lost my job, started my own company). I don't know when I'll have time mapping and perhaps whether I'll feel like it eventually or not. At least those prefabs won't go to waste.
P-S: ... I also created other devices such as a text display, which can be nice in-game. Like people could write nasty words on a scoreboard and get banned of servers from it. Nice!
P-SS: The timer rest button was such a pain in the ... to implement. Especially with the self-inflicted constraint to re-use entities to the max.