Nice to see #TRBOT have good ideas again about actual public transport solutions.
Fare and service integration is so critical, not just free transfers (and including UPExpress). This includes sharing and coordinating timetables between agencies and common timetable change days to keep in sync.
RE: https://bsky.app/profile/did:plc:ecvmda6a65qml7f4rh2dedbo/post/3mfrm45nk222w
#trbot — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #trbot, aggregated by home.social.
-
-
I've been working on a game controller display in #godot. It's inspired by the design of the excellent OpenJoystickDisplay, which was retired long ago.
https://codeberg.org/kimimaru/collabplayinputdisplay
Most controller displays I could find are based on web technologies, which is dependent on web APIs. As a result, they don't work in cases like #TRBot which can have multiple virtual controllers with a similar name and ID. I wanted to make a controller display using native technologies, and Godot was a perfect fit. (1/2)
-
Finally, a long-awaited feature players on #type2play have been asking for, which wasn't possible until now: permanent holds! Using the prefix modifier ^ it'll never let go of the input unless explicitly told to. This is useful in games like #supermariobros or #banjokazooie where you hold down a button to move faster. Players would get around this by holding the button for a very long time (~2 minutes), but with this it'll no longer be required!
-
Next up is linking with macros! Internally, what this does is simply put all the macro inputs into a grouping. As a small optimization, macros with a single instruction (standalone or linked OR a grouping itself), are not put into a grouping to speed up the processing done by the input handler.
-
Long time no post. The #rust TRBot lexer is feature complete now, and I ran a few tests with the #type2play community to test how well it works. There was a desire from players to use the old syntax, so I ported the legacy parser from #csharp to Rust and implemented a way to convert new inputs to old on the flly. This will help gradually ease players into using the new syntax.
Yesterday, I added the first new feature - linking repeated inputs with other inputs.
-
After the parser is done, my plan is to write a validator that uses data from #trbot to map the inputs to buttons and axes on virtual devices.
Before starting this, I already took a dive to refine my #rust skills by writing native virtual devices using #evdev-rs that can be plugged into TRBot at a later time: https://codeberg.org/kimimaru/UinputVirtualDevices
I have yet to implement the wrapper for vJoy, but I'll be prioritizing uinput and #gnu / #linux as that's what I use and run my Twitch Plays streams on.
-
The #csharp version of TRBot uses a big regex for the syntax, which has worked for a long time but also issues. If there's an error in the syntax and the regex doesn't pick it up, there's no way I could indicate what went wrong.
For this new approach, I took lots of learnings and inspiration from the excellent Crafting Interpreters: https://craftinginterpreters.com/
The requirements for #trbot are different, but the concept is similar. There's more work involved, but I also have much more control.
-
I've been inactive here over the past months, but I've been keeping busy.
I exported most of the #twitch highlights on the #type2play channel to YouTube. Twitch should've given more than 2 months after the 100hr limit announcement.
I've been hard at work on a proper lexer for #trbot written in #rust. The scanner is done and the parser is just missing macro support. Already 300+ unit tests. I made syntax changes for the better. However, there's nothing usable yet. Link: https://codeberg.org/kimimaru/TRBotSyntaxLexer
-
I've considered rewriting #TRBot in another language, given how #csharp is still non-free after 10 years (https://github.com/open-dotnet). I don't have high hopes for its future so long as it remains controlled by #microsoft.
I've been looking at #rust for its high performance without the memory management of #cpp. One feature I need is the ability to execute custom code (https://codeberg.org/kimimaru/TRBot/src/branch/master/Wiki/Custom-Commands.md).
Would #lua bindings with rust be a way to do this? Open to suggestions!
-
I decided to do some more work for #TRBot today after a while. I use VSCodium with a C# extension that turned out to not be working well after all this time.
So I thought I'll upgrade. What did I find? To make the newer C# extension work, you need ANOTHER extension, and the C# extension has turned from #freesoftware to #proprietary garbage. In the end, I didn't manage to get it working at all.
Lesson learned: stay far away from #csharp. And also anything #microsoft makes while you're at it.
-
It's been a while, so have a collaborative play stream! Come join us play Super Mario Odyssey collaboratively through text at Type2Play!
https://www.twitch.tv/type2play
Now you can also play on our #matrix room at Type2Play Game Control - however, the stream is on Twitch.
-
#TRBot is mentioned on the latest This Week In Matrix (#TWIM)!
https://matrix.org/blog/2023/06/30/this-week-in-matrix-2023-06-30/#dept-of-interesting-projects
With the latest 2.8.0 release, TRBot supports playing video games collaboratively through Matrix rooms, and with the help of Matrix bridges, **many** more platforms!
Happy to bring more value to the Matrix network!
-
#matrix integration in #TRBot is going really well! Here's the first signs of life. The integration has been extended to TRBot's #chatdisplay, enabling incoming Matrix messages to be displayed on a stream!
Soon it will be possible to remotely & collaboratively play games through text in Matrix rooms! 😃
-
I was playing #eastward and farming Pixballs, when a bulb in my head lit up. Why not use #trbot to farm for me? So that's exactly what I did.
#gaming #indiegame -
Type2Play is live with a Twitch Plays of Pikmin 3 Deluxe using #TRBot! We're currently at Day 1 with plenty of adventures awaiting us!
-
Working on a new #freesoftware #Matrix SDK for #csharp, primarily for use with #TRBot. Unfortunately, I couldn't find many well-maintained C# SDKs to begin with, and the ones I've tried simply didn't work for me.
-
#TRBot is software that allows for playing video games remotely and collaboratively through text.
Check out our roadmap for version 2.8.0, which includes playing games through #matrix rooms: https://codeberg.org/kimimaru/TRBot/projects/2744
-
#TRBotChatDisplay v0.2.0 is finally released! Now you can display chat messages from #TRBot onto your stream in a simple and streamlined way!
This release transitions the application from Eto.Forms and #csharp to #qt and #cpp. As a result, it's lighter, truly cross-platform, and has more features than before!
Check it out! https://codeberg.org/kimimaru/TRBotChatDisplay
-
#TRBot will remain in C# for the time being. There is a technical hurdle switching to C++ or another language with all the libraries it depends on.
Rewriting it in another language is an enormous effort, and I need to do extensive research to figure out how to convert everything.
However, it's not a priority at the moment. All of my new projects will be in a non-Big Tech-run language unless I have a really good reason to specifically use C#.
-
#TRBot 2.7 is out, featuring many quality of life features and improvements for hosts and players! Oh, and the README has been revamped as well 😁
-
Someone shared their heartwarming use of #TRBot!
Quote (with their permission):
"I use it in two ways.
1: To stream some twitch plays while I chat with chat. This often coincides with reason for
2: I have chronic pain and can not play for long without breaks and am always in danger of damaging myself. This program let's chat or my friends play for me :D"You'd never expect how software you write can be used by others. All the more reason to promote #freesoftware!
-
@gamingonlinux Thanks for sharing - this looks so cool! It reminds me of playing games through #TRBot 👍
-
Hey fellow #gamedevs! Have you considered adding features catered to streamers?
One feature might include exposing game information over a local WebSocket, like party info and game progress. This can then be displayed on a stream so viewers can immediately see their progress in your game!
#TRBot is software that allows anyone to easily host remote collaborative play, allowing viewers to control your game through chat. Think of TwitchPlaysPokemon but with a robust and intuitive syntax!
-
The first version of #TRBotChatDisplay is out! TRBotChatDisplay is an application that can display messages from TRBot onto a window, which streamers can put on an OBS stream. Benefits of TRBotChatDisplay include seeing which service a message came from, highlighting input messages, and more.
Repository: https://codeberg.org/kimimaru/TRBotChatDisplay
-
The TRBot Chat Display is coming along slowly but surely. Here's some of it in action 😃 Working on preferences right now to maximize its robustness for hosts.
-
@unfa @swashberry Unfortunately, I don't know how it can be used in Godot, but I use the Zenject framework in my day job in Unity.
The basic premise is to simply pass dependencies over to whatever needs them from outside. This is also known as Inversion of Control (IoC). In my own free/libre project, #TRBot, I use manual dependency injection (Ex. no frameworks).
-
Day 1 on a new custom chat display for #TRBot, uncreatively called TRBotChatDisplay. What you see is it reading event data coming from TRBot through a WebSocket. Written in Eto.Forms for cross-platform goodness 😀
Lots of possibilities here, including marking valid inputs in different colors and showing which platform the message comes from.
Stay up to date with the project: https://codeberg.org/kimimaru/TRBotChatDisplay
-
#TRBot 2.6.0 is released, featuring XMPP support and many other goodies! Take a look at the release on notes #codeberg 😃
-
XMPP multi-user chats are now functional in TRBot 😃 This makes collaborative play over XMPP a reality!
But I'm not done yet! Next on the list is BOSH so TRBot can run over Open Streaming Platform and PeerTube. If you know anything about how this works, please let me know 😁
-
Initial XMPP support for TRBot 😀 Here's me controlling the game by typing in a chatroom with the bot on the Gajim client.
The endgoal is to also support multi-user rooms and chats on Open Streaming Platform and PeerTube, both of which use XMPP/BOSH.
-
TRBot 2.5.1 is out! There's a minor fix for the IRC service and a new system-wide install option (mainly for inclusion in package managers).
-
#TRBot 2.4.0 is finally released! Lots of new improvements, such as an event dispatcher, new features, the usual performance improvements and bug fixes.
https://codeberg.org/kimimaru/TRBot/releases/tag/2.4.0
There are some breaking changes with custom commands and routines, which the documentation covers. Fortunately it's not much work to convert them.