Showing posts with label ultimate adom. Show all posts
Showing posts with label ultimate adom. Show all posts

Friday, February 19, 2021

Ultimate ADOM: Loading & Saving (Technical Clarification)

Load & Save is coming soon. If we hadn’t stumbled upon a serious internal bug it would have been part of the EA release. We are working on it and expect to provide ASAP.

 

So what happened? Why are we going to EA without such an important feature, knowing full well people usually don't like leaving their computers running for hours?

 

It's quite simple: It's entirely our fault. The first is that we've been overly optimistic about our ability to get Saving and Loading into the game in a way that works instead of most often placing you into a mirror universe of the one you left when saving, where things roughly look the same but don't, and bugs will murder, corrupt and crash you, and not in a good way. In short: The solution we thought would work didn't quite, and we feel that the frustration of trying to load a game that would then crash around you would have been much higher than not being able to save and load at all.

 

Ultimate ADOM: Caverns of Chaos is still an Early Access game, and as such there are some core features missing. We have recently published a roadmap where we outline where the next big features such as Hunger and Corruption (in April), better combat options and AI (in June) or enemy spellcasters (in August) will make it into the game.

 

Your feedback, both positive and negative, is very valuable to us and very welcome.

 

In the next few days, we are focusing nearly exclusively to getting Saving and Loading into the game in a way that works for everyone. Thank you for your patience!

  

Here's a technical explanation for those of you in the know or with the interest about what went wrong with our initial estimate.

 


Data in Ultimate ADOM is insanely complex.


This now is going to get a bit technical but I would like to explain what happened so that everything is clear and in the open: While we have 20+ years of experience doing Java development and the many years of C programming ADOM,  the C# and Unity used in Ultimate ADOM brings its own challenges with it. Sometimes these are unexpected. The dangerous thing we noticed early on is that – while C# and Java look very similar on the surface – the actual ecosystems are vastly different, especially in the design approach to the programming languages and the open source ecosystem surrounding these two worlds.

 

