My first contribution to the community

I am too excited to wait. I have posted my addon for review on Asset Lib but it is available on Github right now for anyone to download and begin using in their project. After 30 years of independent game development, I am so very proud to present to you…

“Buttered Sausage” - a visual error/message display system with Result pattern for Godot 4.x.

Configurable chain UI animation, universal result class with the ability to return more than one message with severity, error message, and data payload. And much more. Check it out.

Edit: This probably belongs at the top of this post.

6 Likes

This is really amazing project! I also love the clean style your source code is written in. It’s clearly visible that you’re indeed a professional.

I would recommend you to post such an amazing contribution to the “Resource” section on these forums. Because it’s more suitable for projects like this.

By the way, sorry for the stupid question in advance (I am kind of bad in understanding how specific licenes work), should I give you credit in my game if I’ve used your addon?

Edit: This post provides incorrect information. Please follow the conversation and see my correction below.

I am so very glad to hear that. Buttered Sausage is MIT License. It is free and open source forever. You can use it however you want. You don’t have to give me credit. You can, but you don’t have to. In fact, you could take Buttered Sausage exactly how it is and sell it online and there would be nothing anyone could do about it. It belongs to me, you, and everyone else forever without limitation.

Technically, MIT license requires credit

Edit: This post provides incorrect information. Please follow the conversation below to see my correction. Please do not follow the advice in this post.

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

There is nothing in there about attribution. That is the full license. It gives you unlimited control. You can do whatever you want with Buttered Sausage. You could print off every page of code and burn it in your desk trash can. But if you burn your house down in the process, that’s on you, not me. That’s how MIT works.

Godot is MIT licensed and requires credit.

The only restriction to that third freedom is that you need to distribute the copyright notice and license statement of Godot Engine whenever you redistribute it. So your derivative product may have a different license, but should still state in its documentation that it derives from the MIT licensed Godot Engine (see below).

The actual notice does have copyright stuff on it

  Copyright (c) 2014-present Godot Engine contributors.
  Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.

  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files (the "Software"), to deal
  in the Software without restriction, including without limitation the rights
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  copies of the Software, and to permit persons to whom the Software is
  furnished to do so, subject to the following conditions:

  The above copyright notice and this permission notice shall be included in all
  copies or substantial portions of the Software.

Edit: This post provides incorrect information. Please continue the conversation below and see my correction.

Who told you Godot requires credit? “The only restriction to that third freedom is that you need to distribute the copyright notice and license statement.” The ONLY restriction, it says. Still not seeing anything about attribution. All it says is that I have to provide a copy of the license in my distribution.

On a personal note, I am not going to come after you. I am giving Buttered Sausage to all of you without limitation. Use it however you like. You don’t have to fear repercussions from me. I can’t afford a lawyer even if I wanted to, which I don’t.

1 Like

The copyright notice is at the top of the license statement. I think that also counts as credit. The MIT website says this:

The MIT License is known for its brevity and clarity. It grants permission to use, modify, and distribute the software, with the condition that the original copyright notice and the license text are retained in the redistributed software. This ensures proper attribution to the original authors while offering maximum freedom for developers.

Ah. My interpretation was that you just had to provide the MIT copyright and license, not your own, branded version of it. I wouldn’t even license this thing if I weren’t trying to get it listed on the Asset Lib. I couldn’t be less interested in this kind of stuff. I just want to provide something useful to the community. That is why I picked the MIT license. No strings. No lawyers. No rules.
Regardless, to keep yourself out of trouble, follow the rules. If you redistribute Buttered Sausage, include a copy of the license as it appears in the repository. If you plan on only using Buttered Sausage in a pre-compiled binary and the source code will not be distributed, I’m pretty sure you don’t have to do anything at that point. But I’m not a lawyer and again, I’m not coming after you. I don’t have the resources and couldn’t care less. Do whatever you want. It is my gift for all the years the open source community has sustained me through divorce, family death, financial ruin, and rebirth.

2 Likes

