Show More
Commit Description:
Tidy code.
Commit Description:
Tidy code.
File last commit:
Show/Diff file:
Action:
TODO.taskpaper
176 lines | 7.2 KiB | text/plain | TextLexer
Gameplay:
Money:
- Add basic subsidy @milestone(1: Basic Money) @done(2021-01-27)
- Basic Balance sheet
- Basic balance sheet @milestone(1: Basic Money)
- Basic display @done(2021-01-27)
- Movement @done(2021-01-27)
- Close button @done(2021-01-28)
- Better appearance
- Money graph @maybe
Procgen:
short phase, maybe?
- Add some procedurally generated dialog @maybe @milestone(2: Procgen)
- Add some procedurally generated newspaper @maybe @milestone(2: Procgen) @done(2021-03-15)
- Basic NEWS tab @milestone(2: Procgen)
- Different tabs for different sources @done(2021-02-21)
Straight-ahead news, tabloid, and something environmental?
- Write a small number of testing @done(2021-03-15)
- Write five stories for each source
- Arborist
- Wire @done(2021-03-22)
- True
- Figure out update interval @done(2021-03-22)
- Better NEWS tab
- Images for some stories
- More stories—a dozen for each source?
Logging:
- Add contract struct @milestone(3: Contracts) @nvm
- Add tree simulation @milestone(3: Contracts) @done(2021-04-27)
- Add contract generation @milestone(3: Contracts) @done(2021-04-12)
- Outline reserved areas @milestone(3: Contracts) @done(2021-04-09)
- Add company images @milestone(3: Contracts) @maybe
Trees:
- Add basic maintenance cost @milestone(1: Basic Money) @done(2021-01-27)
- Add basic age simulation
- Biodiversity @maybe
- Research agreements @maybe
- Forest rangers allocatable as law enforcement? @maybe
Have to think about thematic implications
- Have an "enforce trespassing" policy
Seems like a good way to get started?
Reduces cost of vandalism repair?
- Sell Firewood?
Staff:
- Ranger staffing? @maybe @milestone(1: Basic Money)
- Staffing window
- Ranger allocation
- Set employee salaries, leave, etc. @maybe
- Figure out roles: ranger, educator, researcher?
Don't want to be too derivative
- Employee training mechanic @maybe
Leisure:
- Add way to mark off area for leisure @milestone(6: Leisure)
- Basic satisfaction @milestone(6: Leisure)
- Set
End games/outcomes:
- Financial mismanagement @milestone(5: Events)
- Figure out threshold
- Self-sufficient
i.e., no need for subsidy
May not be ending
- Forest mismanagement @milestone(5: Events)
- Figure out threshold
- High biodiversity? @maybe
- High satisfaction
- Figure out how to differentiate this from forest health
- Hat Trick: Satisfaction, Forest Health, **and** Self-Sustaining
- Figure out extent that this should even be possible?
Thematically, maybe dubious?
On the other hand, could be something that requires luck
It's possible in SimSafari
- Land repatriation to indigenous @maybe
Like the acknowledgement, don't want it to be too white savior-y (although obv. player isn't necessarily white)
- Research center @maybe
-
Community:
Differing reputation with different groups. Could mix more and less political.
Don't want to go too Democracy 3/4: being able to affect the group size via policy is probably out. (Groups being intersectional might work, but is kind of tricky.)
Maybe a procedurally generated set of groups with some hard-coded elements? E.g.,
Misc:
- Assistant commentary @milestone(5: Events)
Need to ensure it's not annoying
- Basic random events @milestone(5: Events)
- Tree planting campaign
- Friends of the park fundraiser
- Federal grant
- Celebrity visit
- Disasters @maybe
- Fire
would probably have to animate
- Disease
- Photos for dialog?
- Graphs window
Could use ImPlot for this
Structure:
- Add modes @milestone(5: Events)
- Refactor stuff out of FNAGame
- Saving @prototyped @milestone(4: Beginning)
- Encompass @maybe @done(2021-04-03)
Currently thinking about a hybrid model where the Simulation class receives a lot of the events from Encompass. so things like Events, Contracts, and Research agreements are handled by Encompass. Perhaps Input, too?
- Ensure library loads
- Windows
- Linux @done(2021-04-19)
- macOS @done(2021-04-27)
Technically done
- Decide how to handle ImGUI ref parameters
Basically have to decide whether to embrace its style or go toward a more functional approach
- Change conversation to use ImGui
- Rearchitect to avoid giving everything access to Simulation
- Add a start screen @milestone(4: Beginning)
- Add a create park dialog @milestone(4: Beginning)
- Procgen park names (that player can override)
- Button to generate new name?
- Allow player to choose title @maybe
Some possibilities: Mr., Ms., Mx., Director, Dr., Professor, Miss, Col., Herr Dr. Dr. nothing, custom
Might be fun to have tiny acknowledgement of choice — probably dialog only, no mechanical change. (E.g., a researcher might allude to you having a PhD. or an enby character might say something comiserating.)
- Allow player to choose difficulty
I'm thinking: Easy would be constant subsidy, Medium would be declining subsidy, and Hard would be none.
Could name them Benevolent, Austerity, and Hostility? Or Conservationist, Austerity, Libertarian? (Maybe too pointed!) I kind of like describing these as the government's "orientation" or "attitude" toward park.
- Allow player to choose profile image @maybe
Same style as rest of the game (dithered b&w, at least right now)
- Basic In-game menu @milestone(4: Beginning)
At minimum, New Game, Quit, and Quit to Menu
- Graphics options
- Add to in-game menu
- Additional in-game menu
- Save
- Save & Quit
Other features:
Accessibility:
- Verify contrast
- Option to Increase display size
- Option to Turn off bad outcomes or disasters @maybe
- Dyslexic-friendly font @maybe
- Screen reader support @maybe
Would probably be a big undertaking (sort of opposite to the web, where things tend to be accessible unless you start reimplenting things or going more advanced)
- Investigate .NET support for screen readers
- Ask on social media
- Moontools Discord
- FNA Discord
- Mastodon
- Figure out a good screen reader to use for testing
- macOS
- Windows
- Linux
- Look for prior art
- Add a "describe" button/key that speaks the current scene @maybe
-
- Option to Turn off bad outcomes or disasters?
- No fees when contracts break
- Contracts go dormant instead of ending.
Other QoL things:
- Adjust display size
- Toggle trees translucency
Right now we hide trees outright, which probably should be limited to debugging
- Right click to center
Internationalization:
- Probably won't pay to translate or anything, but should consider setting up the structure @maybe @milestone(4: Beginning)
If nothing else, might be useful for future projects.
Bugs:
Graphics:
- Trees jump around when pressing show/hide grid
- Trees sometimes
- Sometimes framerate jumps to 180-200 fps. (Better than reverse, but kinda weird)
Misc:
- Exits are messy (does Encompass add threading?)
[xcb] Unknown sequence number while appending request
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
dotnet: ../../src/xcb_io.c:145: append_pending_request: Assertion `!xcb_xlib_unknown_seq_number' failed.
Aborted (core dumped)