My personal opinion is that both languages are fantastic to work with (and these days I even prefer C# to Java although Java has been my big love over more than 20 years [I started with Java in 1998]). But strangely both languages have areas where the design and engineering behind the languages are miles ahead of the contestant and you really wonder “how can this happen with all these brilliant people working on language design”. And Java has the far better open source ecosystem with far more advanced (and tried and tested) solutions to complex issues.

 

But back to our game:


Ultimate ADOM has a very complex data structure because we really try to simulate a highly detailed fantasy environment. Our goal is to implement a game engine that can scale up the complexity to insane levels, all in the name of fun. Our target is more the micro level of the game (e.g. the individual character, the items carried, the murals on walls, the slippery fluid on the ground, the genetic DNA of your hand) because we want to have crazy features often mentioned in the ramp-up of the game release like grafting (e.g. attaching a dragon head to your body giving you the ability to bite and breathe fire), animancy (e.g. animating your trusted sword and turning it into a companion that follows you through the dungeon… or doing the same with an altar or a dungeon wall) and complex elemental magic and related effects (weapons becoming damaged from hacking at walls, an extensive liquid system in order to have pools of healing liquid or rivers of confusion liquid). And so on and so forth. To be able to do this we built a system based on a technology called ECS (entity-component-system) and used that for everything in the game. For absolutely everything.

 

So e.g. the player character is an entity that in turn consists of a skeleton (an entity) with more than 15 individual body parts (again entities), has a race and profession (all entities) and lots of equipment (all entities, some of that attached to body parts, others in your backpack, again all entities). Items among other things are made from certain materials (defined as entities) and weapons/spells/etc. cause damage (again defined as entities). If you do a text dump (in an internal JSON-like format) of just a freshly created player character that text dump will have more than 700,000 (!) lines of text. Yes, there is a lot of redundancy in that but the nested complexity of the entities and components used to model the game world is quite astonishing (even to us). Especially as performance is pretty good with this although we yet have to do a lot of performance tuning during EA.

 

Is this complexity really necessary? I have pondered this question long and often and still will answer it with a resounding “yes” given our target of creating the most intricate and complex (in a fun way) roguelike ever.

 

So what about saving and loading?

 

Because we underestimated the complexity of saving and loading this huge set of data in the C# ecosystem. We had done very early prototypes in Java about three to four years ago when we first decided whether to embark on this journey and not. We used simple and plain Java serialization to test loading and saving data. And it performed splendidly. (To explain: serialization is a feature of many languages used to persist data to a hard disk or some other kind of storage and restore it from there – it usually saves you the pain of doing everything by hand at the cost of some performance). Due to the complexity of our data we very much planned to not handle everything on our own but to rely on trusted frameworks developed by other amazing engineers. And for the Java test everything worked well.

 

Then we checked off this issue and basically ignored it for a long while. The original plan was to have a fully implemented load & save feature by Christmas 2020 and we had set aside a week of implementing and testing it because we had managed to implement it three years earlier in half a day in Java.

 

Then we tried it in C# and had to learn it simply didn’t work. At all. Beyond any hope. The only inbuild C# framework we got to work is the BinaryFormatter. If you ignore for a moment that Microsoft  itself says “Don’t use the BinaryFormatter – it’s a security disaster waiting to happen” (and still keeps it in the framework) it was the only framework that managed to save and load our game. But I’m up to this day not 100% sure if it truly worked because even for a freshly started game it created a save file with more than 100 megabytes of size which took more than 10 minutes to save and more than 40 (!) minutes to load.

 

You can imagine our shock and disbelief after not having seen any such issues with earlier Java tests. After recovering from stun and shock we frantically went through other C# serialization frameworks (https://aloiskraus.wordpress.com/2017/04/23/the-definitive-serialization-performance-guide/ has a great list and compares them for performance). And none of them worked for us. Some showed critical bugs when encountering our huge data structures, some were not correctly able to handle all private data and would have forced us to completely wreck a well-designed architecture (which would have taken weeks – at this stage Ultimate ADOM has more than 500000 lines of code and comments in more than 3900 classes) with uncertain outcome. And each framework had different requirements on how to change the architecture. So we tested about half a dozen of frameworks that required only mild changes and each and everyone failed. Some had unexplained crashes, others were much worse at performance for our case than you would have expected, etc.

 

At that point we already had spent more than 20 days working on nothing but this issue. 20 days that now were missing from our release plan. 

 

So we made the final and hard decision: We are going to do loading and saving ourselves and code everything by hand. From ADOM I knew how staggering this task is because you then have to go into each and every bit of data you have and save and load every single byte in the correct order. And not forget to handle a single important task. So we knew this task also was mind-blowing. My colleague and friend Jochen Terstiege (who has more than 15 years of ADOM experience) took the brunt of the task and the rest of the team supported him as best as we could. And we managed to have a working version of load & save about nine days before release. At the cost of another 10-12 days of working on nothing but load & save, going through more than a thousand classes to implement our own algorithm.

 

First results were great: file size was reduced from 100 megabytes to about 5 megabytes (and there is room for optimization), saving now takes 3-5 seconds at most and loading roughly 2-3 seconds (this will increase for very late game stages because there is more data to handle) but overall the results were blazingly good.

 

So we dared to breathe a sigh of relief, full well knowing that this problem had caused us to lose a total of a month planned for finalizing and polishing features before release. 

 

And then about four days before release disaster again struck: We found a serious problem that ruins save files. And we know we now had lost. No way to share this load & save feature for EA because destroying save files is even worse than not being able to save stuff.

 

So we made the decision to not have load & save in the EA release and struggle ahead. That is where we are standing right now and why we decided to disable it just before the launch. My 20+ years of experience as a programmer and architect and all my ADOM/JADE/Java experience I felt right in assuming that load & save wouldn’t be the huge issue it has become, but sometimes it doesn't work out like that.

 

My optimistic side tells me we might have it by beginning of next week, my pessimistic side says “end of next week” but to be honest I really do not want to give a promise here because we already misjudged once. We are working on a fix and we can see it on the horizon. Now it is a matter of focus and concentration. That’s why we probably also could have communicated much better, and hope this clears up the situation!

 

In summary:

  • We underestimated the complexity of saving and loading.
  • We ask you to continue supporting us and a little bit more patience while we finally get this done and into your hands.
  • Please test and play the game and give us all your other feedback. ADOM was built on the creativity and support of a most wonderful community and we want to continue this tried and tested approach to deliver the most complex roguelike ever (meaning fun complexity).

And please consider that we are a tiny Indie team. At best 2.5 programmers are working on this game (plus 2.2 graphical artists and one sound/music designer). And that’s it.

 

I am very sure that in a couple of weeks the then current EA version will look very different from now and be a lot more complete but we can’t change the present.

 

That being said the team already has holed up and dooes its best to fix the load & save issue (and whatever else you report). And provide new releases ASAP. We are 150% committed to Ultimate ADOM and everyone in the team gave its best to deliver a great experience. But sometimes it’s the small stones that cause you to stumble.

 

Thanks for listening. I hope to be back very soon with an announcement about a release containing load & save ;-) We will keep you updated!

 

Thomas Biskup

Tuesday, February 2, 2021

Ultimate ADOM vs ADOM Classic - The Overworld (and lack thereof)




One of the main points of criticism is that Ultimate ADOM: Caverns of Chaos seems to be much smaller in scope that ADOM is. After all, there's a huge surface world with multiple dungeons, quests ranging from saving puppies from deadly caves to befriending water dragons with multiple choices along the way.

Caverns of Chaos starts right at the entrance to the titular caverns, with the characters sent into the infested depths for a reason between them and their faction choices.


Few people remember ADOM actually started the same way - initially, it was all just one big dungeon with monsters becoming more and more powerful the longer you spent in a level to force you moving onwards. It featured no beings to talk with, no story lines and just an ever-growing amount of complex things you could do. Skills like Herbalism made it into the game long before any thoughts of a surface world existed!


