Show More
Commit Description:
Attribute Iosevka and fix links.
Commit Description:
Attribute Iosevka and fix links.
References:
File last commit:
Show/Diff file:
Action:
TODO.taskpaper
209 lines | 9.4 KiB | text/plain | TextLexer
209 lines | 9.4 KiB | text/plain | TextLexer
r48 | ||||
Gameplay: | ||||
Money: | ||||
r63 | - Add basic subsidy @milestone(1: Basic Money) @done(2021-01-27) | |||
r55 | - Basic Balance sheet | |||
r63 | - 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 | ||||
r420 | - Money graph @maybe | |||
r103 | Procgen: | |||
r94 | short phase, maybe? | |||
r420 | - Add some procedurally generated dialog @maybe @milestone(2: Procgen) | |||
r129 | - Add some procedurally generated newspaper @maybe @milestone(2: Procgen) @done(2021-03-15) | |||
r103 | - Basic NEWS tab @milestone(2: Procgen) | |||
r129 | - Different tabs for different sources @done(2021-02-21) | |||
r103 | Straight-ahead news, tabloid, and something environmental? | |||
r128 | - Write a small number of testing @done(2021-03-15) | |||
r129 | - Write five stories for each source | |||
- Arborist | ||||
r145 | - Wire @done(2021-03-22) | |||
r129 | - True | |||
r145 | - Figure out update interval @done(2021-03-22) | |||
r129 | - Better NEWS tab | |||
- Images for some stories | ||||
- More stories—a dozen for each source? | ||||
r48 | Logging: | |||
r202 | - Add contract struct @milestone(3: Contracts) @nvm | |||
r218 | - Add tree simulation @milestone(3: Contracts) @done(2021-04-27) | |||
r217 | - Add contract generation @milestone(3: Contracts) @done(2021-04-12) | |||
r203 | - Outline reserved areas @milestone(3: Contracts) @done(2021-04-09) | |||
r297 | - Add company images @milestone(3: Contracts) @maybe @done(2021-05-21) | |||
- Contracts should end | ||||
r48 | Trees: | |||
r53 | - Add basic maintenance cost @milestone(1: Basic Money) @done(2021-01-27) | |||
r48 | - Add basic age simulation | |||
r418 | - Add water @milestone(6: Trees and Tiles) | |||
- Biodiversity @maybe @milestone(6: Trees and Tiles) | ||||
r48 | - Research agreements @maybe | |||
r63 | - Forest rangers allocatable as law enforcement? @maybe | |||
Have to think about thematic implications | ||||
r216 | - Have an "enforce trespassing" policy | |||
Seems like a good way to get started? | ||||
Reduces cost of vandalism repair? | ||||
- Sell Firewood? | ||||
r63 | Staff: | |||
r420 | - Ranger staffing? @maybe @milestone(1: Basic Money) | |||
r63 | - Staffing window | |||
- Ranger allocation | ||||
r130 | - Set employee salaries, leave, etc. @maybe | |||
r63 | - Figure out roles: ranger, educator, researcher? | |||
Don't want to be too derivative | ||||
r103 | - Employee training mechanic @maybe | |||
r48 | Leisure: | |||
r418 | - Add way to mark off area for leisure @milestone(7: Leisure) | |||
- Basic satisfaction @milestone(7: Leisure) | ||||
r420 | - Set | |||
r48 | End games/outcomes: | |||
r458 | - Financial mismanagement @milestone(5: Events) @done(2021-10-23) | |||
- Figure out threshold @done(2021-11-07) | ||||
r48 | - 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 | ||||
r94 | - 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) | ||||
r48 | - Research center @maybe | |||
r94 | 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.) | ||||
r420 | Maybe a procedurally generated set of groups with some hard-coded elements? E.g | |||
r48 | Misc: | |||
- Assistant commentary @milestone(5: Events) | ||||
Need to ensure it's not annoying | ||||
r474 | - Basic random events | |||
- Tree planting campaign @done(2021-09-28) @milestone(5: Events) | ||||
- Friends of the park fundraiser @done(2021-11-07) @milestone(5: Events) | ||||
- Federal grant @done(2021-11-27) @milestone(5: Events) | ||||
r484 | - Celebrity visit @original_milestone(5: Events) @nvm | |||
r474 | Probably neets to affect reputation or attendance, which aren't implemented yet. | |||
r94 | - Disasters @maybe | |||
r420 | - Fire | |||
r94 | would probably have to animate | |||
- Disease | ||||
r103 | - Photos for dialog? | |||
r245 | - Graphs window | |||
Could use ImPlot for this | ||||
r420 | ||||
r48 | Structure: | |||
r458 | - Add modes | |||
r48 | - Refactor stuff out of FNAGame | |||
r373 | At this point, virtually everything in FNAGame is setting up key Engines or doing drawing | |||
r244 | - Saving @prototyped @milestone(4: Beginning) | |||
r216 | - Encompass @maybe @done(2021-04-03) | |||
r94 | 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? | |||
r103 | - Ensure library loads | |||
- Windows | ||||
r213 | - Linux @done(2021-04-19) | |||
r216 | - macOS @done(2021-04-27) | |||
r213 | Technically done | |||
r103 | - Decide how to handle ImGUI ref parameters | |||
Basically have to decide whether to embrace its style or go toward a more functional approach | ||||
r373 | - Add Ink @maybe | |||
r419 | - Add NuGet package @done(2021-08-14) | |||
- Load .Ink files @done(2021-08-14) | ||||
- Rewrite Dialog to show Ink @done(2021-08-14) | ||||
r373 | - SetTextVariable also sets variables within Ink | |||
Technically doesn't have to be done this way, but having what would essentially be separate namespaces for Tracery variables and Ink ones seems confusing. | ||||
r419 | - Integrate with Tracery @done(2021-08-14) | |||
Could run everything through Tracery or could create an Ink function that calls Tracery | ||||
r458 | - Change conversation to use Encompass @milestone(5: events) @done(2021-08-04) | |||
r373 | - Refactor out common ImGUI patterns | |||
r419 | - Tooltips @done(2021-08-21) | |||
- Status indicators (not yet implemented) @done(2021-08-21) | ||||
r373 | By status indicators, I mean putting an icon on, say, the Contracts button to indicate a contract is about to expire. | |||
r218 | - Rearchitect to avoid giving everything access to Simulation | |||
r307 | - Add a start screen @milestone(4: Beginning) @done(2021-06-08) | |||
r244 | - Add a create park dialog @milestone(4: Beginning) | |||
- Procgen park names (that player can override) | ||||
- Button to generate new name? | ||||
r365 | - Allow player to choose title @maybe @done(2021-07-29) | |||
r244 | 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.) | ||||
r369 | - Allow player to choose difficulty @done(2021-07-30) | |||
r244 | 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) | ||||
r307 | - Basic In-game menu @milestone(4: Beginning) @done(2021-06-13) | |||
r244 | At minimum, New Game, Quit, and Quit to Menu | |||
- Graphics options | ||||
r307 | - Add to in-game menu @done(2021-06-13) | |||
r244 | - Additional in-game menu | |||
- Save | ||||
- Save & Quit | ||||
r94 | ||||
r48 | Other features: | |||
Accessibility: | ||||
- Verify contrast | ||||
r64 | - Option to Increase display size | |||
r314 | - Add message for font changes @done(2021-06-26) | |||
- Relocate fonts to central place @done(2021-06-26) | ||||
- Remove fonts from DebugWindow? | ||||
- Adjust window dimensions when font changes | ||||
r420 | - Option to Turn off bad outcomes or disasters @maybe | |||
r314 | - Dyslexic-friendly font @maybe @done(2021-06-26) | |||
Cursory research indicates open sans-serif fonts are best, | ||||
although fonts only help so much. (Monospaced fonts are also cited as good options so Iosevka might already be good enough. Still, I added Roboto.) | ||||
r420 | ||||
r244 | - 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 | ||||
r205 | - No fees when contracts break | |||
- Contracts go dormant instead of ending. | ||||
r48 | Other QoL things: | |||
r313 | - Adjust display size @done(2021-06-23) | |||
r48 | - Toggle trees translucency | |||
r244 | Right now we hide trees outright, which probably should be limited to debugging | |||
r313 | - Right click to center @done(2021-06-06) | |||
r244 | 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. | ||||
r128 | Bugs: | |||
Graphics: | ||||
- Trees jump around when pressing show/hide grid | ||||
r391 | - Grids sometimes overlap trees, including area overlays | |||
r128 | - Trees sometimes | |||
- Sometimes framerate jumps to 180-200 fps. (Better than reverse, but kinda weird) | ||||
r311 | - Graphics don't adjust for the resolution | |||
r312 | - Scroll area @done(2021-06-23) | |||
r311 | - Ingame Menu @done(2021-06-22) | |||
- Main Menu | ||||
r391 | Simulation: | |||
r392 | - Expired areas can't be reused. @done(2021-08-07) | |||
r458 | Dialog: | |||
- Dialogs don't appear after | ||||
r213 | Misc: | |||
r458 | - Events may not be deleted | |||
r474 | - Exits are messy (does Encompass add threading?) @done(2021-11-28) | |||
Appears to be fixed by using Game.Exit | ||||
r213 | [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) | ||||
r474 | - Segfault on quit (when it tries to dispose of the sound) or on playing sound on Linux | |||
May be due to a quirk of my Linux setup | ||||
r213 | ||||