
arcomage-hd
Web-based, free and open source, remastered 3D clone of 3DO/NWC's 2000 card game Arcomage. 14 languages. Desktop or mobile Android iOS. Online or offline PWA. Against AI or Multiplayer (P2P, no server). 🧝👾🃏 (ts+react+redux+rxjs, CSS-based anim, WebRTC)
Stars: 140

ArcoMage HD is a web-based, free and open source, remastered 3D clone of 3DO and New World Computing's 2000 PC card game, Arcomage, featured in the Might and Magic RPG series. This non-profit fan remake brings the classic tower defense and resource management fantasy game to modern platforms. It is fully responsive, supporting desktop, tablet, and mobile devices, and includes comprehensive accessibility features for users with disabilities. The game is playable offline as a PWA and offers both Single Player Mode against computer AI and Multiplayer Mode. Developed by @tomchen using TypeScript, React, Redux, redux-observable, RxJS, CSS animations, and WebRTC.
README:
ArcoMage HD is a web-based, free and open source, remastered 3D clone of 3DO and New World Computing's 2000 PC card game, Arcomage, which was featured in the Might and Magic RPG series.
This non-profit fan remake brings the classic tower defense and resource management fantasy game to modern platforms, and is developed by @tomchen using TypeScript, React, Redux, redux-observable, RxJS, CSS animations, and WebRTC (see § Development). If you enjoy the game, please support me by starring the repository or following me on GitHub.
ArcoMage HD is available in 14 languages: English, French, German, Simplified Chinese, Traditional Chinese, Spanish, Italian, Russian, Czech, Polish, Brazilian Portuguese, Japanese, Ukrainian, and Arabic (with RTL support). (§ Translation Credits)
It's compatible with the latest versions of
and other modern browsers.
The game is fully responsive, supporting desktop, tablet, and mobile devices 🖥️💻📱. As a PWA, you can install it and play offline. It is fully controllable with mouse, touch device, keyboard, or gamepad 🖱️📱⌨️🎮, and includes comprehensive accessibility features for users with disabilities.
By default, you'll play against the computer AI 🤖 in Single Player Mode. You can also switch to Multiplayer Mode 🧑🤝🧑.
Click to view the game rules in text format
Victory conditions vary per tavern. Build your tower, destroy your opponent's tower, or collect enough resources before your opponent does.
Large yellow numbers in column are the productions. This is how many new units of a particular resource you will receive on your next turn. Small black numbers in column are the resources. This is how many units you have available to spend on your current turn.
Cards: Each have their own cost to play, indicated in a small circle in the lower right corner of the card. The cost will be deducted from your resources according to the color of the card. Left click on a card plays the card. Right click on a card to discard without playing.
Red represents your Quarry Generator which produces your Brick 🧱 resources, blue represents your Magic Generator which produces Gem 💎 resources, green represents your Dungeon (aka. Zoo) generator which produces Recruit (aka. Beast) 🐲 resources.
The image and sound files, along with your card and language settings, are automatically stored in your browser. Additionally, you can install this "Progressive Web App" (PWA) on your computer or smartphone. For installation instructions, please refer to Google Chrome's guide and Mozilla's guide.
Depending on your browser, you may need to press Ctrl + F5 to clear the cache and reload the arcomage.github.io webpage to ensure you're using the latest version of the game.
The game is fully controllable using either a mouse, touch device, keyboard, or gamepad (click these links to view detailed instructions).
The game is fully compatible with and easy to use with a screen reader. You can also disable animations in the graphics settings if desired.
https://user-images.githubusercontent.com/529949/115864733-941cbd00-a437-11eb-955d-f6a341c8ea64.mp4
- Both players enable "Multiplayer" Mode (click the gear ⚙️ icon in the game to open the "Preferences" window)
- Bob 🧝 must copy and share his ID with Alice 👧 via Discord, forums, etc.
- Alice 👧 enters Bob 🧝's ID and connects to him
- Alice 👧 becomes the host 🏠 (her computer deals the cards), and Bob 🧝 is the guest 💼
Note: Multiplayer Mode may not function if both players are behind symmetric NAT. You can test if you're behind "bad", symmetric NAT.
Click to show technical details
In Multiplayer Mode, the game connects directly to the opponent (Peer-to-Peer, P2P) without using a server. However, we still rely on free public STUN servers (set up by Google and others) for peer discovery. Once connected using the ID assigned by the server, the players are directly connected and no longer need the server.
The game doesn't use any servers, so there isn't a central "list of online players" for easy matchmaking. Instead, you must share your ID with your opponent through platforms like Discord.
For more details, see WebRTC (Web Real-Time Communication) and PeerJS library.
Currently, since the game doesn't use a TURN server, it cannot connect two users who are both behind symmetric NAT (a rare scenario).
If you're experiencing performance issues while running the game, or if the game doesn't run at all in your browser (likely an older or non-major browser), you can refer to the troubleshooting guide. It includes a list of tested browsers that are known to run the game without major issues. Additionally, you may consider installing the Windows Desktop Version of the game (click to download), though please note that the current desktop version is not recommended in most cases.
If you encounter any issues, please open an issue.
The stack :
Used in ≤1.4 but not in 1.5+:
TypeScript + React + Redux + redux-observable + RxJS. PWA (using Workbox).
The game doesn't use rAF (except for a few cases), WebGL, or <canvas>
at all. Instead, it relies on DOM and CSS-based animations, which can improve SEO and accessibility, while making it feel more like a "standard web app." While CSS animations may not perform as well as <canvas>
, they still provide excellent performance on Blink-based browsers on modern devices.
The game features P2P Multiplayer Mode without a server, utilizing only STUN servers for peer discovery and WebRTC (with PeerJS) for communication.
It also supports stereo sound, WebP and SVG images, with images upscaled using the waifu2x / waifu2x-caffe libraries. Card text is extracted using the OCR library tesseract.js.
Developer scripts and tools are located in the tools
folder. For more details, see the development notes, changelog, and the scripts
section in package.json
.
-
Cards: Extracted from Might and Magic VIII & VI original games (or translated/retranslated) by:
- English (
en
): Black Rabite on GameFAQs - Russian (
ru
) (retranslated): rayburn - Simplified Chinese (
zh-Hans
): (extracted) Liar-zzy, (fixed/retranslated) Tom Chen - Polish (
pl
) (retranslated): acidcave - Czech (
cs
): Yym - Brazilian Portuguese (
pt-BR
) (translated): mateuscv - Ukrainian (
uk
) (translated): troyane - Japanese (
ja
) (translated): Tom Chen with help from Google Translate & DeepL - Arabic (
ar
) (translated): Tom Chen with help from Google Translate - All others: Tom Chen with OCR tool tesseract.js & other scripts
- Traditional Chinese (
zh-Hant
): Converted fromzh-Hans
by Tom Chen using his scripts and opencc-js
- English (
-
Main string translators (some from the original games):
- Russian (
ru
): rayburn - Polish (
pl
): (partially by) Plamcia - Brazilian Portuguese (
pt-BR
): mateuscv - Ukrainian (
uk
): troyane - All others: Tom Chen by himself and/or with help from Google Translate & DeepL
- Traditional Chinese (
zh-Hant
): Converted fromzh-Hans
by Tom Chen using his scripts and opencc-js
- Russian (
-
Taverns: Extracted from Might and Magic VIII & VI original games by Tom Chen using his script. Except for:
- Brazilian Portuguese (
pt-BR
) (translated): mateuscv - Japanese (
ja
) (translated): Tom Chen with help from Google Translate & DeepL - Arabic (
ar
) (translated): Tom Chen with help from Google Translate - Ukrainian (
uk
) (translated): troyane
- Brazilian Portuguese (
See also I18N Issue Page
Arcomage was initially developed by Stickman Games and later sold to The 3DO Company (3DO). The game appeared as a mini-game in Might and Magic VII: For Blood and Honor (MM7) and Might and Magic VIII: Day of the Destroyer (MM8), the seventh and eighth games in New World Computing (NWC)'s Might and Magic (MM) series. (It's similar to Gwent in The Witcher.) NWC and its parent company, 3DO, also released a standalone version in 2000, which can be played in single-player or multiplayer mode. The original standalone Arcomage has a resolution of 800 x 600 pixels and works in 16-bit color mode on Windows 10, but the graphics are unstable.
The code for the ArcoMage HD game: MIT License (c) Tom Chen.
The assets, text, appearance, and other copyrightable elements of the game: (c) 2001 The 3DO Company.
See the CREDIT.md file for a detailed presentation of the copyright status, licenses, and credits for the game's components.
For Tasks:
Click tags to check more tools for each tasksFor Jobs:
Alternative AI tools for arcomage-hd
Similar Open Source Tools

arcomage-hd
ArcoMage HD is a web-based, free and open source, remastered 3D clone of 3DO and New World Computing's 2000 PC card game, Arcomage, featured in the Might and Magic RPG series. This non-profit fan remake brings the classic tower defense and resource management fantasy game to modern platforms. It is fully responsive, supporting desktop, tablet, and mobile devices, and includes comprehensive accessibility features for users with disabilities. The game is playable offline as a PWA and offers both Single Player Mode against computer AI and Multiplayer Mode. Developed by @tomchen using TypeScript, React, Redux, redux-observable, RxJS, CSS animations, and WebRTC.

yolo-ios-app
The Ultralytics YOLO iOS App GitHub repository offers an advanced object detection tool leveraging YOLOv8 models for iOS devices. Users can transform their devices into intelligent detection tools to explore the world in a new and exciting way. The app provides real-time detection capabilities with multiple AI models to choose from, ranging from 'nano' to 'x-large'. Contributors are welcome to participate in this open-source project, and licensing options include AGPL-3.0 for open-source use and an Enterprise License for commercial integration. Users can easily set up the app by following the provided steps, including cloning the repository, adding YOLOv8 models, and running the app on their iOS devices.

chat-xiuliu
Chat-xiuliu is a bidirectional voice assistant powered by ChatGPT, capable of accessing the internet, executing code, reading/writing files, and supporting GPT-4V's image recognition feature. It can also call DALL·E 3 to generate images. The project is a fork from a background of a virtual cat girl named Xiuliu, with removed live chat interaction and added voice input. It can receive questions from microphone or interface, answer them vocally, upload images and PDFs, process tasks through function calls, remember conversation content, search the web, generate images using DALL·E 3, read/write local files, execute JavaScript code in a sandbox, open local files or web pages, customize the cat girl's speaking style, save conversation screenshots, and support Azure OpenAI and other API endpoints in openai format. It also supports setting proxies and various AI models like GPT-4, GPT-3.5, and DALL·E 3.

autogen
AutoGen is a framework that enables the development of LLM applications using multiple agents that can converse with each other to solve tasks. AutoGen agents are customizable, conversable, and seamlessly allow human participation. They can operate in various modes that employ combinations of LLMs, human inputs, and tools.

MaxKB
MaxKB is a knowledge base Q&A system based on the LLM large language model. MaxKB = Max Knowledge Base, which aims to become the most powerful brain of the enterprise.

moon
Moon is a monitoring and alerting platform suitable for multiple domains, supporting various application scenarios such as cloud-native, Internet of Things (IoT), and Artificial Intelligence (AI). It simplifies operational work of cloud-native monitoring, boasts strong IoT and AI support capabilities, and meets diverse monitoring needs across industries. Capable of real-time data monitoring, intelligent alerts, and fault response for various fields.

postiz-app
Postiz is an ultimate AI social media scheduling tool that offers everything you need to manage your social media posts, build an audience, capture leads, and grow your business. It allows you to schedule posts with AI features, measure work with analytics, collaborate with team members, and invite others to comment and schedule posts. The tech stack includes NX (Monorepo), NextJS (React), NestJS, Prisma, Redis, and Resend for email notifications.

langfuse-python
Langfuse Python SDK is a software development kit that provides tools and functionalities for integrating with Langfuse's language processing services. It offers decorators for observing code behavior, low-level SDK for tracing, and wrappers for accessing Langfuse's public API. The SDK was recently rewritten in version 2, released on December 17, 2023, with detailed documentation available on the official website. It also supports integrations with OpenAI SDK, LlamaIndex, and LangChain for enhanced language processing capabilities.

generative-ai
This repository contains codes related to Generative AI as per YouTube video. It includes various notebooks and files for different days covering topics like map reduce, text to SQL, LLM parameters, tagging, and Kaggle competition. The repository also includes resources like PDF files and databases for different projects related to Generative AI.

lagent
Lagent is a lightweight open-source framework that allows users to efficiently build large language model(LLM)-based agents. It also provides some typical tools to augment LLM. The overview of our framework is shown below:

aiken
Aiken is a modern smart contract platform for Cardano, providing a user-friendly environment for developing and deploying smart contracts. It supports Linux, MacOS, and Windows operating systems. Aiken is designed to simplify the process of creating smart contracts on the Cardano blockchain, offering a seamless experience for developers. The platform is named after Howard Aiken, an American physicist and computing pioneer.

awesome-agents
Awesome Agents is a curated list of open source AI agents designed for various tasks such as private interactions with documents, chat implementations, autonomous research, human-behavior simulation, code generation, HR queries, domain-specific research, and more. The agents leverage Large Language Models (LLMs) and other generative AI technologies to provide solutions for complex tasks and projects. The repository includes a diverse range of agents for different use cases, from conversational chatbots to AI coding engines, and from autonomous HR assistants to vision task solvers.

complexity
Complexity is a community-driven, open-source, and free third-party extension that enhances the features of Perplexity.ai. It provides various UI/UX/QoL tweaks, LLM/Image gen model selectors, a customizable theme, and a prompts library. The tool intercepts network traffic to alter the behavior of the host page, offering a solution to the limitations of Perplexity.ai. Users can install Complexity from Chrome Web Store, Mozilla Add-on, or build it from the source code.

neural-compressor
Intel® Neural Compressor is an open-source Python library that supports popular model compression techniques such as quantization, pruning (sparsity), distillation, and neural architecture search on mainstream frameworks such as TensorFlow, PyTorch, ONNX Runtime, and MXNet. It provides key features, typical examples, and open collaborations, including support for a wide range of Intel hardware, validation of popular LLMs, and collaboration with cloud marketplaces, software platforms, and open AI ecosystems.

tidb
TiDB is an open-source distributed SQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads. It is MySQL compatible and features horizontal scalability, strong consistency, and high availability.

OutofFocus
Out of Focus v1.0 is a flexible tool in Gradio for image manipulation through prompt manipulation by reconstruction via diffusion inversion process. Users can modify images using this tool, which is the first version of the Image modification tool by Out of AI.
For similar tasks

arcomage-hd
ArcoMage HD is a web-based, free and open source, remastered 3D clone of 3DO and New World Computing's 2000 PC card game, Arcomage, featured in the Might and Magic RPG series. This non-profit fan remake brings the classic tower defense and resource management fantasy game to modern platforms. It is fully responsive, supporting desktop, tablet, and mobile devices, and includes comprehensive accessibility features for users with disabilities. The game is playable offline as a PWA and offers both Single Player Mode against computer AI and Multiplayer Mode. Developed by @tomchen using TypeScript, React, Redux, redux-observable, RxJS, CSS animations, and WebRTC.

freeciv-web
Freeciv-web is an open-source turn-based strategy game that can be played in any HTML5 capable web-browser. It features in-depth gameplay, a wide variety of game modes and options. Players aim to build cities, collect resources, organize their government, and build an army to create the best civilization. The game offers both multiplayer and single-player modes, with a 2D version with isometric graphics and a 3D WebGL version available. The project consists of components like Freeciv-web, Freeciv C server, Freeciv-proxy, Publite2, and pbem for play-by-email support. Developers interested in contributing can check the GitHub issues and TODO file for tasks to work on.
For similar jobs

air-light
Air-light is a minimalist WordPress starter theme designed to be an ultra minimal starting point for a WordPress project. It is built to be very straightforward, backwards compatible, front-end developer friendly and modular by its structure. Air-light is free of weird "app-like" folder structures or odd syntaxes that nobody else uses. It loves WordPress as it was and as it is.

AirPower4T
AirPower4T is a development base library based on Vue3 TypeScript Element Plus Vite, using decorators, object-oriented, Hook and other front-end development methods. It provides many common components and some feedback components commonly used in background management systems, and provides a lot of enums and decorators.

Juggle
Juggle is a low-code tool for interface orchestration, which can quickly orchestrate simple APIs into a complex interface. The orchestrated interface can be directly used by the front end, greatly improving development efficiency and reducing development costs.

enterprise-commerce
Enterprise Commerce is a Next.js commerce starter that helps you launch your high-performance Shopify storefront in minutes, not weeks. It leverages the power of Vector Search and AI to deliver a superior online shopping experience without the development headaches.

ai2html
ai2html is an open-source script for Adobe Illustrator that converts your Illustrator documents into html and css.

nlux
nlux is an open-source Javascript and React JS library that makes it super simple to integrate powerful large language models (LLMs) like ChatGPT into your web app or website. With just a few lines of code, you can add conversational AI capabilities and interact with your favourite LLM.

ui
Leafer UI is a colorful UI drawing framework developed based on Leafer, which can be used to combine AI drawing and generate interfaces. It provides commonly used UI drawing components and out-of-the-box functions, which is convenient for data exchange with products such as Figma and Sketch, and provides unified and rich interactive events for cross-platform development, such as drag, rotate, and zoom gestures. 1.0.0-rc.21 has been released 🎉🎉🎉, check the changelog. At present, the product has gradually stabilized, and the official version is coming soon. Thanks to all the friends who participated~ If you want to start using it right away, please check the quick installation. If you have any questions or suggestions, you can submit them here or join the technical exchange group. If you only need drawing functions, the lighter leafer-draw (46KB min+gzip) is recommended. 🌟 Remember to go to GitHub / Gitee to light up your little stars ✨ ✨ ✨