We're not going the same way with Ultimate ADOM. There are plots, and stories, and factions to work with and appease or slaughter and loot. Quest chains will require player decisions and change the flow of the game accordingly. ADOM has a lot of different endings: Slay the evil God of ChAoS, usurp his throne or even destroy the universe


While we feel it's okay to spoiler a game that's been out for nearly thirty years now, we're going to keep quiet about the different endings you will be able to achieve in Ultimate ADOM - but there also will be different ones, including some which require a bit of outside-the-box thinking and experimentation. It will be possible to end the game by simply slaughtering everything if your character is sufficiently powerful and warded, though this may not be the most satisfying and valuable ending.


While Classic ADOM is a game focused deeply on exploring a large variety of dungeons and exploring, we want to put Ultimate ADOM's emphasis on cool gameplay mechanics. I wrote about the complexity already in detail last week, but there are also a lot of different environments to explore in the Caverns of Chaos! Players of our Alpha might have already discovered the Minor Chaos Temple located somewhere near the kobold caves, or the strange and deadly waters of Lake Gloom.

During Early Access, more locations will be revealed and implemented! Rumors of a strange temple populated by frog-like creatures featuring weird mind powers float around, and Rolf is sending out warriors to locate the remaining dwarfkin of Dwarftown somewhere deep below. A powerful slithering creature with snakes for hair has made her lair somewhere in the furthest depth, a mad alchemist is using the nearby source of ChAoS to empower their mad experiments and a very dangerous necromancer is using the many corpses these caves produce for his own nefarious purpose.

All of these areas - and many more - will feature questlines that are local or affect the whole dungeon and your faction's main story. So there is plenty to explore, and not everything will be available to visit every time you venture into the dungeon.


That's not to say there will never be a surface world. We roughly know where we want to go during Early Access, but the road definitely won't end there. While the area around the Drakkalor Chain has been corrupted, shattered and made thoroughly inhospitable due to the events happening in ADOM, there may still be plenty of things to do for an aspiring hero. But that's something for much later!


Tuesday, January 19, 2021

Ultimate ADOM vs ADOM Classic - Complexity and Details

Some of the comments we've been receiving about Ultimate ADOM is that it seems to lack complexity, and it's easy to see where that perception might come from. Unlike ADOM's multiple dungeons and expansive overworld, in UA there is a single dungeon (though with several branches both optional and mandatory), and we have gamepad support.

Being seemingly confined in a single, deadly environment and being more accessible when it comes to controls does not limit the complexity of the game however. Ultimate ADOM: Caverns of Chaos' underlying logic engine allows it to simulate things that have never been possible with ADOM.

Play with fire


Interact with anything. Extinguish torches and candles, light them (if your character has the tools, the skill or the appropriate magic) or destroy them with raw physical rage. Open fire has a variety of uses not fully implemented yet, but which will come when elemental combination effects hit our Early Access roadmap.

Bumping into burning braziers will cause the oil to spill to neighboring spaces depending on the direction of the bump, potentially setting poorly positioned enemies aflame. Please note that monsters will occasionally also stumble into these things, making fighting near braziers a dangerous but potentially rewarding tactical choice - unlike in ADOM Classic, monsters now have access to exactly the same skills and actions as the player character.


Potions

Like in ADOM, potions can still be used in a variety of creative ways apart from drinking them. For example, you can pour orange juice into a river or coat an iron maiden with poison if that is what you wish to do, because Ultimate ADOM is not going to stop you from doing that. You will even be able to coat your weapon with a healing potion, in case an enemy disarms you, picks up your blade and decides to pummel you with it. It's all about being prepared, and while these are all instances which had to be hard-coded in ADOM, UA's logic engine will just allow you to do all of this because it's possible to simply interact with all the objects in the game.

There's one major change though - we will not have any "unidentified" potions or scrolls anymore. While some players enjoyed the challenge of finding out over and over again if a certain potion is poison or healing this session, most did not enjoy experimenting over and over again and we decided that in the Caverns of Chaos, potions are clearly labelled this time.


Grafting, Limbs and meaningful critical hits

Here's something that also hasn't been possible in ADOM, and best of all: It's already in game when we hit Early Access on February the 11th. While every character (at least, for now) starts out with two arms, two legs, a torso and a head, they do not need to remain so for long. Powerful enemies skilled in wielding bladed weapons (especially axes) may score a lucky hit, sending limbs flying.

Additionally, some characters specializing in this may graft monster bodyparts to themselves, because what's better than wielding two axes? Wielding four axes, one for each arm you could eventually run around with. Found a really cool helmet but it's too small for your regular head? Kill a kobold, butcher its corpse and graft its head onto your shoulders. You now have a slot for wearing a smaller helmet.



Animate everything

Playing a White Necromancer in ADOM was quite difficult, because clay was hard to come by. The Animancy school of magic in Ultimate ADOM will allow your character to animate anything she desires. Spare weapons, coffins, corpses or even the walls of the dungeon itself - as long as you have enough power points spare, a wizard specializing in Animancy will never truly have to be alone.


