Pesterchum Godot

Pesterchum IRC client made with the Godot engine 3.5, targeting desktop, android, and the web. Inspired by the QT Pesterchum client.
This project intends to replace Chumdroid (an old android client), as well as provide a universal experience across webbrowsers, phones, & desktops.

What's pesterchum??

From the original Pesterchum client repository:

Pesterchum is an instant messaging client copying the look and feel of clients from Andrew Hussie's webcomic Homestuck.

How is this different?

The biggest difference between Pesterchum Godot & normal Pesterchum are:

  • Support for android & web
  • Adaptive window scaling
  • A lot more powerful (but more complicated) theming options (Theme support is currently WIP)

You can view all pesterchum clients on pesterchum.xyz, they're all (mostly) compatible with eachother!

Open source

Pesterchum is open source & licensed under the GNU General Public License v3.0

You can view the source code on the gitlab here: https://gitlab.com/mocchapi/pesterchum-godot

So what's the state of affairs

Pesterchum Godot is wip right now, but the important stuff works
For a more specific & up-to-date feature list, check the TODO.md file

These things work:

  • Moods, Chumhandles, & colored text
  • Memos with time controls
  • Metadata protocol support!
  • Multiple profiles
  • Highly customizable automatic text quirks
  • Compact mobile view or expanded desktop view
  • Web browser, android, & desktop versions
  • Different themes (WIP) currently, pesterchum & trollian
  • Global user & memo list
  • Custom servers
  • Emotes (i.e. :brocool: becomes brocool emote)
  • Connecting over Websocket, TCP, & TLS
  • Chumrolls
  • IRC mode to make it more friendly to normal servers

Things that are currently missing:

  • More settings implementations
  • Saving pesterlogs to disk
  • Animated emotes
  • Message sounds
  • Many bug fixes

Post-v1/long-term goals (unlikely!!!):

  • Background processing for android
  • Publishing to android playstore
  • Push notifications

Things that will never happen:

  • IOS versions.
    Apple makes it incredibly difficult (and expensive) to develop software for their platforms, so unless someone has the know-how & the monetary resources to get it working and put on the IOS App store, this will not happen.
    You can however use the web build on IOS & add it to your homescreen, which should work.

Attribution

Fonts

Textures/images/art

Misc

This software and its "Pesterchum" and "Trollian" themes are inspired by the Homestuck web comic by Andrew Hussie & other and musicians

proper in-app attribution is coming pls dont sue <3

Download

Download
Windows 45 MB
Version alpha_9 Sep 14, 2023
Download
MacOS 31 MB
Version alpha_9 Sep 14, 2023
Download
Android 26 MB
Version alpha_9 Sep 14, 2023
Download
Linux 47 MB
Version alpha_9 Sep 14, 2023

Development log

Comments

Log in with itch.io to leave a comment.

(+1)

How did you make an IRC client in Godot engine?

i wrote the IRC library! if you want to use it you can find it in the source code on gitlab. contrary to the rest of the project i licensed it under MIT, so you’re free to include it on whatever mit covers as long as you attribute properly :P

do keep in mind that its not fully featured, but it has everything that pesterchum needs to work so all normal messaging functionality is there and such. ymmv etc etc.

(2 edits) (+1)

Which file would I have to download and put in my godot project? Anything that's a .GD file?

Edit: I just saw that the whole thing is in the addons/IRCClient directory, so I would have to add all the files.

yeah, u should copy the addons/ircclient directory into ur project as-is

What does the green star looking thing mean next to a tag

image.png if you mean this icon in the userlist, it means its a canon handle. its someone RPing as a character from the comics with the same handle as in the comics

(+1)

i managed to connect and implement my quirk!!!!! this is amaziiiiingg!!!!!!!!!!!

glad u enjoy :)

(+1)

this is nuuuuuts~!!! i just tried it on the phone! I'm admittedly not very savvy and i think i need someone to host a server that i can join in the first place, but ooooh my god!!!!! the amount of work you must've put into this, it looks absolutely amazing!!!!! I can't wait to see how it'll develop in the future, so excited for this!!!

