APuddle210 d0e220c0a2 Revised maps, flags. (#382)
## Description:

- Revised 55 Flags (US States and Territories) to resolve aspect ratio
scaling issues in game. Has introduced some minor visual issues with
crosses drawing past the bounds of the flag, but this is a lesser issue
than misrproportioned scaling and is only obvious in menus.
 - Added 43 New flags made by N0ur 
- Revised countries.json to make the new flags available for users to
select
 - Revised 9 existing flags with ones made by N0ur
- New North America map (v3), which is 250,000 pixels smaller than v2,
significant additions of lakes and rivers, addressing complaints about
missing Ohio river and inaccurate Missouri river. West coast and
Central/South America now also have rivers. Updated Json to give most
bots flags.
- New South America map (v2), which has a fully realized Amazon river
system, two separate ocean exits. Southern Fjords turned up to 11.
- New Africa Map (v3), with more fleshed out river systems. size
decreased by 250,000 pixels. Great Rift lake now link up to the Congo
basin, and the rivers to their south, making most of Africa connected by
one river system with a Northern, Southern and Eastern Exit
- New Europe Map (v2), extended map bounds south, include entire North
African coast. bounds drawn in on the West, cutting off Iceland and much
ocean in favor of more detail on the continent. Rivers and lakes
implemented. Western-most edge of the Russia-Siberia massive river
network included (preview). Additional nation bots added to the map, to
fill empty areas. Coastline details significantly improved.
- Edits to the Gateway to the Atlantic json to add flags for most of the
Nation bots.

All maps were tested in game, flag selection menu item was visually
inspected for image loading issues.

![North America Early
Game](https://github.com/user-attachments/assets/5c9d638b-2e4e-4cec-8de2-9ad6640e8363)

![South America Early
Game](https://github.com/user-attachments/assets/238600ef-3a87-435e-8436-d93c9fe2a179)

![Africa v3 early
game](https://github.com/user-attachments/assets/cd9ccc76-223f-4ae6-be6e-eac573ff6095)

![Europe v2 Early
Game](https://github.com/user-attachments/assets/ddbb5bd2-f025-45d9-b4df-a9afa8254c23)



## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

aPuddle
2025-03-31 10:31:51 -07:00
2025-03-30 09:10:25 -07:00
2025-03-06 15:50:29 -08:00
2025-03-30 19:37:48 -07:00
2025-03-31 10:31:51 -07:00
2025-03-31 10:31:51 -07:00
2025-03-30 19:37:48 -07:00
2025-03-07 16:37:39 +00: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-03-07 16:51:15 +00:00
2025-03-06 20:52:40 -08:00
2025-02-14 14:03:22 -05:00
2025-03-26 10:05:45 -07:00
2025-03-26 10:05:45 -07:00
2025-02-12 08:38:56 -08:00
2025-03-25 14:35:14 -07:00
2025-03-22 17:01:51 -07:00
2025-02-20 00:48:45 +02:00
2025-03-22 13:26:47 -07: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.

OpenFront - Licensing

This project uses a dual-licensing approach:

  • Code in the server/ and core/ directory is licensed under MIT
  • Client code (in the client/ directory) is licensed under GPL v3

🌟 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

  • npm (v10.9.2 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 i
    

🎮 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
    
  • 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

Project Governance

  • The project maintainer (evan) has final authority on all code changes and design decisions
  • All pull requests require maintainer approval before merging
  • The maintainer reserves the right to reject contributions that don't align with the project's vision or quality standards

Contribution Path for New Contributors

To ensure code quality and project stability, we use a progressive contribution system:

  1. New Contributors: Limited to UI improvements and small bug fixes only

    • This helps you become familiar with the codebase
    • UI changes are easier to review and less likely to break core functionality
    • Small, focused PRs have a higher chance of being accepted
  2. Established Contributors: After several successful PRs and demonstrating understanding of the codebase, you may work on more complex features

  3. Core Contributors: Only those with extensive experience with the project may modify critical game systems

How to Contribute Successfully

  1. Before Starting Work:

    • Open an issue describing what you want to contribute
    • Wait for maintainer feedback before investing significant time
    • Small improvements can proceed directly to PR stage
  2. Code Quality Requirements:

    • All code must be well-commented and follow existing style patterns
    • New features should not break existing functionality
    • Code should be thoroughly tested before submission
    • All code changes in src/core MUST be tested.
  3. Pull Request Process:

    • Keep PRs focused on a single feature or bug fix
    • Include screenshots for UI changes
    • Describe what testing you've performed
    • Be responsive to feedback and requested changes
  4. Testing Requirements:

    • Verify your changes work as expected
    • Test on multiple systems/browsers if applicable
    • Document your testing process in the PR

Communication

  • Be respectful and constructive in all project interactions
  • Questions are welcome, but please search existing issues first
  • For major changes, discuss in an issue before starting work

Final Notes

Remember that maintaining this project requires significant effort. The maintainer appreciates your contributions but must prioritize long-term project health and stability. Not all contributions will be accepted, and that's okay.

Thank you for helping make OpenFront better!

S
Description
Languages
TypeScript 91.3%
GLSL 2.6%
JavaScript 1.9%
HTML 1.7%
CSS 1%
Other 1.5%