Skip to content

Latest commit

 

History

145 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Godot Engine C# .NET GitHub license GitHub last commit GitHub Repo stars GitHub repo size

Arcomage fan-remake made on Godot Engine

Arcomage Logo

Description

Loved by many card mini-game from Might and Magic 7 and 8 returns with updated graphics as standalone game!

Arcomage Screenshot

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.

Localizations

English, Русский, Українська, Polski, Dansk, Deutsch, français

Contributors

Thanks to the following people for their help in translating the game:

If you want to help with the translation, please contact me. I will be very grateful for your help.

Also, available at

itch.io game page GameJolt game page

System requirements

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

Building and editing

Prerequisites

How to run the project

  1. Clone the repository with git clone https://github.com/DarkPro1337/arcomage.git or download repo ZIP.
  2. Open the project in Godot Engine .NET
  3. Press F5 to run the project

Optional: Export the project to your desired platform (Project → Export...)

Online multiplayer (Nakama)

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.

Local development

  1. Install Docker Desktop and start it.
  2. From the repo:
cd docker
docker compose up
  1. Wait until the log shows Startup done. The game already defaults to 127.0.0.1:7350 (defaultkey).
  2. 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=Test

Then 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).

Production (VDS)

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

Support project development

GitHub Sponsors USDT TRC20

About

Arcomage fan-remake made on Godot Engine 4 .NET

Topics

Resources

Stars

17 stars

Watchers

1 watching

Forks

Sponsor this project

Contributors

Languages