The ultimate performance semi-realistic city builder!
- Overview
- Features
- Installation
- Getting Started
- Road System Documentation
- Move It Tool
- Controls Reference
- Configuration
- Contributing
- Support
- License
TranSimCS is a high-performance, semi-realistic city building simulation game built with C#. The game focuses on creating efficient transportation networks and managing urban development with realistic traffic simulation and road management systems.
- Advanced Road System: Comprehensive road network management with realistic traffic simulation
- Move It Tool: Powerful object manipulation and positioning system
- Performance Optimized: Built for smooth gameplay even with large cities
- Semi-Realistic Simulation: Balance between realism and playability
- Extensible Architecture: Modular design for easy customization and expansion
- .NET Framework 4.7.2 or higher
- Visual Studio 2019 or later (for development)
- Windows 10/11 (recommended)
-
Clone the repository:
git clone https://github.com/Monniasza/TranSimCS.git cd TranSimCS -
Open the solution file:
TranSimCS.sln
-
Build the project:
- Press
Ctrl+Shift+Bin Visual Studio - Or use the command line:
dotnet build
- Press
-
Run the application:
- Press
F5in Visual Studio - Or run the executable from the build output directory
- Press
- Start TranSimCS
- Create a new city or load an existing save
- Use the tutorial (see
The Tutorial.odt) to learn basic mechanics - Begin building your transportation network
- Plan Your Layout: Start with a basic road grid
- Build Infrastructure: Add roads, intersections, and traffic management
- Use Move It Tool: Fine-tune positioning and alignment
- Monitor Traffic: Observe and optimize traffic flow
- Expand: Grow your city systematically
The road system supports multiple road types with different characteristics:
- Highway: High-capacity, high-speed arterial roads
- Avenue: Medium-capacity urban arterials
- Street: Standard residential and commercial roads
- Alley: Low-capacity service roads
- One-Way Streets: Directional traffic control
- Pedestrian Paths: Walking-only zones
- Service Roads: Utility and emergency access
- Select the Road Tool from the toolbar
- Choose road type from the submenu
- Click and drag to create road segments
- Roads automatically connect at intersections
- Speed Limit: Configurable per road segment
- Lane Count: 1-6 lanes depending on road type
- Traffic Direction: Bidirectional or one-way
- Surface Type: Affects vehicle speed and maintenance
- Traffic Lights: Automatic or manual intersection control
- Stop Signs: Simple intersection management
- Yield Signs: Priority-based traffic flow
- Speed Zones: Variable speed limit areas
Roads are managed through the road.txt configuration file:
# Road Configuration Format
# Type,Speed,Lanes,Cost,Maintenance
Highway,80,4,1000,50
Avenue,50,3,600,30
Street,30,2,300,15
Alley,15,1,100,5
- Type: Road classification name
- Speed: Maximum speed limit (km/h)
- Lanes: Number of traffic lanes
- Cost: Construction cost per unit
- Maintenance: Ongoing maintenance cost
- Real-time traffic density calculation
- Congestion detection and routing
- Emergency vehicle priority
- Public transport integration
- Upgrade existing roads to higher capacity
- Preserve existing traffic patterns
- Gradual construction simulation
- Cost-benefit analysis tools
The Move It tool is a powerful system for precise object manipulation and positioning within your city.
- Toolbar Access: Click the Move It icon in the main toolbar
- Keyboard Shortcut: Press
Mto activate - Context Menu: Right-click on objects for Move It options
- Single Select: Click on individual objects
- Multi-Select: Hold
Ctrland click multiple objects - Area Select: Click and drag to select all objects in an area
- Filter Select: Use filters to select specific object types
- Drag: Click and drag objects to new positions
- Precision Mode: Hold
Shiftfor fine-grained movement - Grid Snap: Hold
Ctrlto snap to grid points - Axis Lock: Hold
Alt+ arrow key to lock movement to specific axis
- Align Tools: Align multiple objects to edges or centers
- Distribute: Evenly space selected objects
- Mirror: Create mirrored copies across axes
- Array: Create patterns and repetitive layouts
- Rotate: Use rotation handles or
Rkey + mouse movement - Scale: Use scale handles or
Skey + mouse movement - Uniform Scale: Hold
Shiftwhile scaling to maintain proportions - Pivot Point: Set custom rotation/scale center points
- Roads and Intersections: Precise road network adjustments
- Buildings: Residential, commercial, and industrial structures
- Props and Decorations: Trees, signs, and aesthetic elements
- Utilities: Power lines, water pipes, and service infrastructure
- Transportation: Bus stops, train stations, and transit infrastructure
- Coordinate Display: Real-time X, Y, Z position feedback
- Measurement Tools: Distance and angle measurements
- Snap Options: Snap to objects, grid, or custom points
- Undo/Redo: Full operation history with unlimited undo
- Copy/Paste: Duplicate objects with positioning
- Save Selections: Store frequently used object groups
- Batch Operations: Apply changes to multiple objects simultaneously
- Import/Export: Share object arrangements between cities
- Activate Move It tool (
Mkey) - Select target object(s)
- Drag to new position or use precision controls
- Confirm placement with
Enteror click elsewhere
- Select multiple objects to align
- Choose alignment type (left, center, right, top, middle, bottom)
- Objects automatically align to the reference point
- Use distribute tools for even spacing
- Use area selection for large object groups
- Apply filters to select specific object types
- Use array tools for repetitive patterns
- Save arrangements as templates for reuse
- WASD: Move camera (pan)
- Mouse Wheel: Zoom in/out
- Middle Mouse Button: Pan camera (hold and drag)
- Right Mouse Button: Rotate camera (hold and drag)
- Home: Reset camera to default position
- End: Focus camera on selected object
- Left Click: Select object/tool
- Ctrl + Left Click: Multi-select objects
- Shift + Left Click: Add to selection
- Alt + Left Click: Remove from selection
- Ctrl + A: Select all visible objects
- Ctrl + D: Deselect all objects
- Delete: Delete selected objects
- Escape: Cancel current operation/close menus
- Tab: Cycle through interface panels
- F1: Open help/tutorial
- F11: Toggle fullscreen mode
- Ctrl + S: Quick save
- Ctrl + L: Quick load
- Ctrl + Z: Undo last action
- Ctrl + Y: Redo last undone action
- R: Activate Road tool
- Shift + R: Road upgrade mode
- Ctrl + Click: Force road connection
- Alt + Click: Create intersection
- 1-6: Select lane count (while road tool active)
- Q/E: Cycle through road types
- M: Activate Move It tool
- Shift + Drag: Precision movement mode
- Ctrl + Drag: Grid snap mode
- Alt + Arrow Keys: Axis-locked movement
- R: Rotation mode
- S: Scale mode
- Ctrl + C: Copy selected objects
- Ctrl + V: Paste copied objects
- Ctrl + G: Group selected objects
- Ctrl + U: Ungroup selected objects
- B: Activate Building tool
- Shift + Mouse Wheel: Rotate building before placement
- Ctrl + Click: Force building placement (ignore zoning)
- Alt + Click: Demolish building
- Space: Confirm building placement
- T: Traffic overlay toggle
- Shift + T: Traffic light management mode
- Ctrl + T: Traffic flow analysis
- Alt + T: Public transport overlay
- U: Utility overlay toggle
- Shift + U: Power grid view
- Ctrl + U: Water system view
- Alt + U: Sewage system view
- I: Toggle information panels
- Shift + I: Population density overlay
- Ctrl + I: Economic activity overlay
- Alt + I: Environmental impact overlay
Most controls can be customized through the Settings menu:
- Open Settings (
Ctrl + ,) - Navigate to "Controls" tab
- Click on any action to reassign hotkey
- Press new key combination
- Click "Apply" to save changes
- F: Follow selected vehicle
- G: Toggle grid display
- H: Hide/show UI elements
- J: Jump to city center
- K: Toggle construction guides
- L: Toggle lot boundaries
- N: Toggle name labels
- P: Pause/unpause simulation
- Simulation Speed: Adjust game speed multiplier
- Graphics Quality: Low/Medium/High/Ultra presets
- View Distance: Rendering distance for objects
- Traffic Density: Maximum vehicles in simulation
- Auto-Save Interval: Automatic save frequency
- Difficulty Level: Easy/Normal/Hard economic settings
- Disaster Frequency: Natural disaster occurrence rate
- Growth Rate: City development speed
- Budget Starting Amount: Initial city funds
- Loan Availability: Enable/disable municipal loans
config.ini: Main game configurationroad.txt: Road type definitionscontrols.cfg: Custom control mappingsgraphics.cfg: Graphics and performance settings
saves/: City save files directorytemplates/: Building and layout templatesexports/: Exported city data and screenshots
logs/: Game logs and error reportsdebug/: Debug output and performance metricscrash_dumps/: Crash report files
We welcome contributions to TranSimCS! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and test thoroughly
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow C# coding standards and conventions
- Include unit tests for new features
- Update documentation for any API changes
- Ensure all tests pass before submitting PR
- Write clear, descriptive commit messages
- Performance Optimization: Improve simulation efficiency
- New Features: Add gameplay mechanics and tools
- Bug Fixes: Resolve issues and improve stability
- Documentation: Enhance guides and API documentation
- Localization: Translate interface to other languages
- Issues: Report bugs and request features on GitHub Issues
- Discussions: Join community discussions and ask questions
- Wiki: Check the project wiki for detailed guides
- Tutorial: See
The Tutorial.odtfor comprehensive gameplay guide
- Reduce graphics quality in settings
- Lower traffic density limits
- Disable unnecessary overlays
- Close other applications while playing
- Check road.txt configuration for errors
- Ensure proper road type definitions
- Verify intersection connectivity
- Use Move It tool for fine adjustments
- Check file permissions in save directory
- Verify save file integrity
- Clear temporary files if corruption occurs
- Use backup saves when available
This project is licensed under the MIT License - see the LICENSE file for details.
- Contributors and community members
- Open source libraries and frameworks used
- Beta testers and feedback providers
- City building simulation community
Happy City Building! ๐๏ธ
For the latest updates and releases, visit the TranSimCS GitHub repository.