Loved by many card mini-game from Might and Magic 7 and 8 returns with updated graphics as standalone game!
Arcomage is a computer card game for two players. Each player has a random set of six cards, a tower, a wall, three types of resources, and their generators.
Resources:
- bricks
- gems
- recruits
Resource generators (respectively):
- quarry
- magic
- dungeon
At the beginning of each turn, the generators increase the number of the player's corresponding resources by the current levels of these generators. Each turn a player must use or discard one of his cards. To use the card, a certain amount of one of the resources is required. After using the card, it performs a combination of some actions and instead of it, the player is randomly given another. Further, if the card does not prescribe otherwise, the move goes to the other player.
Card actions:
- causing damage to the wall and/or tower (enemy or both the enemy and his own)
- changing the number of resources or the levels of their generators in oneself and/or the enemy
- increasing your own wall and/or tower
The rules of the game allow victory in any of the following ways:
- building your tower to the required minimum
- accumulation of any resource to the required minimum
- destruction of the enemy tower
As a rule, cards that require the same type of resources are similar in action. Gems – increase the tower, bricks – walls, animals – to deal damage to the enemy. The damage can be directed specifically at a tower or wall, or be of a general nature. In the second case, the wall takes the damage first, then the tower.
English, Русский, Українська, Polski, Dansk, Deutsch, français
Thanks to the following people for their help in translating the game:
- Zmeonysh (Українська, Polski)
- TimawaViking (Dansk)
If you want to help with the translation, please contact me. I will be very grateful for your help.
- Any x86_64 CPU with SSE2 support.
- Any GPU with full Vulkan 1.0 support.
- At least 450 MB of free RAM.
- At least 265 MB of free storage.
- Godot v.4.7.2-stable .NET
- .NET 10 SDK
- Recommended Rider or VS Code external editors with Godot C# extensions (learn here).
- Optional, for online multiplayer: Docker Desktop (or Docker Engine + Compose)
- Clone the repository with
git clone https://github.com/DarkPro1337/arcomage.gitor download repo ZIP. - Open the project in Godot Engine .NET
- Press
F5to run the project
Optional: Export the project to your desired platform (Project → Export...)
LAN still works from Multiplayer Game on the LAN tab (Create/Join Server and an IP). Global matchmaking, private rooms, in-match chat, and ranked play go through a self-hosted Nakama server on the Online tab.
Online matches can be 1v1, 2v2, or free-for-all (3–4 players). Choose the mode at the top of Multiplayer Game, then Find Match, Create Room, or Join Room. After Create Room, the host sees the room code in the lobby (with Copy). If Nakama is down, online actions stay disabled and Retry reconnects; LAN is unaffected.
- Install Docker Desktop and start it.
- From the repo:
cd docker
docker compose up- Wait until the log shows
Startup done. The game already defaults to127.0.0.1:7350(defaultkey). - In the game, open Multiplayer Game. The Online tab is Find Match / Create Room / Join Room. The LAN tab is Create/Join Server and does not need Nakama.
Two Godot instances on the same PC share one hardware id, so Nakama would treat them as one player. Give the second instance a different --playerName (this only affects the Nakama device account, not real users):
godot --path "./"
godot --path "./" --playerName=TestThen Create Room on the first client (the lobby shows the code) and Join Room with that code on the second. The lobby should list two players, not one.
Useful URLs while Compose is running:
- Game API / WebSocket:
http://127.0.0.1:7350 - Nakama Console: http://127.0.0.1:7351 (default login
admin/password)
Stop with Ctrl+C, or docker compose down in docker/. After bumping the Nakama image, reset local data with docker compose down -v then docker compose up -d (-v drops the Postgres volume).
Use the same docker/docker-compose.yml on a VDS (about 1 vCPU / 2 GB RAM is enough). Point clients at that host:
- settings in
user://settings.json:NakamaHost,NakamaPort,NakamaUseSsl,NakamaServerKey - or launch flags:
--nakamaHost=your.server.example --nakamaPort=7350 --nakamaSsl
Change Nakama’s default keys and console password before exposing the server to the internet. Optional ranked dedicated host:
godot --headless -- --dedicated --nakamaHost=your.server.example
