The design of Citypunk ====================== Citypunk (working title) will be a text-based strategy game in the vein of Drugwars, except with a cyberpunk theme, less violence and hopefully a variety of things to do, including story elements. Core gameplay ------------- The core gameplay will consist of moving between key spots in a city, buying and selling various kinds of goods in the hope of making a profit, surviving, and finally having enough to buy a suborbital ticket. Goods should be portable, and suitably-themed: - data caches; - micro-drones; - smart dust; - metamaterials; - DNA samples; - biochips; - medicines; - implants. A longer list is desirable, but it SHOULD NOT include drugs, or weapons. There are too many games with that kind of content already. Naturally, this type of gameplay would not be very interesting without hazards. Obvious candidates include the police and rival dealers, and the player should be given options for how to react: - in case of rival dealers: fight, run, or pay tribute; - in case of police raid: dump merch, run, or bribe. Each option should provide different risks and benefits. The player character might even have traits like brawn, stealth and charm, that can influence their chances with various approaches. Note that you can't fight the police either way, and fights with rivals will result in lost health even if you win. Travel ------ There will be roughly 10 key spots in the city, connected via streets -- forming a graph, text adventure-style. The player won't be able to just jump from any point to any other. Locations should be spaced out at roughly equal distances, so different travel times don't have to be accounted for in early versions of the game. Vehicles could be introduced at some point, but that would considerably impact time management (see next section). Various spots should offer not just different prices for merchandise, but also different chances to run into various kinds of trouble, so that high risk balances high reward. Time ---- To provide some pacing, the game will be divided into nights, that will be 10-hour long for convenience. Assuming an average travel time of half an hour between two nodes, that means 20 turns per night, at the end of which the player should have enough money to pay for a bed and a couple of meals (on pain of losing health). Now, 20 turns is a lot, so vehicles, tempting as they sound, might unbalance the game too much. Perhaps buying and selling should also advance the time? RPG elements ------------ Similar games typically offer the player optional gear they can acquire to improve their capabilities. In our case, like a messenger bag to carry more, a police scanner to warn of upcoming raids, or a skateboard if we allow vehicles. Traits as described above are *not* typical, but a distinct possibility nevertheless. Story elements -------------- Given the theme and core gameplay, adding story elements such as missions given by NPCs would make a lot of sense. These could be procedurally generated, handcrafted or both. Naturally, that would mean extra game mechanics such as dialog trees. User interface -------------- The main game screen will have two big areas: First, a rendition of the current location, either as a textual description, an illustration, both or something else -- depending on implementation, and second a set of tabs, labeled either by verbs or nouns: - look, buy, sell, equip, travel, bank, gossip, work; - status, market, gear, map, bank, gossip, jobs. Both versions make sense, choosing one will require consideration. Note how some words work just as well in either role. Last but not least, a status bar indicating the date and time, money, health and other such information is also desirable. Implementation -------------- Given the nature of the game, mostly text-based with optional illustrations for flavor, a wide range of possible technologies would be well suited: - Python with an ncurses interface; - some version of BASIC with a standard GUI toolkit; - a ZX Spectrum game for that matter; - a web-based game; - a text adventure in, say, Inform 7.