You might even cut off a minotaur's arm in combat, animate it and then leave it to fight its original owner if you are feeling particularly cruel.


So while the dungeon's scope itself is a bit smaller than all the different locations of ADOM Classic (for now, at least, because developing roguelikes is something one does not simply stop just because it's feature complete), we feel we have added all the fun, complex bits we couldn't add to ADOM due to the code simply not allowing for it. And there's a lot more to come!

Wednesday, January 13, 2021

Ultimate ADOM vs ADOM Classic - The new skill system explained







As we're nearing Early Access for Ultimate ADOM: Caverns of Chaos, we want to shine a light on the different approaches to game design for old ADOM players. What can you expect to see in the sequel? What are the changes to the game concept you all love and play?

In this mini-series, we want to highlight the differences between the original ADOM and its sequel, and what the thought processes was behind the decisions.

If you want to see a specific question addressed, drop a note! Yes, diagonal movement is going to be answered.


Why are there only five classes? Considering that ADOM has 22 classes, that's a net loss of 17 classes. Quite significant, if taken at face value.

First of all, we're heading to Early Access for Ultimate ADOM for a very simple reason: It's not done yet. There'll be more classes incoming, though the final number is still up for debate.

Second, and more importantly, classes in Ultimate ADOM are not like classes in ADOM. Let's have a look at Alynna the elven archer up there. They can Sneak, Butcher things and Cast spells among other standard actions from the very beginning - because they decided to spend their skill points in these trees:

Grafting


As an Elf, Alynna receives additional skill points in arcane skills. The elf decided to put their arcane talent into Grafting, to make the best use of the many, many corpses they will leave behind. A different elf archer might have invested into Hydromancy to improve their defense or hurl icy bolts at their enemies. An investment into Animancy might have been worthwhile too - turning the very dungeon around you into allies, allowing your archer to keep their distance as they rain down missile attacks at the monsters.

There will be new arcane categories in the coming weeks, so it's not just a choice between these four schools, but many more.

Archery

The Archer class will receive extra skill points to be distributed to missile weapons. Right now we have a selection of Bows (Alynna's choice), Crossbows and Slings in the game, but there are plans for including throwing weapons, too. There are advantages of specializing in a single category of missile weapons, as this makes unlocking powerful skills and boosts more easy. A different archer might decide to spread evenly between crossbows and slings, though, remaining versatile and ready to deal with monsters that are more resistant to being peppered with pointy sticks.


Stealth



Alynna has also opted to invest a point into the Stealth skill. They could have become stronger and faster, improve their chances for loot from monsters and chests or invest points into literacy to cast spells from scrolls, but a sneaking archer knowing where the nearby traps are and dealing extra damage while being hidden is a very powerful combination.




And that's just the archer class. Let's look at Fira, a female human wizard. She specialized in Animancy (turning objects into companions) and Hydromancy for attack and protection. As a Human, she occasionally gets extra skill points to distribute wherever she wants, and she decided to put some into Literacy and Crossbows - remaining dangerous at range even when out of power points.

Instead of having Necromancer, Elementalist and Wizard classes, there's only Wizards now - but they offer so much more customization than ever before.
 



So, yes. Right now, there's only five classes - but no Wizard, no Fighter, no Adventurer, no Priest and no Archer needs ever be the same.

We can't wait to read about your favorite combinations and the adventures they will encounter!

Monday, December 24, 2018

Merry Christmas!

Hi everyone!

Team ADOM sends our kindest Christmas greetings to everyone out there (wether you are celebrating Christmas, something else or nothing at all): Enjoy love, peace and happiness and play your part in bringing more of these qualities into the world! Have a great time with your beloved ones, remember those that can't be with us anymore and live your life to the fullest!

Updated: Because I was in typical Christmas hurry I totally forgot to link the awesome Christmas Jam audio soundtrack Lucas composed specifically for Christmas 2018! Enjoy! (and bonus points if you recognize the theme ;-) )

Thursday, October 25, 2018

Modding

There have been a number of moddability requests for ADOM over the years. For Ultimate ADOM we have specific plans. Learn about the modding side of Ultimate ADOM in this post.

Thursday, October 11, 2018

Factions in Ultimate ADOM

Hi everyone!

Update 10/12/2018: Link fixed!

Quick cross-post pointing to the latest information about factions in Ultimate ADOM.


Factions in Ultimate ADOM: Andor Drakon



Hi everyone!

Crosspost to our new blog here: Be introduced to factions in Ultimate ADOM with Andor Drakon himself and hear the Chaos God speak to you!

Happy reading!


Friday, October 5, 2018

Moving forward: ADOM @ GOG & New UA website & Roguelike Celebration 2018

Hi everyone!

As we are getting very close to Roguelike Celebration 2018 things are moving forward. Today I'm very proud to announce two things (and mention a third):



ADOM Deluxe finally arrives on GOG

Friday, September 7, 2018

Ultimate ADOM @ Roguelike Celebration

Hi everyone!

We are proud to announce that we are sponsoring the Roguelike Celebration 2018 (October 6-7 2018 in San Francisco). Without Roguelike Celebration there would be no Ultimate ADOM so we thought this would be a good way of saying thanks to the awesome organizers of Roguelike Celebration as well as the roguelike community. Thus we decided to sponsor the arcade party on Saturday night where there will be tons of roguelike to play, talk to the developers and generally have an amazing time.



Tickets are still available and the list of speakers already is totally mind-blowing! IMHO Roguelike Celebration is the one event to be if you enjoy roguelike games. Come and let's talk!

I've been there since its inception and met nothing but wonderful funny & brilliant people. And San Francisco also always is worth a trip ;-)

We are going to do two things at Roguelike Celebration:

Presentation about Entity Component Systems

Entity component system architectures are very interesting if you are going to create highly flexible game designs. I will give a 30 minute presentation about how ECS is being used in games and how we use it to make Ultimate ADOM ultra-flexible.

Live demo of Ultimate ADOM: Caverns of Chaos

At the arcade party we will do the very first live demo of the then-current state of Ultimate ADOM: Caverns of Chaos. While it will not yet be a functioning game at that point we will be able to showcase lots of exciting features already implemented during our mission to create the most flexible and mind-blowing roguelike dungeoncrawler ever. Stay tuned and enjoy our new logo:



Saturday, August 25, 2018

Ultimate ADOM Update

Hi everyone!

I'm somewhat late with my planned Ultimate ADOM update... here we go with bits and pieces.

But first the reason for being late:

Actually we are getting prepared for Roguelike Celebration 2018 in San Francisco. There we will show a first live demo of Ultimate ADOM: Caverns of Chaos, our upcoming attempt at building the ultimate roguelike dungeon crawler in a world with details never seen before. (well, maybe in Dwarven Fortress... in some respects... but we are working on building an easily accessible game with tons of depth and surprises ;-) ).
While preparations are underway we decided that we will start seriously speaking about Ultimate ADOM beginning with the presentations at Roguelike Celebration 2018. One part of this is that we currently are preparing a separate new website for Ultimate ADOM that also will contain a blog so that we have a focussed communcation channel for all news regarding Ultimate ADOM.

We have spent the past 8+ months building the underlying game engine for Ultimate ADOM (called AGE for ADOM Game Engine) which in turn is using Unity as a technical platform so that we can more easily ship Ultimate ADOM on many platforms.

AGE is a platform agnostic game engine controlling the game flow and everything that exists in the worlds of Ultimate ADOM. It's Unity-inpendent (although we have no plans to use something other than Unity) and uses an Entity Component System architecture for modeling everything - with refinements to the basic architectural approach to allow us to be even more flexible and build worlds of incredible depth.

The past months have been spent on building many of the basic features needed for a deep game (and there are still quite a few months ahead of us for building more of that).

While I now could start talking about our detailed skeleton infrastructure modeling the shape of bodies (and allowing for amuptations and grafting), our breath-taking new magic system (in which I just added spells for animating inanimate objects), our system for possessing/controlling arbitrary monsters, our growing in-game physics simulation allowing more and more complex interactions with the environment (from freezing water over boiling it to steam clouds, push mechanics and more) I'll defer doing so until we start presenting stuff at the beginning of October.

Additionally we are heavily working on our graphics and sounds for the game as well as lots of concept art (some of which I already posted).

Please follow my Twitter account where I occasionally tease things if you feel you need infos now... everything else will have to wait a little more. Next week we will be finalizing our communcation plans for the weeks and months to come and then we'll see!

Kind regards
Thomas Biskup

P.S.: Here's a brief summary of things I posted on Twitter that you might have missed:

A short video demo of bits and pieces of the new ASCII animation system:



Genders, genders, genders:


Modeling bodyparts:


Our beautiful ASCII tooltips:


Wednesday, March 28, 2018

ADOM 3.1.3 available as a public Steam release

Hi everyone!

We are happy to announce ADOM 3.1.3 as a public (not beta!) release on Steam. ADOM 3.1.3 contains another big package of bug fixes and minor improvements and concludes the "ADOM 3.1.x talents & traps" release (unless we somehow managed to introduce new serious bugs). The changelog as usual contains all the details. If you did not try any of the betas you should browse all the changes starting with version 3.1.0 - quite a lot has happened!

We already are working on ADOM 3.2.0 which will contain the personalized PC sprites as its major feature (e.g. correct hair and eye colors as well as much closer matching equipment). We expect a mid-April release for that.

So for now enjoy the latest version on Steam - it should update automatically (but remember to deactivate your beta mode if you participated in that).

Happy Easter and Happy Hacking!
Thomas Biskup & Team ADOM

P.S.: Work on Ultimate #ADOM also is progressing. We just spent roughly 27 hours on two workshop days with the European part of Team Ultimate ADOM to finalize our PoC phase and make many decisions (as well as raise new questions regarding optimizations to game play). I'm by now hopefully settled enough with out daughter so that I can resume regular blogging :-) Despite the social silence on this front we are progressing well with the plans for our first games under the "Ultimate ADOM" brand - more to come soon!

Here's a picture of our team meeting (although our marketing guy is missing on it):


(from left to right: The Creator, Jochen [master architect], Krys [Lead artist], Bastian [our recently added support & concept artist])

Monday, January 29, 2018

Four weeks of Ultimate ADOM development (UADOM Update #2)

Hi everyone!

Another two weeks passed at lightning speed... I barely can believe it. We have been very hard working on Ultimate ADOM (and Jochen managed to squeeze in some ADOM bug fixing but we yet need to get into shape for the next release). So what has been done over the past two weeks:

  • I finally finished my prototype: The PC can move, blocking features etc. work and I can fight and kill a fully armed orc. In theory the orc also can fight back but the code for that still is a bit primitive. While this might sound trivial (and I know I can implement that with a simple setup in an afternoon) I'm still very happy with that progress because the underlying AGE (ADOM Game Engine) architecture that was built for that simple purpose can do so much more and the above scenario is the smallest proof of concept I could think about. Much of what already has been created will only show its true power later one once we work on the real game content.
  • The prototype includes mechanisms for dying and resurrection, multiple damage types caused by singular attacks (e.g. a holy mace of fire & brimstone causing 2d4 crushing damage, 3d6 fire damage and +9 holy damage against undead) as well as combat mechanisms for arbitrary body shapes (e.g. detailed attacks with claws, teeth and the tail for a great winged poison drake or 2-4 melee attacks with different weapons for a four-armed ettin, etc.).
  • The ASCII engine I'm using for my prototype has seem some optimization (although I still is woefully incomplete and ugly - Jochen now will start to elaborate it).
  • The underlying entity component system has been greatly elaborated (there are many more very convenient JSON based means of configuration now), tested (many ugly bugs squished) and refined (it's becoming more straightforward and I'm working hard on refactoring special cases as soon as possible to make the underlying engine as stable as possible). All that right now is not very meaningful to you as a player but in the end it will allow us to produce more amazing content at much greater speed than ever before ;-)
  • We have mostly concluded our 2D tests with Unity and now evaluate whether a 3D version might be the way to go. Additionally we are still very busy discussing the general feel of the art. We definitely want it to be darker and more gritty than in ADOM Classic but there are so many options we so far failed to finalize our ideas.
  • We learned a lot about performance in Unity. AGE (ADOM Game Engine) is heavily optimized to be able to utilize hundreds of thousands of entities with many complex components and while we haven't stress-tested that we already learned a lot about what not to do (including such curiosities like "comparing two colors is much more costly than rendering a 30x30 pixel area" - I'm still from an age when graphics where not that fast :-D )
  • Our new artist - Bastian von Gostomski - just today was onboarded to Team ADOM and for the time being he will work on concept art and help us to evolve the graphical style of Ultimate ADOM. Here are two pieces he already produced:
Image #1: Into the Eye of Darkness

A picture from the final battle between Andor Drakon and some unnamed champion. From that final battle that ushered in the Ultimate Age of ADOM:



Image #2: A Portrait of Andor Drakon, supreme Lord of Chaos


And he produced several refined versions of the Andor Drakon sketch I already posted this afternoon - let us know in the comments which one you prefer and why:


Version #1 (very dark and and kindof younger than in the later ones):



Version #2 (hair is more visible, they eyes are slightly differently filled with corruption):


Version #3 (hair still more visible than in #1, less corruption again in the eyes):


By the end of the week I'll take a brief break (and keep you updated on that - yet another surprise) to be back in full strength very soon.

Axes High!

Ultimate ADOM Concept Art Teaser: Andor Drakon

Hi everyone!

While the next bi-weekly Ultimate ADOM update is due very soon I couldn't wait to share this with you all: We are very proud to welcome a new member to Team ADOM. Bastian von Gostomski is going to extend our art department and will start with some concept art.

For his first day he surprised us with a wonderful (IMHO) teaser sketch for Andor Drakon. I personally like it so much that we are considering to be doing a series of portraits of iconic ADOM characters (which might be back on one role or another in Ultimate ADOM) - let us hear your suggestions about which characters you would like to see :-)


Please post concept art ideas & wishes in the comments below :-)

Sunday, January 14, 2018

Two weeks of Ultimate ADOM development (UADOM Update #1)

Hi everyone!

The past two weeks I have been mostly active on Twitter while actually working on our Ultimate ADOM game engine. It will be foundation for our next generation series of roguelike games (yep, plural) and thus the foundational work is extremely important (and fun - as I love building frameworks and complex architectures).

What has been achieved so far?

  • I'm getting somewhat accustomed to Unity as that is the platform we will be using to deploy Ultimate ADOM games on many channels (desktop, mobile, console, etc.). So far - once you get the hang of it - it works nicely.
  • I have started using JetBrains Rider which IMHO is a brilliant piece of software (as usual from JetBrains). It's a blazingly fast and pretty smart integrated development environment, works nicely in conjunction with Unity and provides excellent C# support. There are still a few rough edges (especially when used on MacOS) but general the support by JetBrains is very active and helpful and despite those rough edges Rider already now is leagues above any other IDE I tried for C#. Highly recommended!
  • Ultimate ADOM is using an entity component system (ECS). My ECS is based on JSON configurations that are backed by C# classes to add complex behavior. It uses entity templates (basically classes) to describe entities (class instances, objects) and has been designed with the idea of supporting hundreds of thousands of entities at runtime because I envision a truly complex world with almost infinite means for interaction. All the infrastructure for the basic ECS architecture is in place, parsing is basically finished (I'm still optimizing my JSON-object mapper on a use case basis for special cases to make modding even more trivial).
  • In order to be able to prototype features quickly I needed an ASCII based interface even in Unity. The basics for this also have been implemented and now are working.
  • The ECS architecture uses an underlying event architecture to implement communication between disjointed components. This architecture also is implemented in its basics and already went through a turn of optimizations to make it scale for later more complex situations.
  • The game engine is configured through the same JSON based setup used for all other content. The basic infrastructure to set up game variants also is in place (although a lot of work still needs to be done here).
  • Movement for the player has been implemented as an example to prove that everything works as required.
  • Jochen and Krys are familiarizing themselves with Unity, toying around with graphical concepts to elaborate our future graphical approach with Ultimate ADOM and have been testing particle systems, lighting and animation as we want to lift current ADOM graphics to a completely new level.
Next up on the roadmap are
  • implementing basic combat (another interesting challenge as many already existing subsystems for containers etc. then will need to flex their muscles),
  • resuming work on ADOM bug fixes (remember: we will continue to work on ADOM). Jochen and I already have discussed the next new features which probably will center on our Rogueleague portal and challenge games.
Finally we are talking to various people on order to extend Team ADOM somewhat. If all works out well, we soon will have a second graphical artist joining the team to supplement Krys' amazing skills and provide us with more concept and marketing artwork (at least initially).

Here are some more impressions from the past two weeks:

Body configurations can become complex in Ultimate ADOM (although we still have way to go before we rival Dwarven Fortress ;-) although that's not the goal):


Predefined maps are already very easy to create (great for modding, too):



The ASCII interface still is rudimentary but I'm nonetheless proud about having gotten there in the past couple of days because there are more than 10.000 lines of code of basic architecture running behind it (not for the ASCII stuff, mind you, but for the actual game content - and all that will shine later on):


This screenshot from a point in development time when I still had to add lots of architecture hints at the detail and complexity of what is going on behind the scenes:



And while this is not our 3D attempt it was fun to create it nonetheless ;-)


In summary about 15.000 lines of C# code plus another 870+ lines of JSON configuration were created in these two weeks and we are now moving forward to turning this into a game :-)

Talk to ya soon!
Thomas

MerkenMerken

Tuesday, January 2, 2018

Happy New Year and ADOM 3.0.6 on Steam

Hi everyone!

We wish you all a Happy New Year! May 2018 be your best year yet full of health, love, happiness and success!

We will be focussing our main efforts on creating Ultimate ADOM and if you are interested in my musings while building a new and much improved game engine from the ground up please follow my Twitter account as I enjoy posting random coding tidbits there and it will be a lot more interesting (to some of you ;-) ) than just the ADOM issue updates of the past!

We also just released ADOM 3.0.6 on Steam fixing a minor but important issue with challenge mode (neutral genders could be generated). Your Steam installation will be automatically updated. Enjoy (and see the changelog for its little release details)!

And thus it seems that we are the very first roguelike at Roguebasin releasing a new version in 2018 :-)

Thomas & Team ADOM

P.S.: And the next public release will be happening very soon, too ;-)

P.P.S: Special thanks to Brian Bucklew, one of the developers of the most amazing Caves of Qud roguelike, who gratuiously allowed me to inspect his CoQ architecture (in source code!) and is a great discussion partner. Pondering his architecture so far has been an awesome boon in sorting my ideas for Ultimate ADOM. Looking forward to many beers and stuff at next Roguelike Celebration :-)
MerkenMerken

Tuesday, December 26, 2017

Kicking off Ultimate ADOM


Change is in the air, my dear friends... a new year is looming ahead of us and it is probably going to be the most exciting year ever for Team ADOM (although the crowdfunding and stuff have been extremely exciting). Now that we are basically done with all the crowdfunding stuff we are going to look into the future to see what it holds. And our main focus now will be getting Ultimate ADOM on the road. The past few months have been filled with experiments, design work and more (and there are more such months ahead of us... especially in the graphical and coding department) but now we are going to focus 80+% of our full-time ADOM development jobs on trying to create the ultimate roguelike fantasy gaming experience.

While we are working on the engine in the background I will start a series of blog posts in order to discuss basic assumptions of the next generation ADOM experience (read: sacred cows... how many are we going to slaughter in order to create something better?).

So far I have planned discussion for the following topics (and more probably will be added over time; last update: 2nd of March, 2018):
  • Ultimate ADOM Product Line: "One game to rule them all" versus "As many variants as are needed to tell all interesting stories".
  • Difficulty/Setting dials: Configuring ADOM explicitly (for your personal perfect enjoyment) and implicitly (to create platform-specific game variants).
  • Senses in roguelike games: blindness, deafness, muting, being invisible - the pros and cons of these details.
  • Item status: cursed/uncursed/blessed versus a much more advanced system.
  • Item management: weight versus slots versus nothing at all?
  • Hunger: should we feel it?
  • Movement: diagonal movement versus straight movement.
  • Internationalization: translating Ultimate ADOM into other languages.
  • Item statistics: how many and which do we need when?
  • Long actions: how important are actions that cause more than one turn to pass?
  • Size: of items and monsters: do we care? And how much?
  • Permanent rewards: how should permanent modifications be handled in the future in order to reduce the urge of grinding?
  • Picking up and dropping items: Manually, automatically or a mix of it?
  • Graphics: 2D versus 3D (and what's with ASCII)?
  • Crafting: how would a smart and fun crafting system look like?
  • Salvaging: what else can you do with items besides dropping, destroying, carrying or using them?
  • Alchemy: Beyond potion recipes. How about salvaging items for their elemental energies and using those to buff spells, talents and other items?
  • Modding: What's a good modding approach and how much do you want?
  • Maps: Level sizes. How large is large enough?

These topics will not be covered in any particular order but rather as mood and need demand.

I intend to discuss these points here on the blog, on Facebook, on Twitter, on Reddit, on Steam and in our beloved forums (so: where ever you feel most comfortable). As soon as I start posting on the series I am looking forward to your opinions, ideas and feedback. The goal will be to question many of the core systems, subsystems and rules in ADOM in order to see if and how it could be improved in the future. All this while trying to keep the spirit of ADOM - we do not want to invent a completely new game that only carries the ADOM label with it. It should be recognizable and keep the beloved features that made ADOM what it is.

So stay tuned for more posts in the near future discussing actual content!

Axes high!

Sunday, November 19, 2017

Surgery Update & Roguelike Celebration 2017 Videos & More

Hi everyone!

Brief update from me:

  • Surgery last week went pretty well. My hand does not hurt too much, the wound should be healed in a week or two, I can use my fingers (yeah!), I can type (not a full day yet but getting quickly better, so: rock'n roll) and I'll be back to work tomorrow. Here's a foto of the kind-of-cyberware they removed from my left arm (which is why I was joking about the CyberMonday prequel ;-) ):

  • Many people asked about my talks from Roguelike Celebration 2017. You can find them here:
(yes, I know - they re-used the 2016 image ;-)

Naturally I also recommend all the other talks from Roguelike Celebration 2017:  https://go.twitch.tv/roguelike_con/videos/all My impression (and I have others heard voice the same opinion) was that the quality level of the talks was even higher this year than in 2016 (and 2016 already was awesome) - so it's worth spending a couple of hours on topics that might interest you (or just sound fascinating - many truly were!).

Regarding ADOM: Next week will be yet another week of completely finishing up the crowdfunding stuff for production release (more bug fixes in the 3.0.x development line in order to get it to Steam and the general public; and we already have been alpha-testing the global highscore server and hopefully will move this at least to beta and a larger audience). And I'm working on fully recovering my hand.

Additionally the team slowly is starting to plan both the 20% future development track for ADOM as well as the 80+% development track for Ultimate ADOM. Exciting times ahead - see you soon!

Tuesday, November 14, 2017

ADOM 3.0.2 released to our prerelease testers! (& brief pause)

Hi everyone!

The release train still is running at full steam - towards Steam so to speak ;-) We just released ADOM 3.0.2 to our prerelease testers which contains another slew of bug fixes and minor improvements. Sadly I have to report that ADOM 3.0.0 contains a major data corruption issue - save files that were created in 3.0.0 (or went through 3.0.0) probably are broken beyond repair - sorry for that :-(

The changelog can be found in the usual place!

Thanks for testing and enjoy the new release!
Thomas Biskup & Team ADOM

P.S.: After the frantic activity of the past couple of days there now will be a minor lull as I'm getting surgery tomorrow to have the metal in my left arm removed that I received due to an accident last year:



Wish me luck - I'm itching to start seriously working on Ultimate ADOM! Hopefully recovery will be fast and fully complete!

Sunday, November 12, 2017

Five ADOM announcements made at Roguelike Celebration 2017

Hi everyone!

Today at Roguelike Celebration 2017 we were honored to give a presentation about the future of ADOM. In this post I would like to summarize five key announcements we made, which are instrumental for the future of ADOM.

Questions are welcome (preferrably in the comments below) and we will try to address them to the best of our ability.