[BETA] Babble Buds- A Virtual Puppet Show Program

Hey guys, I'm sure most of you know about Puppet Pals, Rob's in house software they use to make the puppets you see in the live show. A lot of you probably also know about Marionette Mates, a open source version based off the season 1 version of puppet pals. Well this is Babble Buds, which was based off the season 2 version of puppet pals and with that offers you tons of awesome stuff, most notably an integrated puppet editor.

It's been awhile, but beta has finally been released. There are still some features I want to add, but its really close to feature complete, and relatively stable. There may still be bugs, but let me know about them and I can patch them up pretty quickly.

Let's start from the top. Babble buds is a free, open source virtual puppet show software. It is heavily
based on the non-public software called "Puppet Pals", used in URealms
Live. The software is written in javascript using a rendering library called PIXI.js and a tool for creating cross platform programs called electron.

Users can create puppets with different faces for different emotions,
and then use the puppet on a stage where you and other users can each
make your respective puppets move, change emotions, and "babble" at each
other. The stage has a green screen feature and can be popped out,
which gives the users tons of possibilities in terms of using the
program for a role playing live stream, faux video chatting with
friends, game development, or whatever else you want!

You can download the project right now on github: v0.8.2-beta. Being on github, you can also help out on the project, if you so choose.

By default when you use the "multiplayer" panel you'll be connecting to a server I'm running at babblebuds.xyz. This should be fine for most people and makes connecting to others super convenient, but if you'd like to use your own server and have the knowledge to do so, you can find the source code on the github page, and then you and the other players just need to put the new server IP/port in the "settings" panel.

I
realize some of that sounds complicated, but fortunately you only need
to do most of it once. For example, after you've found the IP you need
to use, that gets saved in the project file so you don't need to find it
again.

This is embarassing, but there was a bug preventing you from saving new puppets. I just patched it, I'm sorry if anyone already downloaded it you're gonna need to download it again if you want to create new puppets.

@bake Absolutely! In fact, it has support for as many puppets as you want, and you can configure how many positions (e.g. Rob uses 5) there are for puppets in the "project settings" tab.

Here's how you can connect to other instances of the application:

To connect to other instances on the same computer, leave the IP address set to "localhost" and just open the application a bunch of times, press "Host Server" on one of them, and "Connect to Server" on the rest.

To connect over LAN (e.g. two people in the same house), have one person press "Host Server", and find your local IP (generally in the format of 192.168.1.XXX). Other users put that IP in the "Server IP" field in project settings, and then press "Connect to Server"

You have three options for connecting to people world wide:

One user can port forward port 8080 (or whatever port they prefer, its configurable), press "Host Server", find their global IP (google search "what's my IP?" and google will tell you this), and the other users put that into the "Server IP" field

You can use hamachi, and have everyone connect to the same hamachi room. Then one user presses "Host Server", and the others will plug in the IP address for that user, as given by hamachi, into the "Server IP" field, at which point they should be able to connect.

If you have a server running somewhere (through AWS or Azure or something), on the github page there is a "server.js" file you can run that will host the server for you, and then people just connect to the IP of your server

I realize some of that sounds complicated, but fortunately you only need to do most of it once. For example, after you've found the IP you need to use, that gets saved in the project file so you don't need to find it again.

I haven't tried Hamachi, but I see no reason it wouldn't work. Personally I use a free tier AWS instance when I'm testing it out with friends, but that is probably a bit more difficult than hamachi for those unfamiliar with linux and ssh.

Nice work! The puppets is one of the things that helps make urealms so engaging for me. It taps into what I loved about minecraft lets plays, with how unique the skins could be the characters were so easy to recognize and be expressive.

All those hours wasted in Marionette Mates XD Ah well, I can still use my puppet stuff in here. This looks way easier to implement, and I don't have to set up all the puppets for my buds! (If I get my JavaScript game on in a big way, I might even be able to help around a bit )

You CANNOT use URealms puppet assets for this project whatsoever as you do not have permission to distribute them. This really should've been obvious considering those images are not released anywhere officially by us.

I have removed the link and screenshots until you fix this as you cannot release our work under public domain dude. What were you thinking?

@Rob wouldn't it have made more sense to take the thread down and persoanlly message the paperpilot? I get what the problem is, but putting them on blast despite the work put in can seem a bit...hurtful for lack of better word

@Rob My bad, I was operating under the assumption that since Marionette Mates was using the assets without issue that anyone could. I've gone ahead and removed every single URealms asset from the project (from history, as well), as well as taken down any download from a release before having removed all the assets. I hope that will suffice, I would like to assure you I had no intention of causing any issues. Just in case that doesn't suffice, I'll hold off on putting the link back and a new screenshot.

Also, anyone that downloaded it already, I've updated some stuff (including flipping assets) so the updated release has some new features in it.

If you'd like some help with some custom assets for the program I could possible upload some when I got a decent amount of them! Rough concept of mine, all assets drawn by me,Its a little awkward thougb w/o sound: