Home Artists Posts Import Register

Downloads

Content

Another fun development post incoming! I'm still refining my new blog format. That's not my sexy voice by the way it's AI generated.

Anyways this week I worked on four things: Online Shop, drones, puzzles, and cables.

The online shop is the first website I have implemented for the project. It resembles a not-to-be-named website and offers basic site functionality to add stuff to your cart and checkout. You can specify which limb side to buy (right/left) and order in quantity.

After you checkout, the items you ordered will be delivered to you via drone. The drone is driven by physics as well and has a basic waypoint system to get to a certain place. It will drop off a box with your merchandise as shown in the video. I modeled and painted the drone model.

An interesting problem was making sure that all the merchandise you order fits in one delivery box. It's not possible if you order lots of parts so I may restrict how many objects you can buy at a time. If the parts don't fit they kinda explode from the physics trying to push them out of each other.

Then I worked on the first puzzle. This one was the most complicated part of the week because there are so many ways to create a maze puzzle. I don't think it's quite there yet but it has a good base to start with.

I started with a sketch:

The puzzle is supposed to resemble you hooking up your limb to your robot, so it's the inside view of a limb's cross section. And I wanted it to be maze. So first I made a random maze generator:

This part was easy it was just implementing A* without a goal and letting the agent run around randomly and saving the path. Then I cache the path that leads to the end from the start so I always know how to solve every randomly generated maze.

Next I started to play around with the maze shader and adding support for rotating any square of the maze. I wanted the maze puzzle to be something you have to rotate to make it work.

I then filled the maze with squares that you can rotate by clicking them. Eventually a certain rotation will open a path to the goal. The placement of squares however wasn't entirely random. I weighted the placement of squares only along the true path solution thereby guaranteeing a way for me to scramble the maze for the user.

After this I added controls so that I could make the puzzle less hard on the eyes. I trimmed away parts of the maze that weren't important.

The art background and cable decorations are AI generated by Midjourney. Saved me a bit of time! So that's where the puzzle is at right now.

Last thing I worked on this week was cables. The cable has two ends right now a USB and a head jack. The head jack can be hooked up to the robot head so that the PC can read it in the next fake website/program that I'm making, the RobotEditor.exe!

The cable was a fun problem to solve because it's not easy to simulate actual cable physics in Unity. I settled with a basic physics raycast along several points along the cable to simulate sagging and cable raveling:

Another interesting problem with cables was supporting changing the rigid bodies that are on both sides of the cable. When you hook it up to another body (connecting), the cable rigid body heads are actually combined into whatever bodies you hook them up with instead of just adding a FixedJoint. This improved the physics stability. Unity doesn't like chains of fixed joints, things get messy and glitchy.

The rest was just a matter of constraining objects with a linear limit to simulate a rigid cable constraining two bodies.

Fun stuff.

Stay tuned!


Comments

Calin M

Dude! This is exactly the gameplay mechanics of "my dystopian robot girlfriend". I love it!