Python/Java/JavaScript to Gimkit Conversion

Hello, so this is really for the coding nerds, but is there anyway to convert any sort of coding language (Specifically python) to a Gimkit creative lobby. While this may be impossible, this might just be able to replace block coding for people who are more experienced in Text Code.

Tell me if you have any ideas, thanks!

4 Likes

Not easily, and I’m not sure about python, but I do know Blackhole completely made BF (I can’t type the whole name, sorry) in Gimkit. It’s how we know Gimkit is turing complete.
That’s all I know though.

2 Likes

You Could…
but don’t.

So, you would have to find every instance of print() in the text, and then you have to find the letters inside the print(), so that when you “run” the code, you output that. Not to mention \n or \t or \v or \ " or \ '. AND THIS IS JUST FOR PRINT.
You could, but why would you?

2 Likes

This has already been done for Javascript. A gimloader mod for converting it to gimkit block code exists, made by ash_wag_and_hae if i remember the name correctly. I dont know where the link to it is, but it should on his github, and its probably floating around the tgtc server somewhere.

6 Likes

I’m not talking about mods, I’m talking about 1:1 conversion made from devices and whatnot. I don’t even think this is possible, nor am I going to spend thousands of hours trying to figure out how to make a solid game playable using Pseudo-Code, much less how to make a solid letter work.

Purely Hypothetical.

If ya’ don’t have the proof, don’t post it.

Not a great mentality to have, we should problem-solve, and problems such as these are great to ask for continuity.

I want to preface this by saying that with mods, as Blueboat stated, you could convert to block code, and that would likely be your best bet, especially if you want a system that only converts a language to Gimkit – I will be explaining some of the nuances, however. I also looked through different guides for some of the information and examples which I will link at the bottom and when they are used.

As for the question, strictly restrained by vanilla Gimkit pre-game, the first problem that arises is the computability. If we wanted to map programs in a language such as Python into a system in Gimkit with devices and block code to a language such as Python, we would have to determine if it’s Turing-complete, which apparently has been proven before.

Also, Gimkit can clearly be expressed as a Lambda Calculus.[1] For now, to see Gimkit’s properties contributing to its Turing-completeness easily, Properties can act as variables storing data,

Counters can increment/decrement by 1 allowing for addition and subtraction [2],

Checkers allow for conditionals,


and Wire Repeaters, Repeaters, and devices that contain channels in which they can trigger themselves, like Triggers, all account for loops.

With block code, it’s easier. So, it initially seems possible.

Accounting for memory and device limits, however, if the memory of the program exceeds that of Gimkit’s (which I learned was 100,000), it cannot run the program, meaning that not all programs can be mapped into Gimkit. Some individual parts of Python code would require multiple devices or extensive block code.

When we look at cases such as lists,[3] the efficiency and memory issues are still notable to that of recursion.[4][5] In Python, looping and recursion can use stack-orienting programming techniques[6] and indexing which essentially moves from A → C, whereas Gimkit does not have special techniques and has to move from A → B → C.

Though, I will say, theoretically, it could be possible, in practicality, it wouldn’t be efficient and applicable always due to memory and device limits – usually preventing most problems in Gimkit that require replication.


  1. Lambda Calculus : “Programming with Math | The Lambda Calculus” ↩︎

  2. Subtraction in Counters : Comparing Counter-Properties ↩︎

  3. List Workaround : How to make lists ↩︎

  4. Mentions recursive cap : Recursion 101 ↩︎

  5. Updating Recursion Computational Limit : Breaking the recursion cap ↩︎

  6. Stack-oriented Programming : Stack-oriented Programming ↩︎

15 Likes

But if this is incredibly difficult and tedious, and likely impossible to build within the bounds of creating a Gimkit map. Rather, creating a version of this should be compressed into a smaller amount of functions due to the memory and device limit, similar to what you said.

I would supply a different approach of doing this:

However, what if a number keyboard was made, either using triggers or zones, that appeared on the screen… (while using a camera point) let’s say in the bottom right corner.

Different sets of numbers and commas would represent different functions and their parameters, which would be very difficult for the user to remember, so let’s add a camera point in front of a screen, showing the user what they are doing. A counter correspondent to the line the user is editing will have a target of 50 to show what line the user is editing.

There would be a button to run the code, one line would run 0.01 seconds after the other.

I work some more out later.

2 Likes

Memory would also be a huge problem. With the multitude of devices this can cause a real problem, as rigormortis said.

We’d also have to find an input/output system. Connecting the two to the code would be a struggle well spent in vain with likely no possible solution.

As well as two tokens having to connect to each other. They’d have to find the appropriate token and then run the code. With this, we’d have to make a “web,” of sorts. Each strand in the web would have to find something that connects the token for it to run properly.

Finally, of me trying to sound smart as if I know what i’m doing, the code would have to run,the biggest struggle. The line of code would have to simply work on an object. Because sure, we can write the code and get it so that it’s incompatible If the code doesn’t work, but it’s another step to making the code actually work on an object and have an outcome based on the given code.

If that made no sense to you smarter ppl, sorry lel.

3 Likes

When I see anything that has to do with java or python I think we are trying to learn how to exploit cuz I used java to exploit on a different website
u guys are probably just chillin…

lel…

Yeah, this is for creating some kind of engine in game that recreates standard coding languages or something. I’m not really sure of the use. I know there’s a plugin on Github for Gimloader that does Javascript to block code but this is in game from what I’ve seen.

Just use a simple keyboard for that, but how about you have to use a certain keybind to confirm each letter.

(hi blackhole rigormortis)

If your talking about the input sys, I mean like a designated spot for the code to run.

and the keybinds may not work since Gimkit doesn’t have keybinds. But other shortcuts may apply.

1, 2, 3, 4, 5, R, and enter. They all can be created. (enter would be a good keybind to confirm your letter.)

My f key is hal functional so I may make random typos lol