Skip to content

Latest commit

ย 

History

History
115 lines (77 loc) ยท 2.76 KB

File metadata and controls

115 lines (77 loc) ยท 2.76 KB

OpenFrontIO

OpenFrontIO Logo

Prettier Check

OpenFront is an online real-time strategy game focused on territorial control and alliance building. Players compete to expand their territory, build structures, and form strategic alliances in various maps based on real-world geography.

This is a fork/rewrite of WarFront.io. Credit to https://github.com/WarFrontIO.

๐ŸŒŸ Features

  • Real-time Strategy Gameplay: Expand your territory and engage in strategic battles
  • Alliance System: Form alliances with other players for mutual defense
  • Multiple Maps: Play across various geographical regions including Europe, Asia, Africa, and more
  • Resource Management: Balance your expansion with defensive capabilities
  • Cross-platform: Play in any modern web browser

๐Ÿ“‹ Prerequisites

  • Bun.js (v1.2.4 or higher)
  • A modern web browser (Chrome, Firefox, Edge, etc.)

๐Ÿš€ Installation

  1. Clone the repository

    git clone https://github.com/openfrontio/OpenFrontIO.git
    cd OpenFrontIO
  2. Install dependencies

    bun i

๐ŸŽฎ Running the Game

Development Mode

Run both the client and server in development mode with live reloading:

bun run dev

This will:

  • Start the webpack dev server for the client
  • Launch the game server with development settings
  • Open the game in your default browser

Client Only

To run just the client with hot reloading:

bun run start:client

Server Only

To run just the server with development settings:

bun run start:server-dev

๐Ÿ› ๏ธ Development Tools

  • Format code:

    bun run format
  • Lint code:

    npm run lint
  • Lint and fix code:

    npm run lint:fix

๐Ÿ—๏ธ Project Structure

  • /src/client - Frontend game client
  • /src/core - Shared game logic
  • /src/server - Backend game server
  • /resources - Static assets (images, maps, etc.)

๐Ÿ“ License

This project is licensed under the terms found in the LICENSE file.

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin amazing-feature)
  5. Open a Pull Request