Urbanization is a .NET implementation of a city building simulation game, heavily inspired by the classic Simcity game released in 1989; of which its source code has been released under the title Micropolis.
Among the features offered by this implementation are:
- Customizable terrain generation
- Power grid and infrastructure simulation (including population growth and commuting)
- Crime and fire hazard, both of which can be controlled by building police and/or fire stations
- Pollution, which is negatively influenced by industrial areas (and positively by nature!)
- Overlay heat maps; offering insight into the failing or succesful growth of city areas.
A Dockerfile is included which can be used to build and run the webserver.
For example, run from within the /src/-folder the following commands:
# Build an image, tag it as 'urbanization'...
docker build . --tag urbanization
# Run a container instance named 'mycity' on port 80...
docker run -d -p 80:80 --name mycity urbanization
A live demo of the web app is hosted at: http://urbanization.cloudapp.net/
Note: Availability and performance may vary. If the link doesn't work, you can always grab the latest build:https://ci.appveyor.com/project/Miragecoder/urbanization/build/artifacts
- Clone the repository
- Build the solution
- Run the (primarily, integration) tests
- Run the Mirage.Urbanization.WinForms-project (if you wish to run from your desktop)
- Run the Mirage.Urbanization.Web-project (if you wish to host a web server)
Run the Mirage.Urbanization.WinForms-project and use the application by intuition like any other windows application. The Mirage.Urbanization.Web-project can be utilized if you wish to run the web version of the game. Starting the web-project will immediately start a web server on all network devices, on port 80. (Http)
You can also start a web server from within an instance of Mirage.Urbanization.WinForms; allowing access to the game session that is taking place inside the desktop app from the web.
The project is not completely finished, but it's well into its beta stage. I'm not expecting high contribution rates on this project but if you're totally interested you're more than welcome to chime in.
This project was set up primarily for educational purposes. It was primarily born out of interest into (game) engine design. To its author, it is a welcome expedition away from his day-to-day activities as a .NET developer which primarily involve the development of data synchronization services.
http://hibernatingrhinos.com/oss/rhino-mocks
http://blogs.msdn.com/b/bclteam/p/immutable.aspx
http://openexchangerates.github.io/accounting.js/
This project uses the MIT license. See 'license.txt' for more info.