Files
bijx b9f4a8d77b Feat: Singleplayer Achievements (#2734)
Contributes towards the ongoing task of adding achievements: #2706

## Description:
Introduces a concept design and API implementation for singleplayer win
achievements. New row of ~5~ 4 medals is added to the map select screen
in the Singleplayer modal, one for each difficulty:
<img width="3132" height="779" alt="image"
src="https://github.com/user-attachments/assets/da8f0314-ccad-4f45-a03f-1beb46981301"
/>

In order to achieve a medal in a particular map, you must win the
singleplayer game (multiplayer and private match games don't count) in
the selected difficulty **without tampering with the options or
settings**. If any setting is changed from the default, regardless of
the difficulty, you will ~receive a fifth "Custom" medal~ not receive
the medal for that difficulty. Team games **do not** count towards the
medal achievement.

Completion of a medal will fill in the full correct color, as defined in
our `variables.css`:
<img width="694" height="778" alt="image"
src="https://github.com/user-attachments/assets/1b2d8370-aa86-4329-9402-adf43f3ef799"
/>

Completion medals can be toggled on or off (hidden by default) with the
toggle button at the top of the section:


https://github.com/user-attachments/assets/d08a58e0-b534-430e-9e8f-559134ad8852


[API implementation PR](https://github.com/openfrontio/infra/pull/234)

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

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

bijx

---------

Co-authored-by: iamlewis <lewismmmm@gmail.com>
Co-authored-by: Evan <evanpelle@gmail.com>
2026-01-05 16:27:36 -08:00

2.1 KiB
Raw Permalink Blame History

Credits

Code

OpenFront is licensed under AGPL-3.0.
See Contributors for code contributors.

Map Data

OpenStreetMap

© OpenStreetMap contributors
Licensed under ODbL

Natural Earth

Natural Earth
Public Domain

Bedmap3 Antarctica Dataset

Pritchard, H.D., Fretwell, P.T., Fremand, A.C. et al. Bedmap3 updated ice bed, surface and thickness gridded datasets for Antarctica. Sci Data 12, 109 (2025).
https://doi.org/10.1038/s41597-025-04672-y
Licensed under CC-BY 4.0

Copernicus Global Digital Elevation Models

© DLR e.V. 2010-2014 and © Airbus Defence and Space GmbH 2014-2018 provided under COPERNICUS by the European Union and ESA; all rights reserved. License: (https://docs.sentinel-hub.com/api/latest/static/files/data/dem/resources/license/License-COPDEM-30.pdf)

Topographic Map

New Jersey Topographic Map Licensed under Open Data Commons Open Database License (ODbL)

Geographicus Rare Antique Maps

1901 (1915) U.S. Geological Survey Topographic Map of New York City Geographicus Rare Antique Maps Public Domain

OpenTopography

Copernicus Global Digital Elevation Models distributed by OpenTopography. Copyright © opentopography.org. All Rights Reserved. Terms of Use

Icons

The Noun Project

Stats icon by Meko https://thenounproject.com/icon/stats-4942475/ Pay Per Click icon by Fauzan Adiima https://thenounproject.com/icon/pay-per-click-2586454/ Medal icon by Snow https://thenounproject.com/icon/medal-4567887/