Economy35
Video game created with Java with no external libraries. Used to consolidate the understanding of threads
Install / Use
/learn @AlessTheDev/Economy35README
Economy35
Economy35 is an idle game developed in Java, designed as a school project to implement an example of the producer-consumer thread model. In this game, the player takes on the role of a company leader, managing resources, employees, and upgrades to maximize profits and grow the business.
It was developed in Java without using any external libraries beyond those integrated into the language.
You can download the game here: https://cupflow-studios.itch.io/economy35
Game Description
The game features a strategic gameplay loop with the following elements:
- Dynamic inventory: Machines produce packages, which are transported by employees. Customers purchase packages, generating revenue.
- Revenue management: A portion of daily revenue is deducted as taxes. If you fail to meet the minimum threshold, the game ends.
- Upgrades: Invest in upgrades to increase product value, speed up production, expand inventory, hire more employees, and more.
- Day cycle: Time progresses, triggering specific events at the end of each day.
- Floor navigation: Players can move between different floors of the building using an elevator.

Technologies Used
- Language: Java
- Graphical interface: Swing
- Code structure: Divided into a custom library (
enginefolder) and the main game.
Custom Library: engine
To simplify development and enhance performance, we developed a custom library containing utilities such as:
- Management of audio, graphics, and resources (
SoundManager,GraphicsManager,ResourceManager). - A node-based system for organizing game objects.
- Detailed documentation and Javadoc (see engine-docs.md).
Installation and Launch
Requirements
- Java Runtime Environment: Version
17.0.9or higher to run the jar file. - Windows OS for running the
.exefile (optional). - Python: Version
3.10or higher if building from source (optional)
Required File Structure
Ensure the main folder contains the following structure for the game to function correctly:
main
├───audio
│ ├───music
│ └───SFX
├───sprites
│ ├───subfolders
└───UI
└───fonts
economy35.jar / .exe
Download and Launch
- Download the latest release from the repository) or on itch.io.
- To start:
- Jar: Double-click or use the command
java -jar economy35.jarin the console. - Exe: Run the
.exefile directly.
- Jar: Double-click or use the command
Manual Compilation
To compile the project manually:
- Clone the repository.
- Use Gradle to build executable files:
.jar:./gradlew build.exe:./gradlew createExe
- Copy all necessary assets into the build folder with the compiled game:
- Run
build_files.pyto do it automatically - Manually copy every asset (
sprites/,UI/,audio/andlogo.png) intobuild/{executable,lib}/main/
- Run
Project Structure
The project is organized as follows:
src/main/java/org/cup
├── assets # Resource management (audio, graphics, logic)
├── audio
├── components # Nodes that intended to work attached to objects
├── objects # Main game classes (machines, customers, employees, etc.)
├── logic # Classes for thread management and other logic
├── managers # Specialised nodes that can only have one instance
├── scenes # Object containers
├── sprites
├── UI # Handles UI integration such as buttons
├── engine # Custom library to optimize the development process
├── scenes # Game scenes (main menu, tutorial, main gameplay)
├── UI # Custom graphical elements (buttons, labels, panels)
└── Main.java # Application entry point
For more details, consult the Javadoc documentation or the engine-docs.md file.
Contributions
Development Team: This project was created as a team-based school exercise. For inquiries or contributions, feel free to open an issue or contact the developers via the repository or Discord server. Refer to the license for guidelines on modifying the game. Thanks to SO_Snake for providing music for this game.
Licensing
This repository is licensed under multiple licenses:
- Code: GNU General Public License v3 (see LICENSE.md).
- Art Assets: Creative Commons Attribution-ShareAlike 4.0 (see art-license.md).
- Sound and Music: Third-party assets with separate licenses (see audio-license.md).
Summary of License Terms
- You can modify and redistribute the code, provided you release it under GPL v3.
- You can use, adapt, and redistribute the art assets, provided you give credit and use the same CC BY-SA 4.0 license.
- Sound and music files may have additional restrictions. Please refer to audio-license.md.
Related Skills
qqbot-channel
343.1kQQ 频道管理技能。查询频道列表、子频道、成员、发帖、公告、日程等操作。使用 qqbot_channel_api 工具代理 QQ 开放平台 HTTP 接口,自动处理 Token 鉴权。当用户需要查看频道、管理子频道、查询成员、发布帖子/公告/日程时使用。
docs-writer
99.7k`docs-writer` skill instructions As an expert technical writer and editor for the Gemini CLI project, you produce accurate, clear, and consistent documentation. When asked to write, edit, or revie
model-usage
343.1kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
ddd
Guía de Principios DDD para el Proyecto > 📚 Documento Complementario : Este documento define los principios y reglas de DDD. Para ver templates de código, ejemplos detallados y guías paso
