Arcane Fortune

About  -  Screenshots  -  How to play  -  Download  -  Video dev logs  -  AI  -  Forum  -  Donate

News and updates

RSS: all, releases only


Say hello to your new civic advisors -- coming in the Cults of Rebellion Edition! They will help you navigate your empire's residents nuanced beliefs and moods. However, you'll have to take their advice with a grain of salt...


The new Cults of Rebellion Edition (v0.2.0) is underway. This edition will expand the role your residents have on your empire, giving them something like an opinion about the quality of your rule. Whether or not they are happy with your ruling-style will be based on factors such as the doctrines or cults, if any, that they follow, their employment, or lack of, tax rates, crime, and their health. You might ask, as their ruler, why would you even care about what they think? Well, the simple answer is you won't have to if you're prepared for them to start rioting and rebelling against you.

As of now, I've finished implementing the basic components of the doctrine, happiness, crime, and health systems, however, a substantial, maybe even the majority of the work, remains in getting these systems reasonably balanced with each other and the game overall. Also, I still have to add the rioting/rebellion system. Although, I suspect the rioting system will be less work than the balancing.

I hope to release this next edition in, approximately, 2 months time.


I've released a minor update (v0.1.1) to the Rule of Combat edition. This update adds support for custom keybindings. See the file config/keyboard.txt (or game/config/keyboard.txt for Windows users). Thanks to Tchey for requesting this feature.


I've setup forums for the site. Come by and say hello!


I've released the Rule of Combat Edition (v0.1.0) of Arcane Fortune! This edition brings the beginnings of construction and deconstruction, through city building and war respectively. Take a look at the how to play guide and start building your empire! Here's a list of some of the major features of this release:

  • city zoning: residential, business, industrial, agricultural
  • city desirability based on road connectivity and distances
  • government funded buildings for increasing the desirability of your zones (ex. monuments)
  • taxation of your cities as the main source of income for funding your empire's expenses -- also higher taxes make your cities less desirable
  • natural resources -- for building stronger armies, and also increasing the desirability of your zones (ex. horses, iron)
  • land arability and elevation levels influence how desirable zoned land is (most influence is through arability)
  • technology tree and the unlocking new units, resources, and buildings
  • barbarian invaders
  • AI city planning, construction, and general empire management
  • city walls: for keeping out and slowing down invaders
  • embassies for threatening and declaring war on other civilizations
  • when a rival civilization is at war with you (or anyone) it will attempt to coordinate its military to destroy city fortifications and invade to conquer cities
  • late-game civilizations can become agressive and seek destruction rather than conquest. beware!
  • game creation options for controlling the world size and difficulty level (latter of which largely controls the bonuses the rival AI civilizations and barbarians get)
  • much of the game can be altered by editing the text-based configuration files stored in the 'config/' sub-directory. units, buildings, technologies, resources can be added or altered. AI difficulty levels can also be adjusted.

Being the first release, there will be bugs and problems -- save your games often -- the game will auto-save every so often, but it may not be enough.

Platform support and system requirements: Linux, Windows 7 (and newer), Mac OS X (tested only on 10.10, but theoretically I think it could work, now or eventually on as low as 10.7). The game requires 2 Gb of RAM. It generally keeps usage under 1.5 Gb (I have, earlier in development, run the game on an old netbook with 1 Gb of RAM and it did not run out of memory).

Let me know what you think of the game so far!


I've migrated to a new webhost and registered the domain name!


I posted a video describing the neural network quote generator I've added to Arcane Fortune. The AI uses this neural network to talk to you when you enter its embassies.


I've posted an article and video where I play a neural network trained with a self-supervised technique similar to AlphaGo Zero. This is not directly related to Arcane Fortune, but someday, eventually, I'd like to have the game utilize techniques from machine learning for the purpose of having challenging in-game adversaries.


I've posted a new video development log on Youtube describing some changes I've made to the game over the past few months. One of the most notable is that I've changed the details of the map generation and storage so that extremely large maps can be generated and played. Other notable changes are improved AI city planning, logging of game actions, plotting of values in the game over time (like gold), naming units and cities (randomly for each one created).

Future work includes further improving the AI to build multi-city empires (that are better fortified, with walls, for instance), having the AI start wars and attack, and adding buildings that can alter local zone demands (ex. theaters increasing residential zone demand).


