FSF Adventures - Part 1
FailsafeDX / July 7, 2025
Welcome to my first programming related blog post.
FSF Adventures - A retro text based game inspired by BBS Door game classics such as Barney Splat and Legend of the Red Dragon.
I haven’t finished writing it. I am currently at 200+ lines of code. It’s quite text heavy because it is a text adventure.
While I was describing the features to a friend, he told me it sounded like a modern choose your own adventure.
I guess good ideas aren’t always being invented by a single person.
Barney Splat was already that style of game, although, much shorter. I’m trying to make a much longer game, and I’m adding RPG elements.
I wanted to discuss one that I was working on today.
func CharacterSheet() {
ClearScreen()
fmt.Println("Character Creation")
fmt.Println()
gender := 0
for gender < 1 {
fmt.Println("What is your gender?")
fmt.Println("1) Boy/Man")
fmt.Println("2) Girl/Woman")
fmt.Println("3) Specify")
fmt.Scan(&gender)
if gender == 1 {
TransphobiaToggle = false
} else if gender == 2 {
TransphobiaToggle = false
} else if gender == 3 {
fmt.Print("Enter your gender: ")
reader := bufio.NewReader(os.Stdin)
prompt, _ := reader.ReadString('\n')
TransphobiaToggle = true
fmt.Println("You recall from memory: 'I've always wanted to fuck a ",
prompt, "!''")
} else {
gender = 0
}
}
}
What does this code do?
We create a variable inside the function called “gender” which is set to “0”
This keeps the loop running, and it avoids errors by ignoring everything but 1, 2 and 3 as INT inputs. If anything else is input, it sets gender back to “0”, which restarts the loop until the user puts in one of those 3 numbers. It will literally loop forever.
Then we look at the variable gender, is it “1”? If it is “1”, we set the TransphobiaToggle to false. If it is “2” we also set it to false.
Finally, if they pick 3, it asks them what their gender is, and sets the TransphobiaToggle to true.
I actually plan to use this TransphobiaToggle later on during the levels, to make the game harder (but more rewarding).
Stay tuned!