How I accidentally deleted e19 (Patreon)
Content
less than a week back on the job and i already fucked it up
(to mitigate any anxiety-- we did eventually get it all restored)
okay, so let's start by restating the eternal truth: at any given time, i have no idea what i'm doing.
first, i'm going to start with a brief history of the project and team. this isn't comprehensive, but some main points.
- i made episodes 1-13 solo, with occasional outside help.
- the beta test of 13 is the first time we had any kind of a dedicated team. it was me, dan and robin in a call for most of every day. robin was there to break things, dan was there to fix them, and i was making the new stuff. those first few weeks were honestly a lot of fun.
- then smash 4 came out. robin went off to no-life it, dan forgot how to make himself do things (i'll say it to his face), and so the glory days immediately ended.
- while making E14, i was shooting for a higher quality game that i'd put out solo, but i was frustrated that we weren't moving any faster despite there now being three of us. in retrospect, both robin and dan had severe issues with self-managing and staying on track (i'll say it to both their faces. and they'll both be like "yeah, i know") and, given that i now live with dan and he still hasn't cleaned the stove like we asked him to a month ago, i don't know if there's anything i could've done to change that.
- near the end of E14 kurotsune appeared and offered to help as well. my first and only prior experience working with a team wasn't going so hot, and that was with my close friends, so i wasn't sure if i could trust this relative total stranger with the project either. but they were a professional programmer in a large corporation, and the status was not quo, so i took the chance. kuro helped a lot both with programming and giving me advice on how to run a team, and eventually transitioned themselves from programming to leading a team of programmers from the community that they taught themselves, including Marcello.
- around the end of E15, i also started the animation project. modelling it after kuro's recommendations and how they handled the programming team, we selected a few applicants, including mde and smeargletail, and taught them how to do use the animation editor.
- kuro eventually left and marcello took over programming, and eventually cass appeared and then unappeared and then reappeared and moved in with me, and ever since then has been encouraging me to be more open with the team and include them more and all that perfectly reasonable stuff that my initial negative experiences with leading a team have dissuaded me from
- and that is more or less the modern state of it, with some additional friends we've picked up along the way this year.
so, you know, appreciate cass and stuff.
what is the point of this suddenly history lesson? there are a few.
- the first point is that, guys, when it comes to this team-leading thing, i really do not know what i'm doing. sometimes that's perfectly evident, but given that the above is my entire experience with leading a game dev team, i hope that some of it is also understandable.
- the second point i'm going to talk about in a follow up post tomorrow.
- the third is so you have a timeline point of reference for the actual anecdote of today's post.
so, until E13, project was solo and people would just send me script changes or files and stuff if they had anything to contribute, and i would put them into the project.
starting with the three of us in E13, we used dropbox to keep the project between us. but i, either fundamentally misunderstood the function and purpose of dropbox back then, or maybe sharing to multiple accounts wasn't a feature yet, or maybe i was just stupid, but we used to have it so that everyone on the team used my singular account/password so that it would sync between us properly, and we had differentiate based on devices. it meant that anyone who worked on the project i had to trust enough to give them full access or none at all, and if they later left the team, i had no way to make sure they didn't just yeet all of the files on the way out. so a couple core people had access to the project, but everyone else on the script and animation teams just sent in files.
around 2016 (? big guess), is when i actually realized, oh, dropbox lets you sync to multiple accounts and manage permissions and just turn them off, or only allow them for the folders i need other people to have access to.
which in retrospect, i realize is the entire point of the software, and idk what i was doing before but it was probably dumb. no idea what i'm doing, guys. anyway, since switching over to using dropbox properly, we've had a lot more freedom and control over who can work on various parts of the project, and it's help out a lot. that's basically where we've been at for the past few years, including for starlight. most of what we have had to watch out for is overwriting each other's work. and RMXP likes to save a lot of files at once even if you didn't change them, so that sometimes happens, and we do our best.
since coming back to the project, and a little bit with starlight, we've realized that 'doing our best' isn't really enough. we've got three programmers, a cass, and myself on the team, and there's a lot of work flying around all of the sudden. and that's to say nothing of the rest of the team who we still have to like manually zip up and send out an update to if we want them to have any recent changes.
so, the point of all this is, is that after nearly six years, we're leaving dropbox behind and moving everything over to git. if you're not familiar with git, it's basically the most popular programming/team collaboration management platform in existence rn afaik and has a lot of cool features that i'm not super familiar with and frankly is kind of overwhelming at first.
cool.
anyway, i was recommended the platform and a client by a friend who uses it for her game (y'all go try out Virgo vs the Zodiac tbh), so i was trying to get it set up. and really just trying to figure out how to make the client do -anything- because i swear, most of the things i clicked on were not doing anything because we hadn't set up the remote repository yet, but how do we set up the remote repository if nothing i click on even does anything ?????????
eventually i found a button that did something. i wasn't sure what. but i started getting a ton of notifications. ensuing shenanigans:




icing on the cake:

git ain't special.
so even now i don't really know what happened there but it did happen there pretty damn hard.
so i tried something else.

it didn't work.

so i checked.
naturally, for an inexplicable reason, this was all that was left:

because it does, in fact, hate me.
that's okay though, we are prepared for situations like this. one thing like about dropbox is it has a built in version history where you can rollback and restore changed and deleted files. also, since i have the premium thing, i can do that for a full folder in Dropbox Rewind. all i needed to do was rewind the game folder.

a lot had gone wrong.
i couldn't imagine more going wrong.
and then, like a flash of inspiration,
i could.

because the universe does, in fact, hate me.
all i had left was git's compressed .pack file which was made during the earlier shenanigans that flooded everyone's notifications without deleting everything. it had a lot of megabytes in it-- as many as the game's so theoretically we could still get the files back if we could un-pack that somehow.
i asked my friend and she asked her programmer friend and he didn't know what the fuck i'd done but gave me a script to try and run and it looked like this:

which i also don't understand why it said that but that's why you can see my discord name in the server is retroactively 'dangling blob'
regardless, that didn't work, it just gave me a bunch of garbage files, i just thought it was funny
so anyway this is another story about cass saving the world. she happened to notice that the files were being removed from dropbox so she pre-emptively desync'd hers before we even knew what was going on-- which allowed us to take them all out from her paused copy and restore most of them the normal way.
a few were off for some reason, but then, after deleting all of my files, git was kind enough to show us exactly which ones were missing despite the fact that it was the one that deleted all of them in the first place :>C so i was forced to forgive it its transgressions
after that we somehow pretty much got it to work immediately. i still only partially understand, but lessons were learned, boxes were dropped, guds were git'd and while we're still moving over fully and learning how this funky newfangled system is supposed to work, everything is okay and this will hopefully be a positive long term change for us.
more tomorrow*
*tomorrow is a state of mind