Flexible Survival is hosted on Github, so you'll have to make an account to push changes.
You have to fork the repository (which will duplicate the entire codebase to make a personal version). Click the Fork
button on the top right of this page:
https://github.com/Nuku/Flexible-Survival/
This will let you record your changes and send it up to the Github repository for review.
Click Clone a repository
and it will show you a list of your forked repositories - click on Flexible-Survival and click Clone
.
Atom is a text editor that you can use to edit files. There are a couple of useful packages you can install to make life easier!
File -> Add Project Folder -> Select Documents\Github\Flexible-Survival
(You want to select the folder itself and click Select Folder
!)
This will give you syntax highlighting, so you can tell which parts are text that the player can read or commands to make the game move along.
Install packages by going to: File -> Settings -> Install
This package lets you index the Flexible Survival definitions to make searching easier. Ever wonder what player is male
is actually defined as? CTRL+SHIFT+R
and type male
to find out!
You will have to copy the .ctags
file in the Flexible-Survival folder into your Users
folder for this package to work. How do you get to that? Press WIN+R
(WIN is the windows key) and type %HOMEPATH%
. Then copy the Flexible-Survival file called .ctags
into that folder. If you want to do this automatically, run the sync.bat
script (described below) and you can ignore this part.
Package Keyboard Shortcuts:
CTRL+SHIFT+P
: and type Atom Ctags: Rebuild
to rebuild the symbols for your project. You will have to do this periodically to update the list (if you cannot find a symbol, try this first)
CTRL+R
: Search definitions within the currently opened file
CTRL+SHIFT+R
: Search definitions within the entire Flexible Survival repository
This package will show a list of definitions on the right-hand side. Try opening Sarah.i7x
as an example! Press CTRL+SHIFT+O
to toggle whether the panel should appear. Check out the package settings if you want to customize some more.
Package Keyboard Shortcuts:
CTRL+ALT+O
: Toggle whether the panel appears.
Start by adding the linter plugin. It'll ask you to install some dependencies as well, so go ahead and click yes on all of them that come up. Then install the linter specifically for Flexible Survival. This will help you make sure your code and writing is stylistically correct and it will catch a good number of common coding errors.
Install Inform 7! Flexible Survival runs on this game engine. Grab the newest beta from the following link:
https://github.com/DavidKinder/Windows-Inform7/releases/
Start Inform and set up "Flexible Survival" as a new project with that exact name! Then close Inform. You only have to do this once.
Install the Flexible Survival game so you have an interpreter that can read the game files without a lot of hassle.
https://blog.flexiblesurvival.com/p/links.html
Action | File/Folder | At |
---|---|---|
Copy the file from the folder Documents\Github\Flexible-Surival\Inform |
story.ni |
Documents\Inform\Projects\Flexible Survival.inform\Source |
Create a new folder called | Flexible Survival.materials |
Documents\Inform\Projects\ |
Copy the folder from the folder Documents\Github\Flexible-Surival\ |
Figures |
Documents\Inform\Projects\Flexible Survival.materials |
Copy the folders from the folder Documents\Github\Flexible-Surival\ |
Every folder that is not Figures or Inform |
Documents\Inform\Extensions |
Now whenever you make changes in Atom, you should be able to then open Inform and re-compile the game to test it. You can do it in the Inform editor by clicking Go
or to export it to another interpreter with Release
. Compiling takes a very long time! Expect to wait 5-20 minutes!
Open Github Desktop and review your changes. Write a summary (i.e. title, like Adding new scenes to Sarah
) and a longer description listing the types of changes you made. Then click Commit to master
to save it to your local repository. Click Push origin
to move your changes from your local repository to your online fork.
Click on Branch -> Create pull request. It will open the Github site to compare your fork changes to the official Flexible Survival repository. Click on the Create pull request
button on the Github site.
Then just wait for one of the maintainers to accept your pull request! If it gets accepted, you likely won't have to do anything and you'll see your changes in the next push.
Join the Discord group and ask questions or just talk about the game in the fs-singleplayer
channel!
https://discordapp.com/channels/333559467218173953/362740874683219968