PSA: Don't Use Discord as an Image/File Host

I’m not going to give any examples of people doing this, and my hope is that nobody else posts examples, since my intent is to make people aware of why they shouldn’t do this, and not to single out or shame anyone.

There’s a number of reasons this kind of thing is a bad idea in general, but the only one that’s really relevant to this topic is that Discord is going to be implementing expiring links soon. This means that if you host your game’s images from Discord, you’ll need to update the links every 24 hours, otherwise they’ll break.

I don’t really like telling people out of nowhere that they can’t do something without giving alternatives, so here’s a couple:

  1. If your game is downloadable, include images and other assets with the game.
  2. If your game is not downloadable, or you’d like more control of your game’s assets, consider hosting them yourself. Oracle, Google, Azure, and AWS all have free tiers that can be used. This is a little more complicated, but I’m confident that it’s within reach for anybody with the skills to build a game that would need this.

Lastly, the most important thing I want to say here is, if you’re not sure how to do something or if there might be a better way to do it, then don’t ever be afraid to ask. I know what it’s like to be new to this, and worried about being judged for bad code, or for not knowing something, or that the question I’m asking is stupid. Now that I’m more established in my career as a software developer and a bit more confident in my abilities, I can say for sure that while that type of thinking has made me better at working independently, it’s hindered me more than it helped, and I’d be much further along if I had just bit the bullet and reached out for help when I needed it. Nobody worth listening to will make fun of somebody who is trying to learn.

Anyway, I hope this doesn’t upset anyone, and that it’s taken as the constructive criticism it’s meant as. Happy New Year all.

11 Likes

I’ve been drill to “Back up your work” a lot when I was still in school. I told others about this and some people don’t take it seriously, even after the content purge from mega and Discord image data changes. Still, I think it’s a better idea to host it on itch or on your own website rather than to upload them publicly on file hosting services.

3 Likes

If you are using an HTML-based engine such as Twine (which is the only way I can see anybody pulling from a separate image-host for in-game imagery), and hosting is an issue for you, you can directly embed the images into the HTML code via base64. It will increase the size of the HTML by (a tiny bit more than) whatever the size of the image is, but it means you won’t require separate hosting at all and it will load at the exact same time the Twine game does (so you won’t ever have broken images due to hosting issues - if they can access the game at all, the images will load). This may be a valid option for anyone who needs it due to sites not wanting to host image formats to avoid serving as file-servers (most free/low-cost hosting services hate that, for obvious bandwidth/cost reasons).

1 Like

I’ve seen a dev claim they’re working on externally hosting the images for their Ren’Py game. IMO some people are overly possessive of their work to the detriment of their projects.

I was iffy about adding this to the initial post since it’s much more of an opinion than a best practice, but I really think more devs in this community should consider open sourcing their work. Software development is collaborative by nature; opening up a project is a win for everyone, since others can help make it better and take parts of it to make their projects better. Just one example, how much time has been spent developing calorie and weight gain mechanics for all of the games that have been posted here? That’s something that could have been written once and reused so that devs could focus on new code.

2 Likes

Oh trust me, working in projects isn’t any easier.
And even community added content isn’t easy to implement.
Plus the fact that any update you make can or will break any community additions, often leading to frustrations.
causing the loss of social cohesion from there on out.

I’d say “do more community sourcing” instead and leave the source for when you’re bored of it or done.
(sorry double post)

1 Like