Skip to content

CobraElDiablo/CityModule

Repository files navigation

README : CITY MODULE FOR AURORA (0.2Dev)

	City generation module based on specified parameters. This modules intention is to be able
	to generate a city, including waterways, roads, rail, and buildings over a single region or
	to even create the regions as needed for import of pre generated cities, or even game cities.

CURRENT:	0.0.0.23

	Module load and is recognised by Aurora, simple command console interface framework.
	Some internal functionality for response to commands (does not perform any actions,
	apart from the city generate command), regions are generated along with owning user
	and estate/parcel information without conformations from the user at the server command prompt.
	Create a ini configuration file for City Builder and move it's options from AuroraModules.ini

TODO:

	Adapt the region creation code to allow for dynamic repositioning of the regions if they overlap any other region.
	Expand framework for future features. GeoSpatial (GIS) data sets.
	Upgrade the internal methods with lots more functionality.
	Primitive creation and manipulation via City Builder.
	Add scripts and events to the city as a whole and for individual things, like buildings, cars etc.
	Add import and export features for generated cities using the various data sets that are defined.

FUTURE:

	Paint the sky blue with pink dots, erm anything is a potential possibility, remote admin
	for the module perhaps, transfer of buildings, land etc through any 'currency' services 
	available. To be able to simulate the growth and development of the city, altough this 
	will only happen when a currency system has been added to Aurora to allow for an AI driven 
	marketplace economy for the city to be used, with potential for linking to other cities 
	for 'trade'. Provide a 'job' market that users can take and be paid in world currency for,
	although this role will probably be taken by the bots that Aurora has with some extra 
	behaviour added to them.

EXAMPLE CONFIGURATION FILE:

	Create a new file CityBuilder.ini and place in the Configuration/Modules directory, copy 
	and paste the following and alter as needed.

;; New module, City Builder, allows for the construction of a city using a random seed value,
;; import data for a city from other things like games, for example GTA IV for the pc. A
;; final option is to allow a city that has been generated or imported to age, for the cities
;; buildings to change over time, this is not so much an ageing process of the buildings themselves
;; but more of how the city develops and expands over time.

[CityBuilder]
	;; Specify a default name for the city.
	DefaultCityName = CityVille
	;; Specify a default avatar that owns the city, they will also own the land/estate/region.
	;; Also password and email, if the account is not present on the server it will be created.
	DefaultCityOwner = Cobra ElDiablo
	DefaultUserPassword = L3tm31n
	DefaultUserEmail = username@email.domain.com
	;; Default estate that owns the city. Again if this estate is not present it will be created
	;; and assigned to the above default user account.
	DefaultCityEstate = Liquid Silicon Developments
	DefaultEstatePassword = L3tm31n
	;; Default region size, only multiples of 16 are allowed here, so be careful it's
	;; not checked yet.
	DefaultRegionSize = 256
	;; Default number of primitives allowed on a per region basis, this is a high number due to
	;; the way in which the buildings are to be constructed, at some point in the future when 
	;; the ability to construct complex single primitive things this will allow for more prims
	;; per avatar in the region instead of them been eaten up by the city and it's contents.
	DefaultPrimCount = 100000
	;; Number of centers for the city, minimum is 1 for a single regin city. Maximum depends on
	;; the number of regions that are going to be allocated to the city, for example a region 
	;; count of 2 will construct 2 * 2 total number of regions.
	CentralRegionCount = 1
	;; This value indicates the size of the city in terms of regions, minimum is 1. Maximum is
	;; dependant upon the server which is running Aurora. Note that the number is always squared
	;; so 1 gives a single city region, where as 2 gives (2 * 2) 4 regions in total, 3 gives 9
	;; and so on, note during the construction process it still asks questions so keep the number
	;; small for now to save typing.
	CityRegionCount = 1
	;; Default state of the module enabled (true) or disabled (false), regardless of whether it
	;; is enabled or disabled the commands from the server prompt are still available, although
	;; you may need to enable it first from the servers command prompt interface.
	Enabled = true
	;; Default random seed for auto generation, can be useful for debugging to allow for the same
	;; city to be generated for testing purposes.
	DefaultCitySeed = 0xC0BAE1D1AB10
	;; Default port to start from.
	DefaultStartPort = 9500
	;; Default location of the first region occupied by the city.
	DefaultStartLocation = 9500,9500
	;; Default positioning type, corner or center (not implemented yet)
	DefaultLocationMode = Corner
	;; Default central region (not implemented).
	DefaultCentralRegion = 9500,9500
	;; If the region is overlapping other regions then find an alternate starting location
	;; for the required region size occupied by the city.
	FindFirstFreeRegion = true
	;; When constructing regions make sure that they will not overlap any other region that
	;; is in the server instance (standalone) or in the connected servers (grid).
	CheckRegionGeneration = true

;; EXTRA NOTES
;;
;; Note that duplicate regions are not checked for so if you run Aurora create a city, shutdown
;; or restarts Aurora the previous city will still have regions and can overlap with the creation
;; of another city after restart. Also note cities are not saved to disk/database for later retrieval
;; yet.

About

A module for auto generation of entire cities in Aurora based on specified parameters. Future simulation of city growth and change.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages