Lots of graphical details have been added in week 5. And work on character generation continues. It starts to feel like something almost complete. Overall the graphical fidelity has gone up another notch (while retaining the old school charm we are aiming for) and this will drive more changes in the weeks to come.
Also lots of infrastructure work happened in the background for the underlying game sytem as you can see at the end of this post by more than 160 new classes in the game alone (and “only” about 6,200 new lines of code… infrastructure often is not very complex per component but usually needs a lot of components to be extendable and efficient enough).
Animated main title image
Krys outdid himself animating our so far static main title image. We now have a beautifully animated title image:
Graphical frames
Dialogs, windows and tooltips now can have graphical frames in order to make them visually stand out more cleanly and be more attractive.
Here are is one example, more below with the other new features:

Visual upgrade for character generation
Everything was overhauled:
- Typography
- Spacing
- Framing
- Unified color scheme
All in all character generation (considering its basic state) now is looking a lot more pleasing and still fully aligned with our planned old school charme. Here are updated screenshots – compare them to last week if you like to see the progress:



The gender selection step already was shown in the previous section and skill selection still needs to be implemented (although most of skill infrastructure already is there).
Death screen added
Death always has been a big part of ADOM and it also will be a big part of Realms of Ancardia – even though the default game will have a wonderful twist by introducing permalife instead of permadeath. More on this at some later point in time… here’s the default death screen for your final death…
Item architecture created
It’s time to get items into the game in order to finish character generation. This usually requires a lot of infrastructure for a game with the complexity of Realms of Ancardia. So this week I did a lot of tedious groundwork by implementing these concepts:
- items data structures
- item templates
- item template generators
- item containers
- item types
- base items
- template based items
- item modifiers
- item traits (that cause modifies to become real)
- infrastructure for implementing random items based on some base template
- infrastructure to randomly generate items based on type and desired power level
Not much fun but they enable one of the major fun parts – creating cool items 🙂
Also statistics now adjust due to equipping or unequipping items, etc.
Rules and architecture for initial equipment
Realms of Ancardia uses a system based on race and initial talent category levels in order to define the starting equipment of the player character. Both the architecture for this approach plus all rules to generate starting equipment based on on 12 races, 10 talent categories and 6 talent category levels for a total of
12 x 106 = 12,000,000 starting combinations for equipment
have been implemented. And since some of the starting equipment is randomized there is an almost infinite number of setups.
More details will be added to this system later when we implement star signs, background stories, feats, etc.
Started adding item templates
Adding items will be a forever job considering that ADOM had hundreds of them. To get character generation started we added 92 base item templates in 18 type categories. More to come – even character generation is not yet fully complete (we need a lot more scrolls, rings, wands and potions).
Inventory / information screen prototyped
I started with a prototype for an information screen about all data that makes up the player character (bound to the classical “i” for inventory – but it’s a lot more than that – so “information” seems to be the better future mnemonic for this).
Here is the unstyled prototype mostly used right now to confirm that data goes where it should while building a character (Krys already has prepared nice tab images but I was too slow to implement them before the weekly update had to go out):



The skill tab has not yet been built and the tabs themselves need to be upgraded visually.
Basics of a tavern generation system implemented
Taverns play a big role in any classical fantasy setting, even more so in Realms of Ancardia with its large number of highly variable settlements. Creative struck me like lighting and I designed a tavern generation system which provides the following features:
- race-specific tavern names (e.g. dwarven taverns should be very differently named from dark elven or orc taverns)
- randomized potential tavern activities (from standard stuff like dining and drinking to much more elaborate stuff like pitfighting or quest access)
- room types and prices depending on the specific settlement data (and some randomness)
- randomized rumors you might be able to hear while staying in the tavern
- randomized special events (like a bar fight or the chance of your pockets being picked)
- randomized special traits for taverns (like being haunted, a smuggler’s den or fey touched)
All this should help to make taverns truly unique places that are exciting and useful (and also sometimes dangerous) to visit. Besides all the avdenturing opportunities you can rest and recover in taverns and learn more about the settlement and the world.
Calendar component added to screen
The Ancardian calendar always played a prominent role in ADOM with it’s star signs and stuff. So it will in Realms of Ancardia, maybe even more so, now that we have complete civilizations, compex government forms and a whole world to be affected by the stars…
For now the map now is graced with a beautiful calendar widget that shows the time of the day (and in coming weeks will be enhanced with a star sign display). Here is a sample screenshot:

Note that this calendar version is just a first draft. We are right now working on an improved design where the surface world map will show a calendar focussing on the star signs (due to the extended movement time frame on the surface world) while the settlement maps will show the day and night cycle (because that really makes a difference in the settlements).
Miscellaneous minor changes and additions
- Krys added a cool font to be used for headlines.
- Kry generally spent time improving our fonts and typography.
- Krys started to work on star signs.
- Added a tab component to our UI framework.
- Added a video component to our UI framework. And will have more of them in the future (think of small animated sequences like e.g. tavern images, etc. – a little like in my beloved Bard’s Tale I-III and Wasteland). Just a tiny bit of movement and animation – but enough to be fun.
- Windows now have shadows.
Total size of the codebase after this week
- 34,385 LOC in 603 files for the actual Realms of Ancardia game
- 22,761 LOC in 383 files in my own underlying TBRLAPI framework library supporting my most recent roguelike games
- plus extra external configuration files, images, tilemaps, audio files, etc.
The running total is available here.