2
4
Fork
You've already forked arcana
0
An online, real-time, multi-player, medieval, fantasy roleplaying game.
  • Ada 98.1%
  • Shell 1.9%
2025年10月09日 19:49:18 +11:00
applet arcana.client.local.ui: Rid obsolete 'Image' in character status display in glade. 2025年10月09日 19:49:18 +11:00
library arcana.client.local.ui: Rid obsolete 'Image' in character status display in glade. 2025年10月09日 19:49:18 +11:00
.gitignore Update git ignore rules. 2025年09月14日 10:15:27 +10:00
LICENSE Initial commit 2024年02月03日 05:56:32 +00:00
README.md README: Add link to aRPS on codeberg. 2025年04月27日 19:19:46 +10:00

Arcana

An online real-time multi-player medieval fantasy roleplaying game.

The client consists of a 2D top-down openGL view (ie plan view) of the world. The world view is surrounded by Gtk widgets providing game information and player controls.

The main focus of the game is on role-playing.

There are 3 possible play modes:

  • Solo : A single player engages in a solo adventure module.
  • Group : A group of 2 or more players engage in a group module.
  • Multi : Many players enter a persistent game world which can be modified by the actions of the players.

A world editor will allow the creation of single, group and multi modules.

Screenshots

0001-Prototype.jpg

Play Testing

Currently tested on:

  • Archlinux
  • Debian (Bookworm)
  • Fedora (38+)
  • Gentoo
  • openSuse
  • Ubuntu (22.0.4+)

Downloading

Note that the 'current' download links below are hosted on my home box and only available when my box is running.

Controls

Set the 'Movement' option to 'Walk'.

Click on an empty space. You should move to that space.

Click on the dog and then click on 'Approach'. You should start following the dog.

When it gets dark (night), click on the 'Lantern' icon and a small area around you should be lit.

The 'PageUp' and 'PageDown' keys raise and lower the camera, respectively.

The arrow keys also move your character at the pace set by the 'Movement' setting.

Solo

Download the current solo testing client tarball via ...

 $ wget http://101.190.8.101:8080/assets/arcana/solo_client_tarball.tar.gz
 $ sha256sum solo_client_tarball.tar.gz
 3a78d9728daa9c97dcf1ebd716b4fe26c116e1fa5ec937c833018add98e1b741 solo_client_tarball.tar.gz

or

Download the stable solo client tarball in the latest release on Codeberg.

Extract the solo client tarball.

Change directory into the extracted 'solo_client_tarball' folder.

Finally, launch the solo client ...

 $ ./launch_arcana_solo-x86_64.AppImage <character_name>

Multiplayer

Download the current multiplayer testing client tarball via ...

 $ wget 101.190.12.253:8080/assets/arcana/client_tarball.tar.gz
 $ sha256sum client_tarball.tar.gz
 83748aa7898c797d0edd2f7235d9ca6bb49294d90dacbe9d4f84baa4cf3595e9 client_tarball.tar.gz

or

Download the stable multi client tarball in the latest release on Codeberg. (This has not been set up yet, so use the above.)

Open /etc/hosts and ensure it contains a line with your WAN (www) net address, matched with your hostname (as defined in /etc/hostname).

 <your WAN ip address> <your hostname>

Make sure port 5003 is open in any firewall and forwarded from your router to the box running the client.

Extract the client tarball.

Change directory into the extracted 'client_tarball' folder.

Finally, launch the client ...

 $ ./client_partition-x86_64.AppImage <character_name>

Building

Dependencies

  • GCC Version 13.2.1+ with Ada enabled.
  • GprBuild A tool to build Ada libraries and applications from a Gnat Project File (*.gpr).
  • Polyorb A tool to build distributed Ada programs [required for multi build only].
  • GtkAda A thick Ada binding to Gtk3.
  • Lace A set of Ada components which includes a game engine.
  • Parse_Args An Ada component to parse command line arguments.
  • aRPS A rolepaying system implemented in Ada.

Variants

 - 'solo' Builds a single executable which may be developed/debugged/tested as with any normal Ada program.
 - 'multi' Builds a distributed system comprising a server partition and a client partition using the Polyorb 'po_gnatdist' tool.
 The multi build also provides the executables to play a Group module.

Solo:

 $ cd arcana/applet/game/solo
 $ gprbuild -P arcana_solo

Multi:

 $ cd arcana/applet/game/multi
 $ ./builder.sh