Skip to content

GiovanH/unofficial-homestuck-collection

Repository files navigation

The Unofficial Homestuck Collection

Let me tell you a story about a webcomic called Homestuck. The fourth in a series of “MS Paint Adventures” authored by Andrew Hussie from 2007 to 2016, it became wildly successful, in part because of its eclectic use of web technology like Adobe Flash and GIF animations.

However, with Flash finally being phased out at the end of 2020, Homestuck is in a precarious state. While there have been official attempts to preserve aspects of the original experience by VIZ Media (who have published Homestuck since 2018), the results have been mixed. With extra content scattered around the web in various states of decay, a solution was needed to preserve Homestuck's one-of-a-kind presentation and flair, for both returning readers and those new to the story.

This is the repository for a self-contained collection that contains Homestuck (with Flash elements fully intact), the other MS Paint Adventures, official Homestuck side-stories, and a variety of goodies for the enquiring reader, as well as a variety of unintrusive enhancements to the overall presentation, both for quality and convenience.

To run The Unofficial Homestuck Collection, you need to pair this application with a pack of assets designed specifically to integrate with it. A decent amount of effort has been made to keep this repository free from the majority of that copyrighted content, and (at least for now), it won't contain a link to the place you can find it.

Some details on the codebase

This application runs entirely in Electron + Vue, with very little else going on. Although it functions in a manner very similar to a web browser, everything is running in what I would charitably describe as a "creative" fashion. I am by no means an expert, and while I'd love to say I always had good practices in mind while developing this, I largely didn't even know what a good practice was for a decent chunk of it.

So what I'm saying is this: You're welcome to peruse the codebase, fork it, make and suggest changes, or use it in any way you see fit. Just uh... don't expect it to be well formed or documented in any of the ways that really count. If you want to make some changes and my code is causing you physical discomfort, try asking around our Discord server. Someone should be able to help out!

Building a development version of TUHC requires NPM (Node 14.18), Yarn, make, and tar.

  • NPM is the node package manager, used for developing with Node.js.
  • Yarn is a npm-like package manager that is itself distributed as an NPM package.
  • tar and make are basic GNU utilities used extremely commonly in software development. tar is used to pack files (like zip) and make is used to build projects with dependencies. If you don't already have them on your system (you can maintain robust CLI environments using tools like cygwin or WSL), you can download tar and make individually directly from GNU.

Compiles and hot-reloads for development

make test

Compiles and minifies for production

make publish

Lints and fixes files

make lint

Customize configuration

See Configuration Reference.

Legal

The Unofficial Homestuck Collection
Copyright (C) 2020-2021 Bambosh, (C) 2021-2023 Bambosh and GiovanH, (C) 2024- GiovanH

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

In (non legally-binding) summary, you may freely use and distribute the software, as well as modify it and distribute your changes and modified versions, so long as you do not restrict the rights of others to do the same. You must clearly notate any changes and provide links to the unmodified original, and not remove credits (which are part of the original copyright.)

As per section 7, the author attributions in Credits.vue must be preserved in all covered works. Modified versions may optionally extend this list as applicable, but modifications that remove attributions or otherwise misrepresent the origin of the material are not permitted.