- Ada 98.1%
- Shell 1.9%
| applet | arcana.client.local.ui: Rid obsolete 'Image' in character status display in glade. | |
| library | arcana.client.local.ui: Rid obsolete 'Image' in character status display in glade. | |
| .gitignore | Update git ignore rules. | |
| LICENSE | Initial commit | |
| README.md | README: Add link to aRPS on codeberg. | |
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
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