Development vs Deployment


#1

When y’all are writing a game, do you develop in one folder and copy stuff over to a Dropbox folder only when you want to share stuff (say you have testers looking at stuff or a demo)? Or do you work directly in your Dropbox folder?

I’d been working directly in Dropbox and pointing Chrome at the public URL to avoid installing more than one browser, but I linked a few friends to my game and now I kind of want to keep that one stable and be able to skip to the scene I’m working on easily, etc.

What do other folks do?


#2

I have two Dropbox folders. One is my public demo folder, the other is a backup of every single text file I have written (with scenes being moved to the “scenes” folder as I finish them.) For testing, I just edit my scene list (I have a full scene list as a text file outside the scene folder) and change my stats/variables when I originally create them in startup (thanks again @Zanity!) I leave in all of my create variables, because honestly if someone does look at my source code and say, “Wait, a killer robot?” that’s more of a teaser than a spoiler.

In the public demo folder I only have the scenes that I want people to look at, and I edit the scene list in the startup to match that. The annoying thing is that when I edit changes in my “actual” files, I sometimes forget to overwrite the versions in the demo folder. But I’m getting the hang of it.


#3

Thanks for this. How do you test a scene before moving to the demo folder? Or do you?

Personally, I can spot grammar and clarity errors a lot better when I’m looking at it rendered than when its in my editor for some reason. So I go back and forth a lot as I’m developing a scene. Will that work if the files aren’t in the scenes folder?


#4

I keep all of my finished scenes permanently in the “real” game folder, and then edit the scene list in startup for whichever ones I am testing or want to read through. I have a full list of scenes to paste back in when I’m done (basically a note to myself which lives in mygame but not in scenes) and to remind me the sequence they would usually be in.

Actually, the “real” game folder is slightly more complicated than that - I keep it on my computer, then back it up about once a day by overwriting the private folder in Dropbox.

If I want to change the demo version, I change the (real) scene list in startup and test it like that. If it works, I copy just that, the stat screen code, and the scenes listed in the scenes list to my demo folder.

Just be careful you aren’t saving to the wrong place - always save to the real folder and copy it to the demo - or it can get confusing fixing an error three times and having it keep coming up as wrong.

EDIT: Oh yeah, and you probably already know this (unless I am wrong about something?) but your demo folder should have a permanent copy of all of the pre-existing scripts and stuff that are just outside the mygame folder. You only have to update those if you’re changing the code there (WAY above my comprehension, but there you go.)


#5

I see. That all seems sane. I really wish for my computer to do some of this for me. Maybe I’ll script something up. If I do, I’ll share it… though it’s likely to only be useful to folks who are already comfortable in the command line (and running Linux).

Thanks!


#6

I’ve got two ChoiceScript folders in my public dropbox – one called CoRTest to which I share the public link, and another one where I work on my actual latest WIP version (and can thus use that public link to view my own draft and share with a few discreet playtesters). In my rare updates, I copy the scenes file from my live WiP over to CoRTest. Then I just have to make sure I fix any new game-breaking bugs in both drafts. After a while, even if I agree on a fix, I’ll just make it in the WiP folder and not bother editing CoRTest any more until the next update.


#7

So there’s no way for players not in the discreet loop to view the other files in your public Dropbox? They will always need the link to access it?


#8

This is interesting, to see how everyone else does it.
As for me I actually tend to vary quite a bit, but mostly…

I use Dropbox heavily, and I don’t test CS locally if I can help it, I write it locally, save it - Dropbox syncs it, and I open it my browser with the public link (this allows me to test in Chrome, among other things).
I’ll keep this link to myself of course and transfer all the files over to a new one whenever I publish something.

One big tip I’d give (if they don’t already do this) is for people to setup a dropbox directory with the choicescript core and copy and paste the mygame folder (and rename as you wish).
This allows you to develop multiple WIPS under the same copy of CS (making it easy to update them all to the latest version and saving a small bit on space).

I also make use of compile.html, and some custom .bat and .cmd files etc.


#9

Based on reading everyone’s replies (thanks, y’all!), I’ve got this going now:

Downloaded the ChoiceScript repository. Made a named-after-the-game directory in the web directory there that was a copy of mygame.

I then put the scenes directory of my named-after-the-game directory under version control with git and pushed it up to my personal Github account. It’s public, and ostensibly people will see it before it’s “done”, but whatever.

I then set up a copy of the named-after-the-game directory in a public Dropbox folder for demo/sharing. And I wrote the following deploy script:

#!/bin/bash

cp $1 /home/ben/Dropbox/Public/choicescript/named-after-the-game/scenes/ && echo "moved $1 to Dropbox."

For those of you not super familiar with bash, this script works by running ./deploy filename.txt and it copies filename.txt to the public folder, then outputs a message that tells me it did it.

For testing, I’ll probably just point Firefox locally. Or maybe I’ll play with setting up a super simple web server locally that hist hosts the index.html file… If I do that, I’ll report back and share the code for it.


#10

I just wrote another couple of bash scripts that will run auto- and randomtest easily without changing directories, etc. I’m beginning to think I should figure out a nice way to detect the name of the game (or mygame) from the directory you’re in, but I’m lazy and going to stop writing tooling and get back to writing my game.


#11

I only has the demo in my dropbox, the rest is being worked on after all.


#12

So you have an in-house backup system you trust absolutely? I am so paranoid - I keep my stories printed out and in fireproof boxes, and never trust my own ability to keep backup files safe.

I have lost… too much to trust again. :sob:


#13

Now you made me paranoid as well…

Honestly, with my books I have my entire writing program (Liquid Story Binder) in my dropbox, so I just use it from there. Should probably do the same with this… but augh, it is getting veeerrry full.


#14

If y’all are worried about backups… I use and like Crash Plan. It’s backing up my Windows machine and my Linux machine. There’s also a Mac client.

That does for data integrity. Then I can use Dropbox (or Github or whatever) to solve data portability instead of trying to solve both problems at once.