I re-structured things so that all buildings, and unit types are loaded from text-configuration files to allow the possibility of modifying. I also finished the technology system, which allows you to build new units and buildings as technologies are discovered. The fog of war / ability to discover parts of the map is a work-in-progress, although this has been the most recent task I've switched to. I haven't yet altered/improved the AI probably much or at all since last time--getting the units and buildings correctly initialized from text-configuration files proved to be way more time-consuming than I had anticipated (however, on the other hand, the fog of war progress seems to be mildly faster than I thought).


As far as I can tell, I've finished porting all features I had originally written in C into Rust. The code seems relatively stable, but still fairly untested. It is now at 8,642 in Rust, compared with the 8,290 lines I had in C, however, I have full save/load functionality of games which I had only partially implemented in C (plus I used Rust generic types for much of it, so it's not entirely specific to the exact variable layouts I have). I'm pretty happy with the decision to port to Rust. The code feels cleaner, and I'm more confident that if/when current or future issues arise, I'll be able to debug them or prevent them altogether as I'm implementing them.

Now that the port seems complete, it's time to work on the AI, adding more buildings, and adding support for in-game technology, fog of war and more--more exciting parts, in some ways.


The movement, attacking, and building creation systems have now been ported over to Rust. The last major part will be getting the economics system working--I've already ported some of it over but have not really tested it yet. After that, I'll work on getting the display and other minor aspects ported and I'll be about up to where I was before I started migrating from C.

While not a great measure of progress, I now have 6,048 lines of code ported into Rust. I previously had written 8,290 in C. So that measure would put me at about 73% done with the porting of what I had. It'll be moderately interesting to see how close the line counts are when I finish--certainly a lot of things like memory management don't have to be as explicitly managed in Rust (reducing line counts) but other aspects dealing around unwrapping nested "Option" values end up making code more verbose in other ways.


I've started looking into Rust and have been spending most of my time in the past few weeks learning about it more. It's been appealing to me because it eliminates/automates a lot of the debugging code I write around most of my code in C. While development time might be slowed by using it somewhat--since the Rust compiler is sometimes very strict about things I think it shouldn't be (implied integer typing, for example) I'm getting the sense that it results in much less time spend debugging later due to it better guaranteeing memory safety.

So far, I've ported over the map generation, the basics of the display, and the menu system. Much more obviously needs to be done but I suspect some of the rest will be faster since I'm better understanding the language.

Before I started getting into Rust, I had previously expanded more on the economic system since my last post. Basically, each individual resident, business, etc. requires and tries to purchase or sell some amount of goods to want to stay living in your city. It was working reasonably well but the system definitely needed optimization.


I've begun working on the zone demands, similar to the RCI of SimCity. So far, the game now supports residents moving in and finding jobs--they find the closest job to them in a surrounding business, industrial, or agricultural zone. In the coming weeks I'll likely work on getting these values better utilized by the game and expanding on using these values more throughout the game to drive the economy.


This week I've added the basics of unit production for city halls and boot camps. So, you can now produce workers, explorers, warriors, and archers. Also since last week is the ability to zone residential, business, agricultural, and industrial areas. The basics of economics and building developments on zoned regions will probably be my focus next.


Welcome! This is the first entry for my game Arcane Fortune. I'm intending for this game to combine the best parts of Civilization, SimCity, and the level of detail and realism approaching Dwarf Fortress. The game is entirely console based and can be run on GNU/Linux, Windows (Cygwin), and OS X. The game can also be run remotely and connected to from the browser with Shell In A Box (a SSH client and terminal emulator for your browser).

As of this writing, I've been developing the game for about five weeks. The basics of map generation, visualization have been finished. The basics of units (workers, solders) and their basic actions (fortify, move, disband, and passing turns) have been added. I've also added a few worker-specific actions: zoning land (residential, business, agricultural, and industrial zones), and building City Halls.

There is a lot more to come. In the coming weeks, I'm going to work more on buildings, unit production, and, hopefully, some basic AI. On the longer-term, there should be significant work ahead to create the truly immersive game I'm imagining--all major aspects of running an empire need to be touched on: the economy, warfare, diplomacy, social movements, religion, public approval, research, technology, public policy, and probably others as well.

Contact me