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!"

[ALPHA] Babble Buds- A Virtual Puppet Show Software

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.

This is still an ALPHA version. Beta is just around the corner, but for now I must stress that, being an alpha, the program is not feature complete and still has quite a few bugs to work out. That said, it is usable, and a lot of fun. The only major feature I have left to implement is a thing called an "asset bundle", which allows you to, for example, create a bundle for Deadbones' head, which you can then place on any puppet without needing to manually set up all the emotes and other various things.

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 distributed as an electron app.

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.6.0-alpha. Being on github, you can also help out on the project, if you so choose.

It can be a bit complicated to connect to other users (but no more than it would be for, say, a minecraft server), so here are some basic instructions on the various methods you can try:
  • 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.
«1345

Comments

  • 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 8
    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 5
    @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 8
    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
    Rob
    edited May 9
    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 9
    @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.