Logic World Wednesdays: Beam Me Up, Bobby

by @MouseHatGames 2020-04-22

This week we have made the unfortunate decision to postpone the release of Logic World… again. The new, and with any luck final, launch day is June 12. Read more in the official announcement.

Player Positions - Jimmy

This week I finally added a big missing feature to Logic World: when you exit a world and then enter it again, you will now be in the same location you were when you left. This also extends to other player position values like the direction you’re looking in, whether you’re crouching, and whether you’re flying. Each player now has their own file within a world folder where their data is saved. This opens the door to persisting more player values, such as which items you have on your hotbar.

I also added save-dependent world spawn points, which is the location a player will be in the first time they join a world.

Finally, I added commands for teleporting players to different positions. I couldn’t resist the opportunity to do something fun with that…

I’ve open sourced one of the tools I used to make the teleport effect.

Build pipeline - Felipe

This week I’ve been working on finally finishing the build pipeline, it can now successfully build the Unity game and publish it to Steam!

build shit.png

Fun Spinny Triangle - Jimmy

By popular request last week, I added a setting to choose the open state of the Quick Color Chooser. This new setting was all by itself in the “Color Choosing” settings heading, and I decided it needed a friend.

Enter Fun Spinny Triangle, the best setting ever added to Logic World.


We’ll keep releasing these weekly updates right up until the game comes out. To make sure you don’t miss them, you can sign up for our newsletter. Be sure also to wishlist Logic World on Steam and join the official Discord.

See you next Wednesday!

More Logic World Wednesdays


18 comments
@Ecconia 2020-04-23

I heard teleporter teleporter, but wouldn’t it be nicer to have a sever-command-component? Which issues a command when certain permissions present? An explicit teleporter component would well not allow this feature.

However always consider that either of the two components is a bad idea when connected to a rapid clock. I see bad boi potential. There should be a ways for the client to ALWAYS refuse teleporter component teleports. (one issue with server command components).

Also any action the user is currently making whatever it is, should not be interrupted by an external server teleport. (Dragging stuff :O, Currently resizing, maybe). Maybe add an undo function to the client, once he got teleporter externally. For seamless continuing of his/her work.

@Jimmy 2020-04-23

If a server is abusing their ability to teleport players, then maybe you shouldn’t play on that server? I don’t see the need to give clients and servers tools with which to fight each other. If a server doesn’t like what a player is doing, it can ban that player; if a player doesn’t like what a server is doing, they can leave that server.

We almost definitely will not have a command block component in vanilla. Commands are not intended to be part of the machines you build. However, this would be a very easy mod to make.

@Ecconia 2020-04-23

I am totally fine with not issuing commands from the logic-physics level. Makes a lot of things easier - its a complex thing to add - as in to add it properly. I agree on this being a mod.

However I don’t quite agree with your fighting statement. It is correct that normally you should not teleport someone randomly. But that will always happen, and there is enough chance for that teleported user to just drag something. You should consider this. The most easiest fix is to just abort that users action.

I agree that a teleport undo might not be the best solution, rather the one I just suggested (if its not already a thing). But yes, every action should properly react to a teleport - regardless of intentional or unintentional harm.

But however sometimes you want to drag a component AND teleport with that component! Idk? I didn’t have the chance to play the game yet, but might be possible no? Or is the distance too great for that? Is there even a maximum limit for wire length? Dragging a wire with teleports -> tasty

@Ecconia 2020-04-23

EPIC effect!

Looking on the long term view of LW I assume there has to be done a lot of backend/API work to support adding server/client permissions to commands and basically any action.

Hmm, but tricky topic in our not-anymore favorite game MC, vanilla commands cannot be removed from the game if, you don’t remove them from Sourcecode. Further they fully bypass the API (I hope what ALL LW commands can do, is possible via the API!). It should be possible to remove whole commands or fully make them invisible and or just replace them.

Give the users all the official freedom they need. Don’t let the modders introduce frameworks -> provide them. (Although you basically already denied a region framework. [For servers]). Maybe ask your future modding community of what they expect from the game :) [Low level frameworks or at least support for them is always nice]

More commends regards this topic, once I have the game. It’s difficult to gather information about it.

@Jimmy 2020-04-23

Currently permissions work like this:

  • You can always run commands on your game client
  • You can run commands on the server only if you are an admin on the server

And yes, as far as I know every command in the game has corresponding functionality in the modding API.

Why do you think mods should be able to remove commands?

@Ecconia 2020-04-23

or fully make them invisible

Imagine joining on a server and trying commands, resulting in only 3 work. Why not give the client the possibility to know which commands are available? Handy with completions! Afaik there is some help command which prints all commands. A good place to color commands weather they are available or not.

-> Can be fully solved with permissions. Removing commands would just be a last resort hacky solution, if the permission system is not doing a good job.

[Keep in mind this is all post-release thoughts - won’t expect anything related to this for V1, same for my other comment before.]

@Jimmy 2020-04-23

Right, okay. For 1.0 we’re mostly targeting small servers between friends, where such a rigid permissions system isn’t necessary. But this is definitely the kind of thing I want to do in the future.

@Jimmy 2020-04-23

Okay, at y’all’s request I have added several variations to the teleport command. Each of these has a command on the client that lets you teleport yourself, and a command on the server that lets you teleport a specific player.

CommandArgumentsDescription
tp<x> <y> <z>Set absolute player position
tp<playerName>Set player position to the position of another player
tpr<x> <y> <z>Set relative player position
SetAllPositionData<positionX> <positionY> <positionZ> [headHorizontalRotation] [headVerticalRotation] [playerScale] [flying] [teleport]Set every aspect of the player’s position data

cc @Broyojo @cmoa

@woox2k 2020-04-23

I hope you remembered to offset player to player teleport. You wouldn’t want to teleport inside someone. Also you should be facing the target player so you wouldn’t need to look for them.

@Nik 2020-04-23

well LW now has the ultimate color chooser of any program.

Also the ultimate teleporting effect of any game.

These devs don’t just add features to their game, they add masterpieces. lmao

@Jimmy 2020-04-23

Aww thank you 😄

@Broyojo 2020-04-22

can you teleport to other players?

@Jimmy 2020-04-22

Oooh I totally forgot about that – thank you, I’ll add this!

@cmoa 2020-04-22

and can you teleport other players (to you) ? relative position and camera angles would be cool as well thx (waiting for someone to make a cinematic mod out of that)

@Jimmy 2020-04-23

and can you teleport other players (to you) ?

So, there are two teleport commands: a client command for teleporting yourself, and a server command for teleporting other players (that’s what you see in the video). If you’re an admin in a server, you can run server commands from your client. So an admin could teleport another player to themselves.

relative position and camera angles would be cool as well thx

I’ll add an advanced version of the teleport command that also sets looking direction, player scale and flying state :)