SEE ALSO Auto-Generator
A basic mechanism for this MMORPG is to have an endless amount of space for additional Players to explore/work on, and for existing Players to re-develop their own little part of the City. You will always need more 'wild' places to go Adventuring in and to seek materials/Splicers. There is a 'core' (fairly) civilized area that will exist from the start, but Players will expand outward from there, 'conquering' and remaking the ruined City.
How does a game which will run for years, and see many players pass thru making their contributions, keep going without running out of space/resources?? Especially when it is effectively one big building, which once developed stays developed ? Answer - an Auto-Generation system that can enlarge the game's City Map outward when needed. A City built of a system of interchangeable/configurable 'building blocks' just requires more of them to be appended to expand its border areas (before the Player sees the edge). These expansions CAN be done 'programmatically' -- using rules that specify logical patterns and limitations to make sure what is generated makes sense. Once basic features (who's fit/integration is the most restricted) are decided and are in, then the more specific variations of details can be filled in (using common 'local' themes/styles matching the logical nature for the area and the larger situation it is in).
There ARE different flavors/patterns of areas that have to have some consistancy and cohesion in how they are positioned and fit together to make sense (and not look absurd).
The City Center should largely conform to what we've seen thru those ocean windows. But how many buildings did you see? From what I saw there were quite a few visible as I looked out those windows. What was behind them in the murk? Therefore we can always add more short and tall buildings connected by more Streetways (if needed) and further extensions of Atlantic Express and the Bathysphere transport system. Did you notice those transportation maps showed addition destinations "service cancelled' that we never went to?? I would try to use that game information be consistant when expanding the city, but there is a great deal of leeway..
Certain key locations seen in BS1/BS2 (Fontaine Futuristics, Fleet Hall, Hephaestus, Ryan Amusements, etc..) would exist and in very specific placements relative to each other. But what else was between them?? Lots of space to fill near and around them even in those central locations. Who says there cannot be a rival to Kasmirs in the uptown area?? Certain locations like Hephaestus looked like they were somewhat seperated from the city (unstable geothermal area you wouldnt want to build skyscrapers on). Similarly Persephone was on the edge of a 'bottomless' trench which would help define at least one hard edge of the city map (or define a different flavored area the player might get involved with - a chance to descend into that 'abyss').
Typical modern cities are laid out on a grid pattern, usually working around irregularities of the location. The inner city would likely follow such a pattern. Each rectangular section can still have different things within it, but the basic transportation would be built to follow the grid.
There would be outlying areas for industry/manufacturing/farming/raw materials that were not shown in the game. You would need such complexes to meet Ryan's attempt at being 'self-sufficient'. Connecting structures can always work around anything already previously located when expansion is needed (rock tunnels running below the city are handy for that). The city can radiate outward with ever-widening areas to expand into. The further out you go and the more open space there is, building no longer has to follow the packed grid pattern and large complexes often are 'one ofs' of more irregular shape.
Shopping Malls and Arcades would likely be generated in large coordinated groupings. They only get to a certain size before they are too repetitive in the shop types, but they have to be big enough to cover a sufficent range of products/services. Once a player 'breaks in' to a new unexplored Mall area, they will likely freely march around and look through the whole area. It should all be ready (prepared) to be seen in every detail before that (all details would be finalized). A 'Mall' might be linear or circular or branching in its layout. The desired overall shape would be formed from appropriate 'mall' type interconnecting building blocks and it would be made to fit the adjacent city. Interchangeable 'shop' slots inside this Mall would be filled with 'shop instances' (themselves generated to meet the local theme and the desired ratio of shop types, and cohesive in detail). There would be a variety of standard 'shop' sizes (maybe 5) that would be fitted. Each shop might have multiple rooms and be filled with contents appropriate to its type (and be in an appropriate wrecked state).
Consistancy - ratios, rules, logic and themes.
The amounts of different types of facilities needed and desired by the original inhabitants would be defined by proportions. For every manufacturing plant with X workers you will need some equivalent basic residental space for them, with some small number being upscale (for the management). The same goes for commercial organizations, but usually with a larger percentage of 'white collar' workers (who often have somewhat higher housing standards and goods desired). Service jobs have their own particulars.
There are certain amounts of different industrial/manufacturing goods production to meet the needs of the city's original population (20000 - though wasnt made plain that include citizens in outlying areas outside of the 'city' proper). Industrial plant space per worker is usually a much larger area than manufacturing or commercial space per-man). There was wide spectrum of consumer goods produced for the population of differing amounts. Each item produced often came from several raw materials which also would have to be produced.
Shops for consumer goods and services run on similar ratios with different mixes of items/services for different social levels. Businesses are often 'local' to the consumers they serve. In a City things can be interlaced - more than you find in suburb neighborhoods. City neighborhoods do exist and they have their own themes/tones/flavors (example- Paupers Drop). Types of establishments that would be present in local areas: (food, sundries, clothing, furnishings, entertainment, luxuries, health, tools, media, social). We saw a sampling of such in our treks thru BS1 and BS2.
Look and feel -- Industrial/manufacturing plants usally have all the same grungy look and vary in detail by what machinery they use. Upscale shops have upscale decorations.
An Apartment complex is fairly consistant with a local theme decoration and the individual interiors (and prop content) vary the most, matching the people living in them (of particular social class/income/professions). 'Rundown' often is the 'normal' state for lower-class rented appartment complexes. Of course, in the 'Ruins' any contents will be thoroughly trashed by the civil war and years of neglect.
Basic color/decorative themes for Malls and Company office facilities have consistancy within their whole. Government facilities similarlyare uniform . Individual buildings could have their own themes with sub-themes for different functional areas (managerial vs sales&customer vs office vs grunt-labor vs basement storage). Company logos would consistantly be displayed.
Many such formulating rules/limitations/guidelines would exist - from general to very specific and be divided into subsets applicable to Generation of specific object flavors. Whatever details are generate will reflect the ruined state of the City --- varying in spectrum from a state of being still lived-in by the 'wild' remnants, all the way to being completely flooded or even blown apart.
Certain City locations/landmarks identifiable from BS1/BS2 are remembered by the player and would be initially VERY specificly positioned on the World Map (with their immediate connecting structures specified to flesh out the area). Some of them we were actually in and would be carefully replicated (some will be actually expanded to fill in the many sections we never got to see behind those jammed/blocked doors/stairwells and unseen utility ways). Those locations are unique -- with exact detail (add 7 years more deterioration for those seen in BS1). Others we did not get close to would be specified only partially (like the many tall/major buildings who's exact interior contents arent known). The auto-generation can fill them in later to full detail if anyone gets to them. General details of exterior shape/number of stories/their basic purpose would be initialized for them first, since that is visible from a distance (like what lights are on and which floors are smashed). The many other finer detail would be left unspecified (to be resolved to full detail when players get close to them).
Details of the complete paths of the Altlantic Express, which has all that permanent track structure/known stations, which would be accurately positioned (using the game maps/views for an approximations). The Bathysphere system is more free form and needs only the stations at the destinations with no real intervening structure (other than open ocean paths and the cables). That Chrysler-like building we see is an obvious reference point with a prominent location. The 'core' area of the City will have to be specified in full detail, as that is the place the first players will start and it will be accessible from the first moment. Tenenbaum's new rehabilitation clinic would be amongst these 'core' locations.
Pre-seeding the city (developer's premade macro patterns guiding auto-generation):
Using logic/rules (mentioned above) as guidelines, generalities for different extendable areas of the city can be pre-laid out ('seed' data - created by the developers to create a cohesively/coordinated plan). Simple generalities (this area industrial/commercial/manuacturing plants, that area residential (upscale/downscale), downtown/uptown here, main throughfares from there to there) via flags/coefficients would be marked out on a map grid, General 'flavor' markers would define the growth patterns used by the 'auto-generation' Server mechanism. Developer-created 'seed' data acts as a starting point facilitating less complicated rule-based decisions (residential rules, industrial rules, outer city rules, interconnection rules, etc..) So, with hand-created guidance data ('hints') conforming to a valid City plan, some simpler logic decides on specific details to 'generate' (It is much easier than trying to come up with a program to generate Realistic patterns from scratch - there will already be alot of logic to create just using hints to do a proper job for this auto-generation).
Most City buildings and their interconnecting structures would be prebuilt from basic external/structural shapes and a selection of cosmetic detail. It is much easier to make everything fit when you can shuffle all the possibilities before actually placing and locking down the plan. Locations would have to be reserved for all the required industries. Most of the gross details for these would be pre-defined, leaving fine/arbitrary details unresolved (left to auto-generation later). Most large industrial/manufacturing complexes would be pre-specified with much detail decided before the game was started -- they are generally unique and have fairly specific shapes and positionings of buildings/machinery that really is easier to do by hand. Smaller more common installation can be located almost anywhere if they fit into a 'city block' in the map grid (and so can be placed in different places in each Server World).
After basic positionings are decided, Companies with name identities would also be set. Names are particular items that would have to be predesignated (or picked randomly from premade candidate lists) to meet identities/entities that we've already heard of (in the Solo games), and match the overall fictional naming scheme. Many others will be semi-generic names (auto-generated combinatorics) reflecting the population's demographics mix and genre. Multitudes of logos and other details will be created by players to be used )like generic frames around company titles).
Some 'generated' fine details (used to individualize many locations) may just be random pulls from a set of available options (stores/shops/buildings/complexes/plants/plazas). Some in-game locations may not have much original identity remaining -- having been largely destroyed in the chaos after 'The Fall' (even trashed/gutted interiors will be auto-generated with appropriate details). Some existing details may be of little consequence as a ruined shop being rebuilt and reopened (in a recently stabalized area) will likely be personalized (re-detailed) by the player doing it. It may be put to a completely different use and changed almost completely except for the external walls.
Again, whatever level of partial detail is preset or later fully generated, it will reflect a properly ruined state of the most parts of the City. For the final 'full' level of details, an important factor is how much useful material is left (versus the useless) for the players. This may vary quite a bit with some areas thoroughly picked over by years of Splicers, and others having been cut/blocked off early on which may be filled with lots of pre-civil war goodies.
Outside in the sea there is also terrain which players/'team' NPCs can access (using diving suit/submarines/bathyspheres). There are many useful things laying around, and more than a little City infrastructure out there (and missions to do). Heavy external wall/window repairs would be done from that side. That terrain would be more of a standard 2D terrain mesh in which the city buildings and structure sit. There are different sections of that surface - the solid rock the city was placed on, the edge that falls away,plains of silt, ridges and canyons, etc.. The interior windows would actually look out into that (real view instead of the static skybox we saw in the Solo games) . The various seascape settings (those pretty glowing corals, kelp beds, etc..) and water volume with different types of sealife can also be composed of modular 'building blocks'. They are more independant of each other, so that 'on-the-fly' TEMPORARY auto-generation could be simply done for vast ocean areas outside the City. A similar pre-made 'seed' map grid pattern would control appropriate content creation in those areas.
The Auto-Generation system (ontop of the modular world system) makes it possible to create a large MMORPG World without having to hand craft it all (which is $$$$ expensive). Templates (generation patterns/rules) will fill in all the finest details tirelessly (programatically) once they are working.
Building the initial game World, developers can add seed data to pre-place certain features (like the City layout streetplan and buildings and the transportation systems, landmarks, etc..). They would then use the Auto-Generation mechanism to fill in further details (as far detailed as needed - as some sections wont be filled-in all the way until Players get near to them).
Some buildings/terrain like those seen in BS1/BS2 (and DLC) would be replicated almost verbatum (after conversion to work with the MMORPGs modular world system). There was quite alot of buildings you passed thru in the solo games, so some of it would be in the central area (Apollo Square vicinity??) and be already fixed up/repaired, and many others further out still be in ruins (or like Persephone largely destroyed/crapped over by 'The Family').
Different locations could be tweaked seperately to adjust things for a certain effect (certain themes) - the 'tweaks' themselves are just scripts that force specific features and those can be generated by Game Editors. The Auto-Generator is a tool that can be run to test ideas, make improvements and then run again til refined sufficiently. Finally, the initial World data would be built to start off the game for the Players.
The parts of the World to be Auto-Generated after the game starts (local details built on-the-fly) can be different on each Server's game World (just allow random factors to build them differently).
A system like this does take a significant amount of testing to make sure it works right (auto-placed jumbles of junk not so bad, but have to watch for 100 of something rediculously valuable being dumped in one place as a bug..). One advantage of a modular script system is that you can add logic/rules into the Templates to check for endcases and remove/correct abberations before they get added to the Servers. Likewise, a running Server's data can be patched for corrections after certain unbalanced things got into the World data.
As I mentioned in the Bioshock Infinite forum about replayability, diverse variations and combinations that make encounters and situations different will be the way to continually give Players something new (and maybe challenging when they have to 'think on their feet'). In A MMORPG, you dont 'replay', but you can go someplace and find something different today and then go back tommorrow and face something else different (no more Disneyland animatronics situations for cheatbook authors to give you exact walkthru instructions).
One thing a system like the one Ive described makes easier to have is GM coordinated 'events'.
It is much easier to control/facilitate enemy NPCs spawns (they are no longer locked into a static World Map) and Props can be added/removed/modified by calling the Templates to 'set the stage'. They can be created in advance and tested before they are put into effect on a Server (Ive seen botched GM events on MMORPGs before). The NPC behavior system means that actors in the Events can run themselves instead of having to be directed explicitly by GM commands (which then are often slow and simplistic). With the ability to have many variations with minor changes, running the same Event again starts to require little extra work (and they can be applied to other Servers just by moving the Event 'scripts' to each.) GM salary costs unfortunately eat into profits (and have been minimized into uselessness by most companies) but at least this system would cut the work needed to facilitate GM run world 'Events' - if there are to be any.
So, Yet another 'Asset' to create via a 'Player Created Asset' system.... Seriously, when game companies start using such a system it will both decrease their production costs $$$ and greatly improve the MMORPG players experience. (Of course none of them are interested in that)