JQuery attacks!

Random Ramblings No comments

If there is something I never did, it was front end.

Oh sure, I have some knowledge of HTML (up to and including HTML4) and CSS (assuming CSS1)  but that is where I drew the line and never bothered to learn JS. The decision was perfectly fine, as it never came up so far. Having 15 years of frontend to catch up in not a small task, and certainly not something I would normally enjoy.

My fears have been somewhat abated once I was forced to dig into the client and create a presentation layer.

– “Google! Show me wonders!”
– “It’s 2016 and you still haven’t heard of JQuery?”
– “Uh, ok, .. JQuery! Show me wonders!”
– “Talk to my UI cousin.”
– “Um. JQuery-UI! Show me..”
– “Oh shut up already:”


– “Wow, that was surprisingly painless, JQuery-UI.”
– “Meh.”

I can only say I had dreaded this part of ...

Read More

Refining the stack

Monolith Mondays No comments


Last week was dedicated to getting a (trivial) client up and running. Goal was to establish a proof-of-concept that clients can connect (via their browsers) and exchange messages on the public chatroom.

However, in order to get there, prerequisites had to be met:

  1. People must be able to authenticate
  2. Server needs to check if they are new or existing players
  3. In case of a new player, they need to create their Elders
  4. Server must be able to deliver them messages
  5. And naturally, server must be able to properly parse their requests to be heard.

Now, the list above does sound obvious, but that is where the majority of the work went...

Read More


Development Updates No comments


Work has started on crafting the dominance database. If you followed the updates so far then you already know the database was responsible for virtually everything that happened on tick, and was the sole bottleneck in incarnations past. Nowadays databases perform their functions much more efficiently, and the hardware is much faster so while the database itself is no longer a pressing concern, some questions do show up.

First question (and the only one I’ll cover today) was which database to use. Only real contenders were MySQL (MariaDB to be precise) or PostgreSQL, but as both have their benefits and flaws choice is far from simple. MySQL has simplicity on its side, and it already served well in the past...

Read More

Dominance can chat

Monolith Mondays No comments


What is Dominance, stripped to its core? The essence of the game was always player interaction, which translates to its chat. This is why…

– Entity.self(), will you stop with the philosophical bullshit and just give us an update?

Uh, sure, self(). One might vaguely recall that in 2007 when the V2 started the effort was focused on porting the database from MSSQL onto MySQL so that even with the server running under Wine it could be slowly migrated onto a Linux platform. That was all well and fancy but the process was deeply flawed as the drivers or something else required to connect to the new database caused issues every now and then, which led to data duplication and invariably to server crashes...

Read More

import dominance

Development Updates No comments


Yesterday I had a chat with entity.(3) to the effect of:

– “I want to write in C because I desire a small core that’s preferably compilable in something like GCC, fast and simple to handle”.
– “You are an idiot. See you in 2018 while you’re still fixing comm driver bugs.”

He’s right, of course. One of the phrases he used was “worst possible tool for the job”.

I was still unconvinced but decided to take his advice and at least try some other, any other language and see if anything changes.

Two hours later I realized he was completely right, I was an idiot, and if I want to get this project anywhere near completion in the foreseeable future, I better get my head out of my ass and enter 21st century.
Thus, import dominance, we already have a working daemon (that obviously doesn’t do very much...

Read More

Lions and Tigers and Bears! Oh My!

Random Ramblings No comments


Last few days have been more than interesting. Entity.(2) complained and whined about being unable to use eyes while registering on the forum, which is naturally absurd and such behavior should be discouraged. Who cares what the input form’s background color is, after all these years he should have memorized all SMF’s functions by heart, eyes be damned. However, realizing the website indeed looked like dreck, I’ve had decided to refocus work onto terms I’m usually unfamiliar with, such as “aesthetics” and “form over function“.

So, from sysadmin to C work, and then across PHP to CSS, I have this feeling that I’ve barely scratched all the different technologies that will be required. And I can’t say I’m proficient in most of them, far from it. If this were some sort of a “personal” … “blog” ...

Read More

Stacking Up

Monolith Mondays No comments


– “You are insane, entity.self, why would you want to use C? Look out there, there are much safer languages, far easier to write in, your project speed would increase tremendously!”

Indeed. With the excellent example of using Python I could simply import 90% of the required functionalities…. but… somehow that would be missing the point of this project.

V1/2 were based on C++ and in the V2 phase it was quite difficult to debug virtually anything. Contrary to popular opinion, the game server did very little. It kept a running ticker, handled client communication (it did not even do full input validation), and kept the database connection going. Now, that is where the game actually ran – inside the database. Every tick a triggered procedure would run and execute all stacked orders...

Read More


Announcements No comments

In 2002 the v1 ended at Beta 5. No further development was expected.

In 2007 a small group took over and attempted to keep the game alive. Over betas 5 3/4, 5 7/8 and 6 they looked for funding and means to further develop V2. They reluctantly gave up in 2009.

It is almost 2017 now. It is time for V3.

Over the following months and possibly years you will be able to follow the development of Dominance: The Throne of Elders from (basically) scratch. Daily logs will be published on changelist, this page will be whipped into something presentable, and the server written from scratch. Our goal is to create a client that will be browser-based, as well as support user-made clients through a public API so that both stand-alone and browser-backed apps can equally be used.

The game itself will receiv...

Read More