SamuKata
Lu Wilson
Lu Wilson

patreon


Lost in Transit

This week, I finally released the new video! I hope you enjoyed it! Here are the other updates from this week:

Lost in Transit

The last thing I needed to make for the video was: Connecting my phone and desktop. To start with, I just copied over the code from the desktop-laptop connection. However, this didn't work. It produced a weird effect where bundles of sand didn't get transferred properly. Only the first layer of sand got sent over.

I tried and tried to fix this, assuming I'd find a typo somewhere. After all, it was working fine for my desktop-laptop... right?

Except, it wasn't. I looked closer at what was going on with the desktop-laptop connection. And... I realised that it also had this bug. It was just much less noticeable because of how the GPU engine made the sand more likely to separate (avoiding the sand bundle bug).

Sand was getting 'lost in transit' between my devices. I needed to fix it. This is what caused the video to be delayed by two days.

Thankfully, I found out what was going wrong. This was the conversation happening between my devices.

Phone: Hi desktop! I'm giving you a sand atom in position 153.

Desktop: Ok, thank you. I have received the sand atom for position 153.

Phone: Great. I now know you've received the atom in position 153. Get ready for more sand atoms.

Desktop: Ok, I'm now ready for more on position 153.

Phone: Hi desktop! I'm giving you a sand atom in position 153.

etc...

That seemed ok to me. But the problem was... This was sometimes happening instead:

Phone: Hi desktop! I'm giving you a sand atom in position 153.

Desktop: Ok, thank you. I have received the sand atom for position 153.

Phone: Great. I now know you've received the atom in position 153. Get ready for more sand atoms.

Phone: Hi desktop! I'm giving you a sand atom in position 153.

Desktop: WOAH! You didn't give me a chance to get ready! So rude!

Basically, the top device wasn't waiting for the bottom device to confirm that it's ready. This means multiple sand atoms were getting placed into the same space, causing them to disappear.

To fix this, I needed to make the devices send more messages to confirm that they're REALLY ready.

By the way, the code for the tiles engine is VERY MESSY but it's all in this folder: github.com/l2wilson94/BigPond/tree/main/9tiles

ScalePond

For the video, I coded a little thing that visualises different engines sizes. It draws lots of little rectangles to gradually build up each world. As it progresses, it removes small rectangles and replaces them with bigger ones. This lets it look like it's drawing millions of rectangles (because really, it's only drawing one big one).

The silly thing is... In the video, the atoms are so small that you can't even see them! So maybe making this was for nothing. Who knows.

But I did enjoy making it! The code is available here: github.com/l2wilson94/ScalePond

TimePond

The next video vote currently has Time Travel in first place. I'll still wait for a couple more people to vote, but I should probably start making the TimePond engine just in case!

My vision is that it will be an extremely simplified rigid body engine that lets you place and drag different objects around the place. I mean, REALLY simplified - objects can't rotate, only move. This will let me focus more on the time travel mechanics, without being bogged down in all the weird edge cases.

Different objects will be available from a menu bar at the top. This includes some simple physics objects like platforms, walls, and frogs. It will also include different 'time machines'. And it might let you switch between different time travel 'rules'.

I've started the barebones of the engine. It's mostly empty still: github.com/l2wilson94/TimePond

Thank you very much for your support. You are helping me to make bigger and better things!


More Creators