Ilan Schemoul
6ad4ac86f4
feat: when player has no port warship do not capture trade or heal anymore ( #280 )
2025-03-18 12:07:51 -07:00
APuddle210
48d111bf0d
Add new map, iberia, france, north africa ( #285 )
...
Addition of new map, 'Gateway to the Atlantic' covering Iberia, France,
and North Africa.
Tested via loading to local build, ensuring the game launched
succesfully, and ran a full game through to completion. Confirmed
thumbnail is displayed in the UI.
Discovered possibly undocumented bug: minimap binary generation fails if
either the width or height of the provided map image is an odd number.
Not sure what proper tests for a new map would look like, hope this is
sufficient testing.






2025-03-18 12:05:11 -07:00
evanpelle
cd1f8b9586
add testing infrastructure and example test ( #276 )
2025-03-17 12:20:23 -07:00
Ilan Schemoul
0b2b042dae
faster lobby ( #274 )
2025-03-17 08:56:47 -07:00
Evan
9a297308db
don't use manhattanDistWrapped to prevent boat from starting on opposite side of world
2025-03-16 20:51:44 -07:00
Evan
c4381a9ad3
encirclement bug: ensure player is inscribed before losing territory
2025-03-16 20:39:20 -07:00
Ilan Schemoul
46889077f0
sam can't touch mirv (only mirv warhead) ( #259 )
2025-03-15 19:32:45 -07:00
Ilan Schemoul
b2d9bb670a
nerf SAM ( #258 )
...
More costly (start at 1.5M), increase cost cap (4.5M), biggest timeout
(5s->10s), much lower chance to stop hydrogen (70%->10%), triple
construction time (10s->30s) otherwise it's trivial to build a SAM right
before a nuke hits
2025-03-15 18:22:14 -07:00
Evan
364387578b
fix lobby duration at 60s now that we limit lobby size. remove "high traffic time"
2025-03-15 17:22:15 -07:00
evanpelle
0b9a75bb0c
Remove path cache ( #257 )
2025-03-15 13:41:56 -07:00
evanpelle
4fdc570921
pad turns at the end on replay ( #256 )
2025-03-15 13:38:01 -07:00
Ilan Schemoul
275de50fcd
feat: move warship ( #196 )
2025-03-14 16:30:30 -07:00
Ilan Schemoul
baf91db288
tweak numbers of attack ( #253 )
...
Slightly decrease flat land advantage (in certain cases it feels almost
instataneous otherwise)
To calculate speed bonus use 4*attackTroops instead of 5 (people keep
complaining than small numbers of troops take crazy amount of lands
veryn quick)
Slightly increase minimum multiplier for attacker loss, to make
snowballing a little bit slower.
I only slightly modified numbers because the meta is fun it's just too
quick on certain cases.
2025-03-14 16:03:04 -07:00
Ilan Schemoul
2dd0c56583
fix: lobby were twice as long because of dynamic timer ( #252 )
...
We previously had a system where lobbyLifetime = gameCreationRate * 2
It was to always have one lobby ready.
With dynamic timer (start if enough player or timer's over) we cannot
rely on this system (which used setInterval) so we have one lobby and
check every 100ms if we need to create another lobby.
Might add 100ms+time of creating a lobby ms latency. Which is fine I
guess.
2025-03-14 14:30:05 -07:00
Evan
d82191308e
add back large attack modifier, make it 100k
2025-03-14 10:54:56 -07:00
Evan
462e1734b1
remove large territory attack bonus, will hopefully prevent too much snowballing
2025-03-14 10:22:45 -07:00
Ilan Schemoul
da50aa28d2
feat: more trade when there are few ports worldwide ( #242 )
2025-03-14 09:45:40 -07:00
Ilan Schemoul
c4f612eb98
easier to take nuclear land if most of the land are nuclear ( #241 )
...
- **Revert "Change BorderTiles from Array to Set (#230 )"**
- **easier to take nuclear land if most of the land are nuclear**
2025-03-13 17:05:22 -07:00
Ilan Schemoul
b9dad022fc
fix timer ( #239 )
...
- **improve and fix dynamic lobby**
- **Revert "Change BorderTiles from Array to Set (#230 )"**
I'm obviously forced to include the revert patch otherwise I can't
compile. but you should first merge PR dedicated to revert before tthis
2025-03-13 17:03:38 -07:00
Ilan Schemoul
70c3c43a5f
feat: handle embargo fake human ( #240 )
2025-03-13 14:53:27 -07:00
Ilan Schemoul
7ec3f0c81f
Revert "Change BorderTiles from Array to Set ( #230 )" ( #238 )
...
This reverts commit 8124651382 which
breaks compilation, has wrong indentation and uses flatMap without
Array.from which is also wrong.
2025-03-13 14:51:35 -07:00
Ilan Schemoul
cb3f36a74f
fix: update dst port when ship captured ( #217 )
2025-03-13 06:31:41 -07:00
ByGoalZ
8124651382
Change BorderTiles from Array to Set ( #230 )
...
Changed border constant from Array to Set, to avoid potential
duplicates.
2025-03-13 06:05:10 -07:00
Evan
ad90f636b3
better check for profane username
2025-03-12 20:10:37 -07:00
Ilan Schemoul
07ad7912bc
feat: timer starts if enough player or enough time ( #229 )
...
Avoid these huge lobbies
2025-03-12 14:18:34 -07:00
evanpelle
439f5af2bd
PathFinder: return path not found when src or dst is null ( #228 )
2025-03-12 12:59:36 -07:00
evanpelle
b1035a8e77
update to hetzner deployment ( #220 )
2025-03-12 09:17:27 -07:00
Ilan Schemoul
3ce5785d1e
nuke icon ( #207 )
...
- **feat: white nuke icon next to name if player nukes you**

- **feat: red nuke icon if player sends nuke towards you**
-

2025-03-11 15:44:45 -07:00
Ilan Schemoul
c4b8d6b92e
cancel trade if port is captured (no trade inside same country) ( #194 )
...
If the port of destination and of source have same owner it means a
player captures port of another player, we cease all trade that happens
inside same country.
Also added a check in the canTrade code to be more reliable and correct
even outside of the specific case of capturing a port.
2025-03-11 12:33:45 -07:00
Ilan Schemoul
87d1a8d69d
feat: retreat stops attack + show when ennemy retreats ( #209 )
2025-03-10 17:25:21 -07:00
evanpelle
9b71c8e78f
use ticks instead of Date when retreating for determinism ( #208 )
2025-03-10 14:38:41 -07:00
Ilan Schemoul
4375797d92
feat: show a message when attack is canceled (with number of deaths) ( #193 )
2025-03-10 13:30:07 -07:00
evanpelle
5dc00bc3ab
use git commit hash verification when replaying archived games ( #204 )
2025-03-10 12:40:36 -07:00
evanpelle
6a24bce213
fix decompress game record function, start at -1 ( #203 )
2025-03-10 07:21:24 -07:00
evanpelle
e2f18df426
use center eucl dist on spawn tiles, looks nicer ( #202 )
2025-03-10 06:37:43 -07:00
evanpelle
33292aec5c
feat: replay archived games, gamestate hash verification ( #195 )
...
create endpoint to load archived game. when joining game client first
checks if the game is active, if not it requests the game archive from
the server. the archive is sent to LocalServer to replay the game
locally. Every 10 ticks a hash is stored on the archive, and during
replay the LocalServer verifies this hash.
2025-03-09 14:24:39 -07:00
Readixyee
84951fed9f
Sam anti nuke missile launcher ( #176 )
...
now with better name
---------
Co-authored-by: evanpelle <evanpelle@gmail.com >
2025-03-09 13:25:51 -07:00
Tiger McSwane
219d732f84
Added Britannia map with 23 NPC as well as their flags ( #186 )
...
Let me know if you have any questions or concerns. This is my first time
near coding, so it would not hurt to double check my work. Thanks!
2025-03-08 16:58:04 -08:00
evanpelle
4281095666
update maps: remove small lakes as it breaks encirclement. More money… ( #188 )
...
… more frequent trade ships, lakes prevent encirclement, warships start
at full health
2025-03-08 16:45:23 -08:00
evanpelle
c99cec8f0b
add South America map ( #184 )
2025-03-08 12:11:34 -08:00
evanpelle
09132495c0
Revert "have MIRV target all non allied players, increase price to 25… ( #181 )
...
… million"
This reverts commit 226112beb5 .
2025-03-08 10:58:46 -08:00
Ilan Schemoul
afe4f85919
fix: warship icon ( #178 )
2025-03-08 10:27:16 -08:00
PilkeySEK
8fca3f6c3d
Fix minor typo in MIRVExecution
2025-03-08 18:21:49 +01:00
evanpelle
37043ab479
Merge pull request #173 from ilan-schemoul/stats-records
...
feat: remove LocalPersistantStats so we locally save GameRecords
2025-03-08 09:19:57 -08:00
ilan schemoul
c5151b4594
nerf trade (1/500 => 1/700)
...
Now everyone trade with everyone trade is OP we nerf it
2025-03-08 17:47:21 +01:00
ilan schemoul
1b76c46bc5
feat: remove LocalPersistantStats so we locally save GameRecords
...
GameRecords also now include PlayerStats
2025-03-08 17:39:41 +01:00
evanpelle
7215c218d4
Merge pull request #170 from Readixyee/tradeship-caching
...
Trade ship path caching
2025-03-07 19:08:13 -08:00
Readixyee
7b0770649f
cache system
2025-03-07 21:36:19 +01:00
Evan
3dd02ec4df
remove max boat distance
2025-03-07 10:38:26 -08:00
Evan
673a7a400c
largest attacker gets cluster
2025-03-07 10:22:46 -08:00