Commit Graph

659 Commits

Author SHA1 Message Date
Evan 0f52cbeaf1 fix lobby duration at 60s now that we limit lobby size. remove "high traffic time" 2025-03-16 08:36:00 -07:00
Ilan Schemoul 66a19abc97 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:25:02 -07:00
evanpelle 281cbbeb89 Remove path cache (#257) 2025-03-15 13:49:24 -07:00
evanpelle 4abc5e2406 pad turns at the end on replay (#256) 2025-03-15 13:49:16 -07:00
Ilan Schemoul 0a86e5af46 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:31 -07:00
Ilan Schemoul 854ae02d16 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:26 -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**
![Capture d'écran 2025-03-10
220439](https://github.com/user-attachments/assets/1b717b2d-bffb-45fc-96ea-2feb57d25de0)
- **feat: red nuke icon if player sends nuke towards you**
- 
![Capture d'écran 2025-03-10
220358](https://github.com/user-attachments/assets/b755fa06-9510-4bd1-8312-7180dc681d85)
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
BeGj 619891741f linting 2025-03-07 16:53:10 +00:00
PilkeySEK e979e1184c Add guard clause instead of nesting 2025-03-07 14:16:18 +01:00
evanpelle d0359a2db4 Merge pull request #149 from UnBuiltTree/icon-remake
Icon Remake
2025-03-06 18:49:19 -08:00
Evan df2bb36aae cap warship cost at 1 million 2025-03-06 16:14:13 -08:00
evanpelle 974d606923 Merge pull request #159 from ilan-schemoul/save-stats
feat: save stats to local storage
2025-03-06 15:57:00 -08:00
Evan 4c8eeb0cc1 merge branch v0.17.3 2025-03-06 15:46:57 -08:00
Evan 1dc7864617 make lobbies more frequent 2025-03-06 10:57:06 -08:00
evanpelle 447e6238d8 Merge pull request #148 from ilan-schemoul/main
default 95% soldiers
2025-03-06 09:03:44 -08:00
UnBuiltTree 89326baa37 Updated StructureLayer and GameMap for Remake of Icons, added extra building png icons resources. 2025-03-05 21:29:19 -06:00
ilan schemoul bd8f72421e default 95% soldiers 2025-03-06 01:22:00 +01:00