(+1)

i have to admit this whole thing looks like pure magic to me! I'll be giving it a try on android if thats okay, thank you so much for putting the time and effort! it looks incredibly interesting!

(+1)

This is super cool! I was just curious, though, why are push notifications an unlikely feature? If its hard to set up or something I totally understand, it just seems like a foundational thing for a mobile chat client. I remember chumdroid having notifications, but thats like super outdated and nigh unusable now, so its just sort of a shame theres no way to get mobile notifs anymore. Great work either way though, dont want to sound too negative! 

(+1)

hi! thanks for using pchum godot

the push notifications thing is mostly due to what framework im using to build the app. I use the godot (game) engine, which is (as you may have guessed) mostly for making games. It just happens to be really chill and nice to work with for apps/software aswell. This + the fact that it works on a bunch of platforms (and so isnt optimized for phones specifically) means its not really intended for something like this. Through godot i dont have a way to easily access the direct platform integrations (like the android system libraries) which is required to make background notifs work. It is possible but quite challenging though.

Android is very picky about how your app behaves if you want it to do things in the background, which is why there is no ready-made fix for this kinda thing inside godot. there is a way i can make this work, and ive been working on it on & off for a little while now. It has some caveats like how i need to move some of the technical innards to the Java language and such, but i think i have a way to make it possible. Its just a very specific solution, and i have very very little experience with Java & the android libraries so i havent been able to make it work quite yet. i do intend to have the next update have background processing at the very least (so you don’t get disconnected when you leave the app) and i think if that works, notifications should also be possible.

thanks for the comment, and i hope this was a decent explanation :P

(+1)

Thank you so much for the explanation! I was more curious than anything, this explained it pretty well :D 

(+1)

Great work, hope to see this supported a while. Love that this exists, I remember when the OG app was around. I'm also really, really glad this is open source. If you could get the log saving to work, this would actually be really, really handy for roleplaying communities in general outside Homestuck. MU* engines are really old, with only two Telnet clients for such that are really worth mentioning. Thus: I am really excited to see this develop.

swag! if you have a desperate need for log saving theres the current up-to-date desktop client u can use on PC (https://github.com/Dpeta/pesterchum-alt-servers) otherwise yeah itll take a little while more until i can return to this project more actively :P (also, what is a MU* engine ‘w’)

(1 edit) (+1)

MU* refers to things like the earliest multiplayer games, "Multi-User Dungeons." The original MUDs were often based on Rogue, which is the origin of the term and genre, Roguelike. Over time, they evolved to include many more features and people came up with versions that centered around roleplay, sometimes called MUSH (multi-user shared hallucination), MUX, MOO, etc. The easiest way to refer to them became MU*. (The star symbol was used as a wildcard character, to indicate you didn't want an exact search on early computers.)

MU* usually relies on the same kind of telenet clients that power IRC, but usually have additional feature to support things like dicerolls and a room. PennMUSH, DikuMUD and Evennia are examples of clients for creating MU* servers. Evennia is the most recent one, powered by Python so you can actually understand its code if you are using GDScript!

Graphical MUDs were the precursor to MMOs and a few are even still in operation decades later!

In fact, Everquest, the first game to be called an MMO used DikuMUD under the hood and actually got sued by the college that maintained it for not giving proper credit and therefore breaking terms of service!

it zooms in  on text boxes on ios and i cant zoom out

:o[

bluhh sorry 2 hear :[ im not really sure if i can fix that, i dont have an ios device to test stuff with myself & i dont think godot gives enough control over the html output to really fix something like that, but i can certainly try look into it

(1 edit)

i think it has something to do with font size if that helps :o?

doesnt work on browser

hi howdy sorry to hear its not working for you, could you describe what happens/doesnt happen when you press the run button :? which browser & operating system youre on could also be useful if you dont mind