Professor Nader "Welcome to the URealms Forums! Please make sure to read the rules before posting!
Your posting ability may be restricted for the first 24 hours!"

[BETA] Babble Buds- A Virtual Puppet Show Program

edited September 2020 in Custom Miscellaneous


Original Post:

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!

Here's a nice screenshot of what the whole thing looks like:

Credit to @TheGravyNator for the awesome puppet on display here.

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 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 so awesome :wow: It's amazing that you put so much work into it and are sharing it into the community, that's what makes this community so great. This will make fan campaigns even more awesome :D
  • Damn good!
  • Have my children...
  • I might have to give this a try, I wanted a little animated character to have on my screen when I stream :dank: 
  • edited May 2017
    that would so adorable @Sixelona ;!!!

  • 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.
  • Amazing work!
  • This is exciting! I'll totally play around with this when I can! :smile: 

  • is this usable in the same way rob does
    having it so multiple people can all see each other puppets.
  • edited July 2017
    @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.
  • do you think something on the line of Hamachi would work
  • This is really amazing. Great Work!
  • 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.
  • Fair enough il try it on Hamachi later and il say whether or not it works
  • is there a way to flip the assets? Trying to make a puppet using the kenney bits and realizing there are only left arms...
  • Yeah I actually manually edited assets to make the demo puppet in the kenney pack. I literally just implemented flipping into the editor, It'll be in the next release.
  • where's that like button when ya need it (kidding rawb don't hurt me it's a joke from another forum)

    Thank you! I'll use one of the standard characters for now, this seems like it'll be a ton of fun!
  • This is literately a godsend. Words cannot describe how grateful I am right now.
  • This is really awesome! Going to use this in my games now.  :smilebold: 
  • 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. 
  • edited May 2017
    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 :D )
  • Loving it so far m8! Keep up the good work!

    Already working on a custom puppet!
  • omg this is awsome
  • Oh goodness. Something new for me to play around with. This could be a lot of fun...
  • Rob
    edited May 2017
    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?
  • I'm probably going to sound dumb by saying this, but I'm confused as to how to actually create new props and or add in a puppet of my own. Am I supposed to make it outside of the program? 
  • edited May 2017
    @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: 
Sign In or Register to comment.