Galvanico is an open-source, browser-based strategy game inspired by Ikariam, but set in the Industrial Age. Players develop their own industrial cities, research new technologies, manage resources, and engage in trade and diplomacy in a world powered by electricity and innovation.
- Industrial Age Setting: Immerse yourself in a world of steam engines, early electricity, and burgeoning industries.
- City Building: Construct and manage various industrial buildings, including factories, power plants, and research labs.
- Research & Technology: Unlock new technologies to improve your city's efficiency, military strength, and economic power.
- Resource Management: Gather and manage resources like coal, iron, and electricity to fuel your industrial empire.
- Trade & Diplomacy: Interact with other players through trade agreements, alliances, and diplomacy.
- Military Expansion: Build and command industrial-era military units to defend your city and conquer new territories.
- Electricity System: A core mechanic, managing and generating electricity to power your industrial buildings.
- Open Source: Contribute to the development and shape the future of Galvanico.
- Go (latest stable version)
- Node.js (latest LTS recommended)
- npm (or yarn)
- A modern web browser
-
Clone the repository:
git clone https://github.com/MIcQo/galvanico.git cd galvanico
-
Install backend dependencies (Go):
go mod tidy
-
Stand up required services:
docker compose up -d
-
Configure environment variables:
cp config.example.yaml config.yaml
Edit
config.yaml
with your desired settings. -
Initialize the database:
First, you need to create the inital bun migration schema:
go run main.go db init
-
Start the backend server:
go run main.go serve
-
Install frontend dependencies (Vue 3):
cd client npm install # or yarn install cd ..
-
Start the frontend development server:
cd client npm run dev # or yarn dev
-
Open your browser and navigate to
http://localhost:5173
. (or the port that Vue dev server outputs)
We welcome contributions from the community! Please read our CONTRIBUTING.md for guidelines on how to contribute.
galvanico/
├── cmd/ # Go commands
├── client/ # Frontend code (Vue 3, etc.)
├── internal/ # Internal code between server parts (if any)
├── migrations/ # Migration files
├── docs/ # Documentation
├── docker-compose.yaml # Docker compose file
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # License information
└── README.md # This file
- Frontend: Vue 3 , TypeScript
- Backend: Go
- Database: PostgreSQL (actually, we use CockroachDB)
- Broker: NATS
We encourage you to contribute to Galvanico! Here's how you can get involved:
- Report Bugs: If you find a bug, please open an issue on GitHub.
- Suggest Features: Share your ideas for new features and improvements.
- Submit Pull Requests: Contribute code, documentation, or other improvements.
- Help with Design: Contribute to the game's visual design and user interface.
- Translate the Game: Help us make Galvanico accessible to a wider audience.
Please read our CONTRIBUTING.md for detailed guidelines.
Galvanico is released under the Apache 2.0 License.
- Inspired by Ikariam.
- Thanks to all contributors and the open-source community.
For any questions or inquiries, please open an issue on GitHub.
Let's build the industrial age together!