This addon sounds interesting but I don’t see any preview of how it actually looks when you use it. Given that it’s a visual addon, I strongly suggest adding a GIF or two to the repo so potential users can get a sense of the impact it would have on their project.

I am intrigued but not yet convinced.

That is a great idea. I started downloading a gif creating software but it was taking like 15 minutes so I got busy doing other stuff. I just released at around midnight last night. This is my very first release ever. So I have the software downloaded. I just gotta figure out how to use it and then I will update the repository and the Asset Lib listing. Thank you so much for reminding me about this. BTW, the Asset Lib listing does have 3 images. They aren’t great, but they kind of hit the highlights. They are in the screenshots folder in the root of the repository. I’ll have some animated gifs up post haste.

Looks interesting! And as always I would suggest to provide some screenshots (which are already in the project files themselves, as I have seen) here and on GitHub.

Oh, happy day. I went to record this gif and the rotation issue I have been having seems to have resolved itself. Something else I was doing was conflicting with the rotation animation. Still investigating. Anyway, here is the gif. This is all being done though a configurable animation chain. You can chain multiple animations that each have multiple animations on the same panel going at once. It’s pretty neat.
EDIT: I have removed the gif from this response. It is now at the top of the post, where it will be the first thing people see.

Can anyone verify whether the yellow warning panels in the demo scene are rotating when they animate in? That is the desired behavior but I was having an issue where the rotation would only animate when the auto-dismiss timer was up. It would not animate rotation on entrance and now, all of a sudden, it is working as intended.

Not sure how to verify that but everything yellow in that GIF is rotating once shown.

Sorry, let me clarify what I was saying. Each animation chain has an enter chain and an exit chain. If no entrance chain is specified, the panel is just shown with show(). If there is an entrance chain, it plays as soon as the panel is created. Then, when the panel auto-times out, you can have several different behaviors, including an exit chain. The default behavior on close when closing chain is empty is to play the first animation in the entrance chain backwards or just hide() if nothing is in the opening animation chain.
So, what should happen is what you see in the gif. The panel is instantiated and immediately begins rotating. It then sits there until timeout, then rotates backwards and disappears.
What was happening is the yellow panel just shows up on entrance. No rotating animation. Then, on exit, it played the entrance animation backward, as expected. It was really weird behavior. It seems to be fixed this morning. Probably some consequence of something I did yesterday. I’m still investigating.
What you see in this gif is Buttered Sausage working correctly. I am just trying to figure out what I did to fix it and if the issue exists on the main branch. Is it specific to my configuration? I’m still not sure what caused this in the first place and I really don’t have idea how I fixed it.

I forgot to mention Buttered Sausage does have a demo scene fully configured with the animations you see in the gif. You can run it and see the same results I am seeing. Unless rotation is still broken in your version. In which case, could you please let me know so I can get to the bottom of what is causing it?

I have a few concerns.

  • “A complete result and toast system for Godot 4.5+” is a completely nonsensical phrase. I’ve been developing for over 30 years and I’ve never heard that phrase. Searching Google for “result and toast system” your two posts are the only ones on the entire internet.
  • Your project documentation was clearly done by Claude, which makes it looks impressive, but makes it rather unhelpful in understanding what your plugin actually does or how it works. It looks like a college essay by a freshman who only knows how to BS.
  • This is the ONLY thing you’ve ever put into GitHub, which is suspect for someone who claims 30 years of development experience. I could let that go because maybe it’s a new account but…
  • Your project AWOC that you say this is based on which is linked in your documentation and your profile leads to a project that doesn’t exist.
  • You clearly didn’t understand how the MIT license works after 30 years of development, and could have added a different license like The Unlicense instead of hand-waving the contradictions away and promising you have good intentions.
  • Your reasoning in the Readme for why you chose Buttered Sausage as a name, sounds like justification for a silly name. Naming something phallic is an indication or a subversive sense of humor, not a professional project meant to be taken seriously. There are plenty of other ways to avoid namespace collisions.

To me, this project smells like an elaborate phishing attack. I reported this thread yesterday because of my concerns, but since it has gained traction, I caution you all to be careful using it.

3 Likes