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!


Tuesday, January 2, 2018

ADOM 3.0.6 released to the general public!

Hi everyone!

We start the new year with getting things out of the way: ADOM 3.0.6 now is available as a free download to the general public:

With this release our crowdfunding campaign comes full circle: We are officially done!

From now on we will focus our development effort on Ultimate ADOM and run ADOM in a kind of support mode (which means: it gets about 20% of our time for attention to fix bugs and add new features and content). Releases of ADOM will happen on Steam first (because it's technically much easier to do so) and then after a while also on IndieDB (but probably not every release but just the major ones).

If you would like to enjoy all the features of the Deluxe version of ADOM (the one on Steam) you still have a couple of ours left to get the best entry price in our Steam sale (which soon will be over). Utilize it right away!

And now have fun playing!

Thomas & Team ADOM

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 :-)