I am curious, has anyone attempted to implement a software simulator for the TT board?
It would be interesting to have a syntax for board states and a simulator to run through them. Anything like this out there already?
I am curious, has anyone attempted to implement a software simulator for the TT board?
It would be interesting to have a syntax for board states and a simulator to run through them. Anything like this out there already?
Yep, there’s this browser-based one, which people use for their posts in the Puzzle Solutions category.
It’s timely because I am implementing now.
This project is available on here.
The key feature of my emulator is that the board size is variable.
My project is at an early stage and any suggestions are welcome!
In my implementation, I’m using a syntax for board states as same as jstumble.
For example, the following text represents this configuration.
..B.....R..
...)...>...
..<.{...(..
.>.{*>.>.).
..>.).>.>._
...<.{.>.>.
..>.{*>.>.<
...>.).>.x.
....<.{.x.<
...>.{*x.<.
....>.<.>..
.....<.....
b.b.b.r.r.r
I think this is great syntax because simple and readable.
I’d be interested in seeing (in rough order of decreasing sensibility):
I might need to go make my own actually. X__X But I’m a C# / .NET guy, not too good with C++.
Edit: Actually, serious question for Paul and Alyssa Boswell: at what point is a simulator feature-complete enough that it could cause you problems? I don’t think anybody needs a decision any time soon, but I think you’re creating retail channel partnerships and you should be a responsible partner for them. If someone creates a complicated enough simulator, a lot of the attraction of the physical game goes away. Can you help us decide on a bright line to avoid crossing so we don’t hurt your business?
Looks very interesting! I’m happy to see it is cross-platform (via Qt). Good choice.
I’ll be downloading and trying it today.
Sounds good!
I think these two features are interesting and easy to implement.
I’ll try to implement these as “Puzzle Mode”.
This is awesome, OUDON! Wow! I’m excited to see where you go with this. I’ve been wanting to try out building more complicated things, and this could be a good platform to try them out on. Nice work!
mspencer, these would be really cool features. Don’t worry about hurting our business. If anything, I think making cool simulators like this would just bring more attention to it. That and…I think it’s just plain neat. So please don’t stop on our account. I really appreciate your thoughtfulness, though. I guess the only line would just be if you want to sell it, then we could talk and figure out some kind of sharing situation. I’m really excited to see what you come up with!
Is the assignment of ()
and {}
intentionally swapped? For bits it seems that the parentheses “points” the same way as the bit, whereas for gear bits the brace points the way the ball will go (which is consistent with ramps though).
Sorry, “this configuration” in my first post is wrong. the parentheses and the braces point the same way in TT (e.g. ‘(’ is for bits pointing left). So, the text
…B…R…
…)…>…
…<.{…(…
.>.{>.>.).
…>.).>.>._
…<.{.>.>.
…>.{>.>.<
…>.).>.x.
…<.{.x.<
…>.{*x.<.
…>.<.>…
…<…
b.b.b.r.r.r
correspond to the following board state.
This is great! I’m working on a software simulator as well, but it fills a different niche. It will run in the browser, and while also theoretically capable of handling large boards, it’ll probably hit the performance wall a lot earlier than your app. Hopefully I can post a link here within the next few weeks. I’ve got basic editing in place and am now working on the physics engine.
Proud owner of the kick-starter edition since a few days, and LOVE it! Our 7-year old now reads binary numbers fluently so that alone validates the investment. But much more to come.
Once I got my head around some of the basic structures (and that process is still ongoing) my mind starts to imagine bigger projects and that’s when the board is not enough. And that’s why I found this thread.
OUDON, I tried to install your project from Git hub but failed (Mac OS X). Do you have any tips on how to get in started? (I am a beginner on Github so I may make very simple misstakes). In the terminal window I get “Permission denied (publickey)”
And by the way. Would be prefectly happy to pay a licence, both for the software itself and to TT to allow perfect visual match to the original for example
Thanks so much, wiklander! That’s a wonderful compliment. I’m so glad you and your 7 year old like it.
I guess that the problem is occurred because of missing an ssh configuration. The easy way to avoid this problem is using an https connection instead of an ssh connection. So, please try the command git clone https://github.com/OUDON/emtumble.git
.
By the way, I am trying to upload the executable of emtumble (.exe, .app). If I succeeded that, you can use emtumble just by downloading the executable.
Okay it’s been two weeks, time to let people play with what I’ve been working on:
https://jessecrossen.github.io/ttsim/
The source code is here if you want to have a look:
Feedback of all kinds is appreciated!
BTW, your simulator has some kind of bug. If the ball rolls along the floor, the ball gets stuck.
Ah, I just tried the medium and large “standard” board configurations and I can see that the turnstiles are one row too high. I assume that’s what you’re talking about, but if not I’d love to see a screenshot.
Awesome. And since that is less than 20 characters, awesome again.
This is super cool!!! Well done, jcross! You made it so pretty, too. My favorite is when you add the balls to the hopper. They drop in the most satisfying way. This is really great. It makes for a great resource, too. Especially in a classroom, it could make a great demonstration tool. Do you mind if I link to it on the TT site as an educator resource?
OUDON - I know you’ve made one, too, for a different purpose. I’m excited to try it out when you have the executable ready.