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