[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-9187":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":16,"starSnapshotCount":16,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},9187,"developer_quest","2d-inc\u002Fdeveloper_quest","2d-inc","Respository for the I\u002FO 2019 demo: Become a tech lead, slay bugs, and don't get fired.","",null,"Dart",2974,556,109,27,0,60.24,"MIT License",false,"master",true,[],"2026-06-12 04:00:43","# Developer Quest\n\nBecome a tech lead, slay bugs, and don't get fired.\n\nAll in Flutter.\n\n## Research tree\n\nThe game progression is based on a \"research tree\" of tasks. The tree is defined in code\nin `lib\u002Fsrc\u002Fshared_state\u002Ftask_tree` but for clarity it is also kept as a diagram\nin `assets\u002Fdocs`. Here's the PNG.\n\n![The task \"research tree\"](https:\u002F\u002Fgithub.com\u002F2d-inc\u002Fdev_rpg\u002Fblob\u002Fmaster\u002Fassets\u002Fdocs\u002Fresearch-tree.png)\n\n## Performance testing\n\nAttach a real device and run the following command from the root of the repo:\n\n```sh\nflutter drive --target=test_driver\u002Fperformance.dart --profile\n```\n\nThis will do an automated run-through of the app, and will save the output to files.\n\n* Look into to `build\u002Fwalkthrough-*.json` files for detailed summaries of each run.\n* Look at `test_driver\u002Fperf_stats.tsv` to compare latest runs with historical data.\n* Run `Rscript test_driver\u002Fgenerate-graphs.R` (assuming you have R installed) to generate\n  boxplots of the latest runs. This will show up as `test_driver\u002F*.pdf` files.\n* Peruse the raw data file (used by R to generate the boxplots) by opening the\n  `durations.tsv` file. These files contain build and rasterization times for each frame\n  for every run.\n\nIf you want to get several runs at once, you can use something like the following command:\n\n```sh\nDESC=\"my change\" bash -c 'for i in {1..5}; do flutter drive --target=test_driver\u002Fperformance.dart --profile; sleep 1; done'\n```\n\nWhy run several times when we get so many data points on each walkthrough? With several identical\nwalkthroughs it's possible to visually check variance between runs. Even with box plots,\nthese nuances get lost in the summary stats, so it's hard to see whether a change actually\nbrought any performance improvement or not. Running several times also eliminates\nthe effect of extremely bad luck, like for example when Android decides to update some app while\ntest is running.\n\n### Lock CPU and GPU speed for your performance test device\n\nRun the following command when your performance test device is attached via USB.\n\n```bash\n.\u002Ftool\u002Flock_android_scaling.sh\n```\n\nWARNING:\n\n* This only works for rooted devices.\n* This only works for Nexus 5. The specifics of scaling lock are different from device to device.\n  You can modify the script to your needs, following\n  [this template](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskia\u002Fblob\u002Fmaster\u002Finfra\u002Fbots\u002Frecipe_modules\u002Fflavor\u002Fandroid.py)\n  and\n  [\u002Fsys\u002Fdevices\u002Fsystem\u002Fcpu documentation](https:\u002F\u002Fwww.kernel.org\u002Fdoc\u002FDocumentation\u002FABI\u002Ftesting\u002Fsysfs-devices-system-cpu).\n\n### Where to store the profiling data\n\nYou probably don't want to check the `*.tsv` output files into the repo. For that,\nrun `git update-index --assume-unchanged test_driver\u002F*.tsv` in the root dir. This is a one time\ncommand per machine.\n","Developer Quest 是一个基于 Flutter 构建的游戏，玩家可以扮演技术主管的角色，解决 bug 并保持工作。项目使用 Dart 语言编写，核心功能包括通过“研究树”定义的任务进度系统，以及一系列性能测试工具。这些工具能够帮助开发者自动化地运行应用、收集性能数据，并生成详细的分析报告和图表。适合用于教学、团队建设活动或作为对软件开发过程感兴趣的个人的娱乐工具。MIT 许可证使得该项目易于被社区采用和贡献。",2,"2026-06-11 03:21:35","top_language"]