BilCity Tycoon is a 2D desktop campus-building simulation game inspired by the early development of Bilkent University. The game blends strategic planning, budget management, and visual design to provide players with a unique experience where they build and manage their own university campus. Designed for educational and entertainment purposes, BilCity Tycoon challenges players to balance economic constraints while aiming for academic excellence. The game is developed using Java and the libGDX framework, supported by a JSON save system.
- Game Type: 2D Simulation / Tycoon
- Platform: Desktop (Windows/Linux/Mac)
- Engine: libGDX
- Save: JSON
- Language: Java
- Architecture: MVC (Model-View-Controller)
core: Main module with the application logic shared by all platforms.lwjgl3: Primary desktop platform using LWJGL3.
Your goal is to construct a prosperous and reputable university campus by:
- Strategically placing faculty buildings, dorms, and other facilities
- Managing finances using BilCoins (in-game currency)
- Improving student satisfaction and university reputation
- Navigating random events and resource constraints
- Competing in the global university rankings
- Achieving one of several possible game endings based on your performance
-
Time Flow:
- Game progresses through academic semesters, each consisting of 3–4 in-game months.
- Each month lasts approximately 5 minutes in real-time.
-
BilCoin Currency:
- Starting budget is fixed.
- Used for all constructions, upgrades, and repairs.
-
Income Sources:
- Tuition fees
- Dormitory fees
- Charity donations
- Sponsorships
- Cafe/restaurant revenues
-
Expenses:
- Utilities
- Staff wages and pensions
- Maintenance
- Student services
-
Buildings Include:
- Faculties: Engineering, Science, Social Sciences, Law, Arts, Business, etc.
- Other Buildings: Cafeterias, cafes, dormitories (luxury and common), libraries, gyms, etc.
- Decorations: Trees, fountain, ornamental pool
- Upgrades: Road enhancements, decoration boosts, infrastructure expansions
-
Construction Mechanics:
- Buildings must be placed on designated tiles after roads are built.
- Each building has a build cost, time, and effect on satisfaction and reputation.
- Visual confirmation and a placement grid system are used.
-
Student Satisfaction:
- Affected by decorations, events, and facilities.
- Directly impacts university reputation.
-
University Reputation:
- Determined by satisfaction, number of faculties.
-
Leaderboard:
- Displays global ranking based on university reputation and satisfaction.
-
Random positive and negative events:
- Positive: Donations, lottery wins, grant increases
- Negative: Fires, earthquakes, ventilation failures
-
Player choices during events affect outcomes.
-
Some events provide options that impact coins, reputation, and satisfaction.
- Welcome Screen: New Game, Load Game, Settings, Exit
- Game Screen: Shows campus map, UI panel, player info, and timeline
- Store Screen: Purchase faculties, other buildings, upgrades, and decorations
- Leaderboard Screen: Displays university rankings and statistics
- Settings Screen: Music/SFX volume sliders, fullscreen toggle
- Ending Screen: Displays one of the four possible game outcomes
- Scrollable menus and dropdowns in store
- Grid highlighting for buildable tiles
- Time acceleration (1x, 2x) for speeding up gameplay
- Event notification pop-ups with Stardew Valley-style character visuals
-
Ultimate Ending:
- Must first achieve True Ending
- Reach #1 globally with max satisfaction and reputation
-
True Ending:
- Rank in top 5 universities with adequate stats
-
Bankrupt Ending:
- Go bankrupt by mismanaging finances
-
Lawsuit Ending:
- Student satisfaction drops too low, triggering a lawsuit
Each ending leads to a detailed statistics screen showing:
- Total students
- BilCoins earned and spent
- Dorm capacity
- Satisfaction & reputation scores
- Time played
MVC Breakdown
Model Classes: Game logic, backend data management
Building, Faculty, Player, Event, Upgrade, Map, etc.
View Classes: User interface screens using libGDX
WelcomeScreen, GameScreen, StoreScreen, LeaderboardScreen, etc.
Controller Logic: Integrated within view classes and SaveSystem
File Structure
└───src
└───main
└───java
└───io
└───github
└───bilcitytycoon
│ BilCityTycoonGame.java
│ Building.java
│ Decoration.java
│ Event.java
│ Faculty.java
│ Leaderboard.java
│ Main.java
│ Map.java
│ MoneyHandler.java
│ OtherBuilding.java
│ OtherUniversity.java
│ PlacedBuilding.java
│ Player.java
│ Store.java
│ Time.java
│ Tutorial.java
│ University.java
│ Upgrade.java
│
├───Save
│ SaveLoad.java
│ SaveManager.java
│
└───Screens
│ EconomyPopUp.java
│ EndingScreen.java
│ GameScreen.java
│ LeaderboardScreen.java
│ LoadGameScreen.java
│ NewGameScreen.java
│ PopUpPanel.java
│ SettingsScreen.java
│ TutorialScreen.java
│ UniversityStatsPopup.java
│ WelcomeScreen.java
│
└───Store
DecorationsStoreScreen.java
FacultiesStoreScreen.java
OtherBuildingsStoreScreen.java
StoreScreen.java
UpgradesStoreScreen.java
This structure reflects the modular, MVC-aligned approach with clear separations between game logic, UI screens, and saving functionality.
| Tool | Purpose |
|---|---|
| Java | Core language |
| libGDX | Game engine |
| LWJGL3 | Desktop rendering |
| JSON | Save/load system |
| Gradle | Build/dependency automation |
| Name | Responsibility |
|---|---|
| Bora Kafadar | Save system, Store class, Settings screen |
| Eylül Ündem | UI design, financial methods, Upgrade mechanics |
| Vural Şimşir | Game and Welcome screens, building placement logic |
| Yaşar Delibaş | Leaderboard system, Building and Decoration systems |
| Zeynel Yıldırım | Event system, Easter eggs, and additional store features |
- Java JDK 23
- Gradle (included in the source code)
git clone https://github.com/yourusername/BilCityTycoon.git
cd BilCityTycoon
./gradlew desktop:run-
Games Referenced:
🏫 “Build your dream university. Earn your way to the top. Become the ultimate BilCity Tycoon.”