The Spirit of Arcs of Magic
It may be difficult to imagine where this project is going or how it will be different from dozens of other games just by looking at its current state. So, I put together a kind of a manifesto that explains what I am trying to accomplish and why.
The vast majority of the features described below will only become available in the future versions of the game. The already implemented features (sometimes, partially) are marked by this symbol:
Magic spells for anything
Have you ever wondered why a wizard in a video game can throw a fireball into the enemies, but is incapable of starting a campfire? Why in some games the "magic wand" is nothing more than a reskinned machine gun? Why you are limited to the same 10, 20, or 100 spells, most of them combat-related (*)?
I did. A fan of high fantasy books, movies, and games, I always wanted to play a video game that would allow you to make your own spells, especially since I discovered the notion of hard magic systems. In a nutshell, hard magic systems are the systems that have rules explained to the reader, the viewer, or the player and behave in a somewhat rational and predictable way, as opposed to soft magic systems which behave in mysterious, more unpredictable ways, without anyone having a clear idea of what their limits are.
Hard magic systems seem like a perfect match for video games. Indeed, the developers have to program every single thing that the player sees on the screen. The games are already overflowing with rules: what can and can't be done, the exact effects of each action, the ways different elements of the game interact with each other. I think it would be correct to say that rules, in general, are an integral part of what any game is.
And yet, among tens of thousands of video games featuring magic, only a small portion even tries to give the player the means to customize the predefined spells, and only a handful, a restricted ability to create one's own spells.
But that could be so fun! Just imagine...
- Enchanting the gates of your castle to open automatically when you, and only you, approach.
- Having a dagger that glows when certain threats are nearby (oh... that one exists already :-).
- Creating traps that magically attract certain animals, put them to sleep, and alert you when that happens.
- Having a ball of light follow you around so that you don't have to carry a torch, or making it turn around your shelter while you sleep to scare wildlife away.
- And much more... Possibilities for spells, within the reach of your skill, resources, and mental strength, could be limitless, as long as they follow the rules, and super fun to play with.
And so, Arcs of Magic was born. If you want to truly create your own, unique spells, Arcs of Magic is being built for you!
How it works
In Arcs of Magic, magic spells are actually scripts. That is, sequences of magical commands, or spell fragments, that should be performed one after another in order to achieve the desired effect. This relates nicely to the myth that the spells are written in a grimoire when invented and then read back or vocalized to set them off.
The game includes a simple, yet powerful visual spell editor, which allows the player to add, modify, reorder, or remove the spell fragments in the existing or newly created spells. The spell editor can be accessed directly from the inventory menu.
When activated, the spell fragments are performed by the magic simulation engine, which is tightly integrated with the general world physics simulation engine. Each fragment interacts with the character and the world around him in a simple, predefined way. On top of that, most fragments modify the context of the spell (such as selected objects, for instance). This allows the same spell to have dynamic behavior and to act differently depending on the surroundings.
You can learn more about MagicScript, the technical solution for a magical problem, in the detailed release notes.
How to construct spells
The main notion when constructing a spell is that of the current selection. It can be a place, an object, a block of terrain, or any set thereof. The selections can be created thanks to the character sensors (like vision), transformed and manipulated. For example, it is possible to select all visible trees, then transform the selection to their locations, and finally, expand those locations to 5-meter (15-feet) radius spheres around those locations. One can then perform an action on the resulting spheres.
Other sensors can provide information on the character himself, such as his state of hunger, for example. It is possible to make a spell that performs its actions only for certain hunger levels.
Depending on their skills and physical abilities, one can perform various actions, such as:
- drawing , transforming , storing, or transmitting the energy,
- performing a force push ,
- and so on.
One can also perform any non-magical actions within spells, such as taking objects, walking or turning, attacking, and so on. After all, in the world of Arcs of Magic, magic is simply a part of nature.
Finally, within the spell, it is possible to perform data manipulation (arithmetic operations, comparisons, and so on), as well as to interact with the Heads-Up Display (HUD) to report the result of the spell, for example.
The magic system and its limitations
The magic in Arcs of Magic is based on the energy flow that permeates the whole world. One can draw a small amount of this energy from the surroundings and hold it for a while. It is impossible to hold it forever, so the wizard has to use it for some purpose rather quickly.
Different actions and effects are provided by different energy aspects, which are available each at its own time of day (or night), so you need to plan your actions quite carefully. Moreover, your character will only be able to draw certain energy aspects, those he is attuned to, and not others, and not all of them with the same efficiency, which may severely limit the spell effects accessible to each given character.
The energy can be stored in precious stones, which are often embedded into enchanted artifacts like swords, amulets, pieces of armor, and so on. Although anyone can use artifacts of any energy aspect regardless of his own attunement, the number of times a spell can be used in this fashion is limited by the amount of energy stored in the gems. Without a reliable way to refill them, one should do well to use them as sparingly as possible.
Automation and AI
As a matter of fact, the magic simulation engine is so powerful, that the game's Artificial Intelligence (AI) system is built entirely on it. One can detect threats, consult one's own state like hunger or thirst, make decisions, move, attack, or perform any actions at all following a "magical" script.
One will also be able to use advanced magic for all kinds of automation. Get rid of the repetitive tasks by harnessing the nature's magical flow and converting it to perform any useful task you can think of.
Survival simulation
Borrowing the great survival simulation ideas from the games like The Long Dark, Green Hell, or Stranded Deep, Arcs of Magic strives to bring a new feel to the genre thanks to numerous unique features.
Fully harvestable and transformable environment and items, detailed body simulation closely related to the physics simulation of the world around you, and unrestricted base building will come together in an effort to mix the true sandbox and hardcore survival elements in the same game.
All new features, survival, or RPG mechanics being added to the game share the same goal: make the player feel like he is truly there.
Body simulation
First and foremost, Arcs of Magic will feature many of your favorite body mechanics:
- Thirst and dehydration
- Stamina and the need for rest
- Mental and physical exhaustion, the need for sleep
- Hunger and starvation
- Cold and frostbite
- Heat and heat exhaustion
- Burns and sunburns
- General afflictions, like infections or poisoning
- Per-limb afflictions, like wounds or bites, sprains, bruises, and so on
I have not made my mind yet about the balanced diet simulation. It feels like an overkill and is probably not so fun to play with, but at the same time it is kind of necessary for any hardcore survival game. Well, I definitely still have time to decide!
Oh, and one last thing: I am dying to remove the generic health meter. With the depth of simulation most games have nowadays, it is a wonder that this absurd number did not disappear a long time ago. MAY 2024 UPDATE: Since I have written this sentence two years ago, I have come to realize that there is a lot of very good reasons why "health" is still so prevalent in the modern video games. I still think a survival game must have a host of various positive and negative (including critical) effects instead of a single number, but I do not categorically exclude some kind of a "general condition" meter anymore.
Physics simulation
I plan to make use of the simulation engine in meaningful, interconnecting ways.
Take wetness, for example. Imagine your character fall into freezing water. That should be a bad, bad survival situation. If you do not do anything, hypothermia will kill you. Running will make your body generate some heat or even dry your clothes a little bit. But this will be utterly insufficient if you do not reach your base soon. Get out of the wet clothes and change into dry ones, then stay close to a fire. Even so, chances of getting a serious fever will be quite high.
The cold should prevent food from spoiling. Dry wood should be easier to burn. Sleeping animals will hear you from a shorter distance, even more so if you sneak. And so on.
Another thing that should bring an extra touch of realism is the removal of unnecessary restrictions. A ten-meter (30 feet) cliff in front of you? You should be able to at least try to climb it.
Want to get some sleep? You will be able to sleep anywhere, if needed, not just in beds. The world simulation will continue while you sleep, though, so do not just lie down in the middle of the forest. You may wake up to bigger problems than catching a cold.
Crafting and durability
Most items, like tools, clothes, and so on, will be craftable via skills. It will also be possible to tear down or to repair anything at all, as long as you have the appropriate skills and tools.
I am not a big fan of the durability mechanics, where your tools and equipment just go bust on you all of a sudden. I think a better approach would be to reduce the item efficiency in a significant fashion, but not completely, and give the player means to repair it. This way, the player cares more about his gear, and feels like he truly owns it. Take axes, for example. Quite often, an axe is so durable that it is passed from one generation to another. Yet, it does not mean you do not need to sharpen it after every time you use it, or to replace the wooden shaft from time to time. The same mechanics can be applied to mending clothes and footwear, and many other things.
Sandbox base building
I want to remove as many restrictions as possible from the base building. By eliminating the omnipresent blueprints and giving the creative freedom back to the players, I plan to make each location unique and fun to build and to live in.
To make it even easier, I also have a bunch of quality-of-life improvement ideas to speed up the construction tasks in order to remove the need of doing the same stuff over and over again.
The physics simulation in Arcs of Magic will allow you to use your own designs for many things. Forget about the copy-pasted "campfires", "large fires" and "fire pits". Do you want to set on fire your entire stock of logs? You can. Do you want to make a fire inside your wooden cabin without adding stones for protection, so that it can burn down while you sleep? Not the best idea, but it is your right to do so.
Let go of the slot-based workstation system. If something is close to a fire, it will heat up: the food will cook and the wet clothes will dry. Craft items anywhere, if you have the appropriate tools, enough light and a suitable surface. Spread fruits under the sun to dry them, as you do not need a dedicated drying station.
Landscape shaping, mining and farming
Minecraft-inspired sandbox landscape modification is already somewhat implemented in the game . It should complement the base building by allowing the player to dig out moats or tunnels, build earth ramparts, or level construction sites.
I do not plan to focus on mining just yet, though. Mining and smelting are a whole new family of game mechanics and would require a considerable effort to implement. I think we should be able to survive on loot instead for quite some time.
The same goes for farming. It clearly is not a top development priority right now. On the other hand, with the physics simulation engine that animates everything within the confines of the game world, it may just so happen that some of it gets done for free. After all, nothing in the game will prevent you from digging up a white currant bush you found in the forest and moving it next to your house.
The world generation
The world size is already very large: 4096 by 4096 meters (2.5 by 2.5 miles), 1024 meters (0.6 miles) high . I do not think I need to increase it any time soon. Not until I start adding faster ways to travel, such as animal control or teleportation, at any rate. Eventually, I plan on adding maps, too.
The world is procedurally generated, but it always uses the same seed for the time being . I think that the regular game mode will continue using the same seed, even though the character may be placed at different locations of the map for each new run. If there is enough interest for this feature, I will add a possibility to start in entirely new, customizable, worlds. The full power of the procedural world generation will be available via modding as well.
Role-Playing Game (RPG) mechanics
Originally inspired by the roguelike Ancient Domains of Magic (ADOM), Arcs of Magic's development focused on the spell editing and survival mechanics until now.
However, in the future versions, Arcs of Magic will feature a detailed skill system. Each skill will enable the character to perform a particular action. As the character's proficiency in a given skill increases, he will perform the corresponding action in a better way (faster, with higher chance of success, spending less energy, and so on).
At certain levels, significant improvements in the way a skill functions or even entirely new skills from the same or related skill trees will be unlocked.
The character will receive less experience for a less difficult action, so that performing very simple tasks will eventually provide no new experience whatsoever. To maintain a skill at a certain level, one will need to practice it regularly, as well. A character will be able to learn many different skills, but will only be able to be proficient in some of them at any given time.
There will be no classes. Professions will be considered as certain sets of skills. Physical ability to perform certain actions will be determined on birth. Eventually, higher replayability will be achieved by starting with different professions, regions, ethnic groups, or social backgrounds, with no need for an arbitrary class system.
Also, as experience is considered for each skill individually, there will be no global experience points (XP) or global character levels.
Missions and quests may be added as well, but as they come with the addition of villages and Non-Playable Characters (NPCs), it is quite a long term goal.
User interface
In many respects, the user interface is as an important part of the gameplay as any of the game mechanics themselves.
I want to make the HUD minimalist, but also functional. The main goal, and the feeling I would like the players to have, is that of a maximum immersion. I think that it does not mean that there should be no HUD at all, especially in a game which does not have photorealistic graphics (although, disabling the HUD will be available as an option). Rather, the HUD should provide only the information which is immediately useful for the player.
For example, there is no need to show the hunger meter if you are not hungry . A brief notification will appear whenever the hunger level increases significantly. But only when it becomes a pressing concern, the hunger alert will remain on the screen . The same logic will apply to all "body meters", affliction notifications, and environmental alerts.
Full data will, of course, remain accessible in the main menu, just one key press away.
Also, Arcs of Magic does not show the exact values of any meters, but rather one of a small number of discrete levels. For example: "Slightly hungry", "Very hungry", "Ravenous", and "Starving" are some of the hunger levels available in the game . In real life, one can not be much more precise than that, so there is no need to show anything like "Hunger: 72%", as many games do.
This system will adapt to the situation, as well. Humans can detect small differences in the ambient temperature when it is close to the body temperature, but less so when it is well below freezing point, for example. The user interface will try to mimic that.
As I add more mechanics to the game, the HUD will be updated to include the relevant information, such as mental exhaustion, sleepiness, pain alerts, but also ambient temperature, wind direction, or sounds.
The menus (the context menu, the inventory, and the spell editor) will also continue to evolve in every new version of the game. They will be enhanced, tweaked, reworked, simplified until they are as simple as they can get, providing quick access to the most commonly used functions and hiding away the complexity of the simulation.
Graphics
The principal focus of the development has been and will remain the gameplay: new challenges, new spell fragments, new character skills, new physics, magic, and survival simulation mechanics, as well as improved terrain generation and smarter AI. There are thousands of things to do.
Even if more time becomes available, I would want to use it for all those things, rather than waste it trying to achieve a mediocre imitation of the visually stunning games readily available elsewhere.
So, it is unlikely that the 3D visuals will evolve much before Alpha or Beta stages, although some improvements are planned to make them look nicer little by little.
Hopefully, Arcs of Magic will eventually manage to have a low-poly stylized look not unlike The Long Dark which I am quite a fan of.
About the project and its author
I am a long-time software developer. Basically, I have been coding for almost as long as I can remember, starting back in the days of ZX Spectrum and IBM PC XT. I always enjoyed making small side-project programs. My career and the current full-time day job are also software related.
Arcs of Magic is my first major development effort outside my professional life. I have already invested years of work into it, and as it takes shape, I only grow more impatient to make it shine.
Arcs of Magic is a single person project. I do all the coding and the graphics, including 3D models and animation, I look for the sound effects, additional icons and textures. I dedicate a big chunk of my free time to it, yet even so, it takes a painfully long time to do it alone.
This is why any feedback from you, any at all, is very precious and goes a long way towards making me work on the game even harder!
My wife and son wholeheartedly support me in this adventure, which is extremely helpful and rewarding. We live in France.
-- Alexandre