From fe314f88f604561280488f31df9ca009d0553b39 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Sat, 14 Jul 2018 22:28:42 +0800 Subject: Initial upload of some design docs. --- design_doc/achievements.text | 114 +++++++++++++++++++++++ design_doc/activities.text | 213 +++++++++++++++++++++++++++++++++++++++++++ design_doc/mechanics.text | 165 +++++++++++++++++++++++++++++++++ design_doc/script.text | 159 ++++++++++++++++++++++++++++++++ 4 files changed, 651 insertions(+) create mode 100644 design_doc/achievements.text create mode 100644 design_doc/activities.text create mode 100644 design_doc/mechanics.text create mode 100644 design_doc/script.text diff --git a/design_doc/achievements.text b/design_doc/achievements.text new file mode 100644 index 0000000..fdfdf70 --- /dev/null +++ b/design_doc/achievements.text @@ -0,0 +1,114 @@ +Endings +------- +Endings are checked from top to bottom. The first +statisfied one will be the final ending. + +Jailed +No more Windows 10 for you. +(Permanently Jailed) + +Micro$oft Tycoon +You're going to fire your boss. +(>=50000 copies of Windows 10 sold && global +reputation > 10) + +Micro$oft Rival +Apple is going to hire you as you destroyed +Micro$oft. +(>=10000 copies of Windows 10 sold && global +reputation < -10) + +Micro$oft Gang +Being in the jail will not stop you. +(>=10000 copies of Windows 10 sold && in jail +detention on day 90) + +Mediocre Run +Do it worse, I dare you. +(>=10000 copies of Windows 10 sold) + +Micro$oft Antagonist +Microsoft would be pleased as you don't really +work for them. +(<10000 copies of Windows 10 sold && global +reputation < -7) + +Delution +You did it. You didn't. +(<10000 copies of Windows 10 sold, but recorded +>=10000 || inflation factor +) + +Fired +You're fired by your boss so that you will suffer +no more. +(<10000 copies of Windows 10 sold) + +Achievements +------------ + +Breaking the rules +Make the game running in any OS other than Windows 10 + +Playing cowardly +Reach an ending with bad behaviors turned off + +Bug or feature +Sometimes you have to crash the game to advance + +Hot stuff +烫烫烫烫烫烫烫 +(Fix encoding of your sells data) + +BSOD +Best-Selling Orange Drink + +No operating system, no problem +Recover from the "operating system not found" hoax + +First copy sold +Sell your first copy of Windows 10 in the game + +One of a hundredth and counting +Sell 100 copies of Windows 10 in the game + +Goal accomplished +Fulfill you game goal +(Sell 10000 copies of Windows 10 in the game) + +Just another cookie clicker +The truth of this game +(Sell 100000 copies of Windows 10 in the game) + +Hacker +Happy hacking +(Sell 10000 copies of Windows 10 in the first x days of the game) + +Steady stream of customers +Sell 10 copies of Windows 10 in a single day + +Barely countable +Sell 100 copies of Windows 10 in a single day + +The next marketing master +Sell 500 copies of Windows 10 in a single day + +Bad player +Play so bad that the protagonist realizes it + +A dream +You think you've got it, huh? + +Awake from delusion +(Sort the sales data when inflation factor is >10.) + +Everybody hates Windows 10 +Get an average reputation of -32 or lower + +Nobody likes Windows 10 +Get a reputation of -20 or lower + +Windows 10 Ubiquity +Get a reputation of 20 or higher + +Windows 10 Omnipresence +Get an average reputation of 32 or higher diff --git a/design_doc/activities.text b/design_doc/activities.text new file mode 100644 index 0000000..098696c --- /dev/null +++ b/design_doc/activities.text @@ -0,0 +1,213 @@ +10000 Copies of Windows 10 +(2017 Edition) +Activities + +List of "Outdoor" Activities +---------------------------- +Persuading a Windows 7/8/8.1 user to upgrade (50%) +Persuading a Mac user to migrate (33%) +Fighting free software (25%) +Hold a Windows 10 promoting Event (50%) +Raise Windows 10 fanboys +Move to another city (always) +Deploy forced upgrades (always) +Look for computer dealers, teaching them how to install +Windows 10 instead of Windows XP, also giving away S/N's +maybe. (33%) +Bribe government officials (20%) +Hitting the gym (always) + +List of "Indoor" Activities +--------------------------- +Tieba + - s/n giveaways + - promoting + - heated wars against competitors +Chat + - w/ workmates + - w/ potential users +Sort out sales data + - csv with screwed up encoding +Become net celebrity + - upload videos to Bilibili + - interaction with fans on Weibo + +List of Accidents +----------------- +Falling ill +Caught by police (for bribing too much etc) +Fined/detention by urban mgmt. +computer breaks + - wannacry + - dxdiag-like animation + - bsod-gore + - struck bit + - gliched graphics + - 烫屯葺锟斤铐 + - bootloader? + - millions-o-msgboxes + - empty msgboxes + - random restarts and "updates" + +Detailed Activity mechanics +--------------------------- +[Stamina costs listed in brackets]. +(Default success rate in parentheses). + +* Persuading a Windows 7/8/8.1 user to upgrade (50%) [20] +* Persuading a Mac user to migrate (33%) [25] +* Fighting free software (25%) [33] + +See persuading section in mechanics.text. +On success, sells 1 copy of Windows 10. +Succeeding in fighting free software gains 2 local reputation instead. +On failure, loses reputation: + - older Windows: 2 + - mac: 1 + - free software: 3 + + +* Hold a Windows 10 promoting Event [70] + +Requires >=-5 reputation (in the reputation section of mechanics.text) +Costs ¥500*CPI. +The event might be ruined by urban mgmt. (0.2*(1-urbanmgmtlaziness)) +If ruined, the event does nothing. And you'll be fined ¥500. +(the cost of the event itself does not come back) + +50% success rate. 1% more for each fanboy. 75% max. +8% epic success rate. 1% more for every 10 fanboys. 10% max. +(An epic success has to be a success in the first place, obviously.) +On success: + - sells 5+population*0.1‰ copies of Windows 10 + - gains ceil(population*0.1‰*rand(0.125,1.25)) fanboys + - local reputation + 2 +On epic success: + - sells 2 times the copies of Windows as normal + - gains 1+ceil(population*0.1‰*rand(0.5,1.5)) fanboys + - local reputation + 5 +On failure: + - local reputation - 2 + +* Raise Windows 10 fanboys [60] + + - If local reputation<2, does nothing + - cpd+floor(fanboys*0.1) + - fanboys+rand(0,reputation-2+fanboys*0.5) + - check for rng, if less than 0.4 (60% success rate, that is): + - lose rand(50,100)% of the fanboys + +* Move to another city [max stamina-5] + - see the "moving" section in mechanics.text + +* deploy forced updates [40] + - sells population*rand(0.2,0.8)‰ copies of windows 10 + - loses 20%~125% of cpd (interpolating reputation (10,-5)) + - reputation - rand(1,8) + +* Look for computer dealers, teaching them how to install +Windows 10 instead of Windows XP, also giving away S/N's +maybe. [35] +This fails 67% of the times. If failed, nothing changes. +Giving away S/N switches places of success rate and failure +rate. + - cpd+ceil(population*0.05‰) + - Only one success attempt for each city + - sells 100 copies of Windows but losing ¥5000 in the + process if chose to give away S/N. + - can shift to work in computer store immediately + +* Bribe government officials [50] +This one can be risky. The player must pay an amount of +money to do so. The success rate is modified by the +amount of money paid: [15+log1.5(bribe/1000)]%, capped +within (0%,25%). +Bribing > ¥100k immediately sends the player to permanent jail, +losing all celebrity and money. Fanboys will stay intact though. +Government of each city can be only bribed exactly once, +whether it succeeds or fails. +On success: + - sells 500 copies of Windows 10 + - reputation + 6 + - cpd+floor(population*4‰) + - wanted level + bribe/1000, capped at 36 +On failure: + - there's a 20% chance that the government send you to a + 5 day detention (same as urban mgmt detention) +The protagonist has (wanted level)% chance to be caught by police +everyday. When the protagonist is traveling, the chance doubles. +If the protagonist is caught, the police would send the player to +jail: + - time: total bribe/1000 days + - celebrity: rng<0.4?*0.5:*1.33 + - no activity can be performed during being jailed, but + max stamina increases by 5 everyday. + +* Hitting the gym [90%*max stamina] +Increases max stamina by 8. + +* Tieba/ s/n giveaways [10] + - Every 10 giveaway earns 1 celebrity + - each giveaway costs the player ¥200, which count as a sell + - there's a 5% chance that you mess up and lose 50% celebrity, + also losing 30 stamina for the next day. +* Tieba promoting [5] + success rate: 60% + on success: + - gains (1+(celebrity/10)^2)*(1+(r0.5?1+r0.5?1+...:0:0)) fanboys + - sells (1+(celebrity/10)^2)*rand(0.5,10) copies of Windows 10 + on failure: + - loses max(0.5*fanboy,rand(1,10)) fanboys +* Tieba heated wars [20] + success rate: 70% + on success: + - gains rand(10%,20%) fanboys + - gains 1 celebrity + on failure: + - loses rand(20%,50%) fanboys + - loses 2 celebrity +* Chatting [5] + see the Chatting section in mechanics.text. +* Sort out sales data [5] + finding csv and removing garbled charcters in 10*inflation factor + obsecure folders. + Without sorting out sales data, player will see fake ( + self-inflated) sales data. + For each day during which the player haven't sort out the sales data, + the inflation factor increases by 1. This factor resets after sorting + out the sales data. + As inflation factor increases, negative effects will start occuring: + - > 2: The player sees +~10% cps on the stats panel + - > 3: The figures in the stats panel starts ghosting + - > 4: The player sees +~20% cps on the stats panel + - > 5: The figures in the stats panel starts gliching and flickering + - > 7: The player sees +~50% cps on the stats panel + - >10: The stats panel becomes totally illegible + These fake cps will also affect the apparent number of copies sold + on the stats panel. + +* going live on bilibili [80] + success rate: 80% + on success: + - gains 1+extra 33% fanboys + - gains 3 celebrity + on failure: + - loses 66% fanboys + - loses 5 celebrity +* interaction with fans on weibo [5] + always succeed + - gains 0.1 celebrity + +* Falling ill + Everyday the protagonist has (1-cos(day#/30*pi))*(500-max_stamina)/1000 + chance to fall ill. The player has to spend ¥CPI*20 per day extra (which + can make the player into debt). + No outdoor activities can be performed when the player is ill. Stamina + only fills up to 60%. + Probability of recovering on day i after falling ill is i*10%. + +* Computer breaks + Happens during indoor activities. If happened, doubles the failure rate + of the current activity (triples failure rate of bilibili live activity, + however doubling the rewards if it still succeeds). + diff --git a/design_doc/mechanics.text b/design_doc/mechanics.text new file mode 100644 index 0000000..ae7bcad --- /dev/null +++ b/design_doc/mechanics.text @@ -0,0 +1,165 @@ +10000 Copies of Windows 10 +(2017 Edition) +Mechanics + + +* City & Money + +Upon arriving in a new city, the player has to choose among these options: + - just hawking on the streets + - gains a base cpd of 1 + - risks being caught by urban mgmt police (1-urbanmgmtlaziness everyday) + - local reputation starts at -1 + - working for a computer store + - requires max(reputation)>5 + - salary per day=CPI*60 + - extra ¥10 for each copy of Windows 10 selled + - local reputation starts at 0 + - halves success rate of persuading older Windows user + (unless S/N giveaway to computer dealers is done) + - doubles success rate of presuading mac user + - can be fired if cpd<32 (0.48-cpd/200*3 everyday) + - falls back to hawking if fired + - gets ¥600 when fired + - starts with 75% of your max stamina everyday. + - start a microsoft store + - costs ¥50000+CPI*10000 + - gains ¥500+CPI*400 per day + - gains a base cpd of 10, increasing itself by 1 everyday + - local reputation starts at 5 + - persuading activities are disabled + - starts with 50% of max stamina everyday unless local reputation > 15 + +The player can change jobs every 10 days (on day 10, 20, 30 etc.) +Unless the player has a microsoft store in that city, the player can choose +the job again on arrival if the city has been visited. Returning to a city +with a microsoft store gains you 1% more cpd per 1 celebrity. + +Minimum living: -CPI*12 per day. Actual spending varies with in *(12,24). + +Salary from Microsoft arrives every 30 days (on day 30 and day 60). +Salary from Microsoft=3000+(copies of Windows 10 selled in that time span*40) +If the player failed to keep the sales data, "copies of Windows 10 selled in +that time span" would equals to -50. + +If caught by urban mgmt, you'll be put into detention (which differs from +being jailed for bribing): + - no activity can be performed + - max stamina does not grow +The duration is rand(1,3). + +City attributes are listed below: +CPI (1~10) +population (10k~1m) +customers per day +number of fanboys +urban mgmt laziness (0.5~0.9) + +Starting city has fixed attributes: CPI=8, population=200k, urbanmgmtlaziness 0.6 + +Initial stats: +¥5000 +Reputation {0} +Celebrity 0 + +* Customers per day (cpd) +cpd is added to sells at the end of each day. +cpd can be negative. +sells earned by cpd in a city cannot exceed 10% of its population + +* Reputation +Reputation modifies the difficulty of the game. Reputation is per-city based. +There's a global reputation though, which equals to the average reputation among +all cities. + +Reputation modifies the game in the following way: +global rep<-31: ends the game immediately +global rep<-16: unable to travel among cities anymore +<-9: fanboys effect will cease (losing all fanboys) +<-5: cannot hold promotions anymore +<-2: fanboys effect reduced to 50% +<-1: persuading older windows users to migrate becomes tricky (halves success rate) +< 0: persuading mac users to migrate becomes tricky (halves success rate) +> 2: persuading older windows users becomes easier (80% success rate) +> 4: persuading mac users becomes easier (60% success rate) +< 4: persuading free operating system users is tricky (halves success rate) +> 8: fanboys effect increased to 150%, persuading older windows users becomes automatic +> 10: persuading free operating system users becomes easier (50% success rate) +> 12: fanboys effect increased to 200%, persuading mac users becomes automatic + +* Persuading +Persuaing is somehow RNG-based. The player interacts with the persuaded person and modifies +the RNG range of the final test. If the final generated number is greater than the success +threshold, the persuade succeeds. + +The interaction script is randomly selected from a preset. See the persuading section in +script.text for details. + +* Chatting + -w/ workmate Charlie + This workmate is set to working in the same position as the protagonist. However he knows + a lot: the sales data of the protagonist (and whether the player is keeping it correctly), + where the protagonist is traveling to and the stats of that city. He sometimes gives + hints to the player. + + -w/ workmate Donald + This workmate is also working in the same position as the protagonist. He's got a lot of + money but he seems to be playing the fool all the time, asking the player for some secret + combination so that he will give the protagonist ¥10000 (or ¥100000 if the player already + reached ¥10000). + + The player can give any combination, but if it is incorrect, Donald will take double the + money away from you without asking (which may result in negative money savings)! + + The correct combination is obtained by ██████████████ and █████████████████████. + + -w/ boss + The boss knows nothing about your real sales data -- until you reached day 90. + If you got ransomed by his WannaBigCry worm, you'd better send lots of bigcrys instead + of ¥6666 worth of Windows 10 product keys to him. + + By the way if you are aware of his old friend, Ulysses' current status, he might be delighted + to hear about it. + + -w/ potential users + only when local reputation >5 or global reputation >7. Basically same as persuading but + the success rate is always 80%. + + Chatting script is found in script.text. + +* Moving +The protagonist can move to another city. Moves cost money, and always span a whole day. +If the player has no microsoft store in the original city, all cpd in that city will be lost. +Otherwise, 60% of the cpd will be kept. Fanboys will be capped at fanboys*(celebrity/50). + +The city map is generated at the start of a new game, completely randomly. + + +* Fanboys +The player can raise Windows 10 fanboys. A user successfully persuaded manually to migrate to +Windows 10 has an additional 20% chance to become a fanboy. For each fanboy the player has, it: + - increases the persuading success rate by 1% (capped at 20%, which will not be doubled or halved) + - adds 5% more cpd (capped at 100%) + - increases success rate of many activities. See activities.text for details. + - having more than 50 fanboys in a city will earn you 10 celebrity immediately. + - for every 10 fanboys, you get an additional ¥50 per day. + + +* Celebrity +Celebrity can help the protagonist even more. + - starting reputation for a new city increased by floor(celebrity/10) + - for every 100 copies of Windows 10 sold, getting 1 fanboy in every visited city per 20 + celebrity + - reduces fanboys loss when moving away from a city (see the moving section) + - having > 50 celebrity eliminates the risk of being caught by urban mgmt police. + - having > 40 celebrity halves stamina cost of persuading activities and promotion activities. + +* Stamina +The player's stamina resets everyday to its maximum value, which is initially 100. +The player cannot do anything costing more than its current stamina. +Hitting gym increases the maximum stamina. + +See the activities section for stamina costs. + +* Activities +See activities.text for defails. diff --git a/design_doc/script.text b/design_doc/script.text new file mode 100644 index 0000000..17ffd1a --- /dev/null +++ b/design_doc/script.text @@ -0,0 +1,159 @@ +10000 Copies of Windows 10 +(2017 Edition) +Script + +W_general +WARNING: THIS IS ONLY A GAME! +I wasn't being serious through the whole game +except this dialog! +Whenever you get scared (if this game managed +to scare anybody somehow), just keep in mind: +THIS IS ONLY A GAME! +*Also the entire storyline is fabricated. +>OK, I'll not blame the author if my computer +>went up in flames. + +W_malwarebehavior +WARNING: this game sometimes simulates malware +and bad behaviors of Windows, including random +reboots, BSODs and modification of boot items. +None of these will really break your computer or +eat your files though, unless you're working on +a document when the game crashes and reboots your +computer (or you have encountered a bug)! +If you are not convinced, just play it in a virtual +machine or do not play it at all (which is the best +choice). +Also this game is of alpha quality, so playing in +a virtual machine is highly recommended. +>Please, do not scare me (disables bad behavior) +>(NOT RECOMMENDED) +-- +>I'm brave enough! + +W_malbehaviordisabling +You are about to disable bad behavior... +This effectively prevent you from accessing some +achievements and endings. You might want to +playing this game inside a virtual machine. +Are you sure to turn off bad behavior? +> Yes, turn bad behavior off +-- +> Nope, keep it on + +W_copyleft +Before you modding this game: +This game is free software. Basically that means +you can take the source code and modify as you like, +as long as it is covered by the original license +if you release it to public. Also, no warranty of +any kind. Read the LICENSE file for details. +>NOBODY IS GOING TO MOD YOUR SHITTY GAME! + +S_w10req +As a Microsoft employee, you know you should have +been using Windows 10 since its launch! +>Okay I'll install Windows 10 right now + +M_MainMenu +> Continue +-- +> New Game +-- +> Achievements +-- +> Options +-- +> Quit + +M_OptionMenu +> Music 0~10 +-- +> Sound Effects 0~10 +-- +> Bad behaviors on/off +-- +> Back + +S_background +You're a low-tier marketing staff working for Microsoft +China. Your boss just found out that Windows 10 had +barely reached half of Windows 7's market share in China +and he was really bothered by the fact. He then made up +the mind to kick all low-tier marketing staff out of their +cozy offices and gave each of them 10000 copies of +Windows 10 to sell within 90 days. Are you up to the job? + +I_general ++---------------------------------------------------------+ +| | +| | +| | +| Image | +| | +| | +| | ++----------------------------------------------+----------+ +| Text area | | +| | stats | +| | | +| | | ++----------------------------------------------+----------+ + +I_date +Day x + +I_newcityarrival +City x + +Q_jobselect_start +You are now out of your office. You don't really know what +to do next. Soon you realized that you need to do something for +your living. What's your plan? + +> Just hawking on the streets -> next scene +> find a job at a computer store + -> your Microsoft uniform looks like a huge threat to the + local computer dealers. They refused to work with you. +> start a microsoft store + -> don't you realized that this is unrealistic? + +Q_jobselect +You are now in city x. What's your next step? +> Just hawking on the streets +> find a job at a computer store +> start a microsoft store + +Q_jobselect_visited +Isn't it great to return to a familiar place! What are you +going to do? + +Q_jobselect_msstore +Apparently the employees in your microsoft store knew that +you will arrive in advance, and now they are at the station +to give you a warm welcome! +> fine... thanks? + +Q_dailyquotafailed +You failed your daily sales goal yesterday... +Would you like to resign right now, or resign tonight? +>I give up -> ordinary game crash +-- +>Postpone 10 hours! -> nothing + +Q_wannabigcry +Payment will be Whoopsie-daisy! Your sales data have +DOUBLED in been encrypted! +xxxxx + +You'll lose your Send ¥6666 worth of Windows 10 Pro +job in product keys to this mail address to +xxxxx get them back! + your_boss@microsoft.com +>I won't fall for this scam! ... oh wait they are really +encrypted?... +(Sending product key: loses ¥6666: game crashes, get secret + combination and recover sales data + Sending bigcry (a lot of them, each one has 1% chance to + terminate this): recovers sales data) + -- cgit v1.2.3