evanpelle 191a12a40d Merge pull request #155 from Readixyee/game-starting-modal
showing modal when the game is loading
2025-03-06 16:06:15 -08:00
2025-03-06 15:50:29 -08:00
2025-02-12 08:38:56 -08:00
2025-03-06 15:46:57 -08:00
2025-02-12 08:38:56 -08:00
2025-03-05 08:04:12 -08:00
2025-03-06 15:50:29 -08:00
2025-02-18 17:23:37 -08:00
2025-02-12 08:38:56 -08:00
2025-02-12 08:38:56 -08:00
2025-02-14 14:03:22 -05:00
2025-03-05 07:34:07 -08:00
2025-03-05 07:34:07 -08:00
2025-02-12 08:38:56 -08:00
2025-03-01 21:25:31 +01:00
2025-02-20 00:48:45 +02:00
2025-02-12 08:38:56 -08:00
2025-03-06 15:59:10 -08:00
2025-03-05 21:07:05 -08:00
2025-03-06 09:41:28 -08:00

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

  • Node.js (v16.x or higher)
  • npm (v8.x 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

    npm install
    

🎮 Running the Game

Development Mode

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

npm 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:

npm run start:client

Server Only

To run just the server with development settings:

npm run start:server-dev

🛠️ Development Tools

  • Format code:
    npm run format
    

🏗️ 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
S
Description
Languages
TypeScript 91.3%
GLSL 2.6%
JavaScript 1.9%
HTML 1.7%
CSS 1%
Other 1.5%