https://github.com/joho/goadventure
I'm trying to write a twitter based text adventure in go. It may or may not get finished.
https://github.com/joho/goadventure
Last synced: 11 months ago
JSON representation
I'm trying to write a twitter based text adventure in go. It may or may not get finished.
- Host: GitHub
- URL: https://github.com/joho/goadventure
- Owner: joho
- Created: 2013-03-13T09:01:17.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2017-02-21T21:38:09.000Z (over 9 years ago)
- Last Synced: 2025-07-21T21:13:30.703Z (11 months ago)
- Language: Go
- Size: 46.9 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Go Adventure

[](http://www.babygopher.org)
## Wat?
One day this will be the finest twitter based novelty text adventure engine in all the lands.
Right now it's a git log of embarrassment as I learn a new programming language. When it's a bit further along, I'll ask for some help/feedback, but for right now just let me struggle along myself.
## Licence
I haven't decided yet, for right now consider it plain old copyright.
## TODO
- [x] main game loop with input and output goroutines
- [x] read & write from twitter API
- [x] have "interactive" mode to mock twitter for dev
- [x] persistently store tweet reply status (for avoiding spam)
- [x] persistently store game state
- [x] data structures for game -> scenes -> choices
- [ ] file loading/parsing for game data
- [ ] robust command parsing/handle synonyms etc
- [ ] Handle twitter "duplicate" errors (code 187)
- [ ] Write the most baller choose your own adventure script in all the lands.
## Code review notes
* tomb package for proper stopping on control channels
* using this/self is kinda discouraged (rob pike, single chars, fuck that)
* go fmt -r (renames stuff by magic)
* start developing against 1.1 (compatible and faster)
- do not set go root
- build from source (or homebrew)
- use abs path
* check out "go check" or https://github.com/remogatto/prettytest
* if you're writing a library do executable examples
* read https://gobyexample.com/