Jump to content

0 A.D's Built-in Encyclopedia


Lion.Kanzen
 Share

Recommended Posts

4 hours ago, wowgetoffyourcellphone said:

2 factor authentication (github)

It is somewhat of a pain, but I can also see why they did it. I use the GitHub mobile app for 2FA it works pretty well.

 

I take it that because you’re trying to get into GitHub you have something to contribute to the encyclopedia?

Link to comment
Share on other sites

PR for two more articles:https://github.com/TheShadowOfHassen/0-ad-history-encyclopedia-mod/pull/134

Battle of Gaugamela (I wrote this one a long time ago, but forgot to submit it). It is good text in my opinion, but I'm unsure whether its length actually fits in the scope of the encyclopedia. Same for most other texts in the unused folder and some heroes. I am going to try harder to keep the texts shorter and leave out irrelevant details from now on.

Quote

The Battle of Gaugamela was fought in 331 BC. An army by the League of Corinth under Macedonian leadership had been invading Persia, defeated multiple Persian armies over the last few years, and advanced deep into enemy territory. They were led by Macedonian King Alexander (later to be called the Great) and numbered around 50,000 soldiers, about 7,000 of whom were cavalry, the rest infantry.
The Persian army they faced consisted of over 100,000, meaning twice to three times as many soldiers. Ancient sources recall even multiple times greater sizes, but modern historians believe them to be highly exaggerated. Either way, it was the biggest army Alexander ever faced in the Persian campaign. Approximately 40,000 were cavalry; the Persians also deployed 200 scythed chariots and 15 war elephants.
They were led by Persian king Darius III, who had been awaiting the Macedonian army on a plain a few miles east of the river Tigris. Near the small town of (obviously) Gaugamela. Darius had ordered to flatten the terrain, removing bushes, stones, etc., to maximize the effectiveness of his chariots, and also cavalry.
On the day of the battle, the Macedonians lined up in front of the Persians. The left and right flanks of both armies consisted almost solely of cavalry. Darius III was positioned in the very center, protected by his elite infantry. Alexander led his right flank of cavalry. Because of the Macedonian numerical inferiority and the thereupon resulting narrowness of their formation, they were at great risk of getting flanked and encircled. To prevent that, both Macedonian flanks were bent backwards by 45 degrees. Alexander also kept reserves at the back.
The battle started with Alexander's cavalry moving outward. The Persian left wing, to prevent encirclement of their own, followed by doing the same. As the Macedonian right wing got close to the flattened terrain's edge, they were charged at by the Persian cavalry force, who wanted to stop the Macedonians from pushing the battle away from their advantageous flat ground. Simultaneously, the right Persian flank attacked the left Macedonian flank. Fierce cavalry clashes ensued on both flanks. But because on both sides the Persian cavalry was larger and very skilled, they both partially flanked the Macedonian cavalry on the outside and inflicted higher casualties than they took.
At this point in the center, the chariots charged at the Macedonian formation. Thereupon, the Macedonians opened passages in their formation, where the chariots drove through and attacked them with ranged infantry. This worked very well: the intimidating chariots were rendered basically harmless and defeated quickly.
While the cavalry fights continued on both flanks, some of the central infantry moved forward and tried to break through the Macedonian Phalanx in the center.
Alexander, still fighting on his right wing, realized his opportunity had come. With the Persian left wing being drawn to the side and many of their remaining forces far off in engagement with the Macedonians, a gap had opened, and Darius III was left relatively unprotected. Alexander took some of the cavalry fighting on the right, and charged directly at Darius' royal guard. He also ordered all his infantry divisions not yet involved in the fighting to do the same.
And he managed to get closer and closer to Darius III himself. Who, afraid of dying or being captured, fled. This reaction was seen by the Macedonians as very cowardly.
Noticing their king fleeing broke the Persian battle morale, and without any supreme orders, the Persian center was disrupted and scattered. Many were killed or captured. Alexander, however, was forced to not pursue Darius, as he was told his cavalry forces on both flanks were still on the brink of being overrun and desperately needed help. And also, their camp was being raided by Persians who had found a gap in the Macedonian formation.
The Macedonians, now controlling almost the entire battlefield, after intense fighting, ended up defeating the remaining Persian cavalry forces.
Macedon had decisively won. The Battle of Gaugamela marked one of Alexander's biggest victories, led to his capture of the heart of the Persian kingdom, and resulted in the collapse of resistance to his invasion.

 

and cavalry warfare during the Hellenistic period (lengthwise much better):

Quote

Cavalry during the Hellenistic period was used in many different forms. Light mounted units were often assigned intelligence-gathering tasks. They also employed hit-and-run tactics to keep enemies busy, exhaust them, or lead them into traps. In battle, light cavalry was usually tasked with securing the infantry's flanks. When attacking, they oftentimes attempted maneuvers of outflanking, encircling, or pulling apart to open a gap in the opposing formation. And because of their speed, light cavalry was also used to pursue and kill off fleeing soldiers.
However, due to the widespread deployment of phalangites (Macedonian pikemen) the infantry's front line was more resistant to cavalry charges than ever before. For that reason, elite cataphracts, a type of especially heavy cavalry, ascended as primary shock troops. Despite their lack of speed and maneuverability, they repeatedly won battles by exploiting gaps or weak points in the enemy's line.
One effective and unique anti-cavalry during the Hellenistic Period were war elephants. Most horses were deterred just by the presence of elephants. Placing elephants in front of the infantry was a good way to keep enemy cavalry at bay.

 

The UI work on the encyclopedia page has been on hold for the last weeks, but I will resume working on it this weekend or next week.

  • Like 2
Link to comment
Share on other sites

Seleucid cavalry: https://github.com/TheShadowOfHassen/0-ad-history-encyclopedia-mod/pull/136

Quote

The Seleucid empire was home to many peoples with a profound tradition of horsemanship, like the Bactrians, Parthians, Armenians, Cappadocians, and Medians. But large parts of the Seleucid army's cavalry fought in a mixture of Macedonian and Persian combat styles.

 The royal guard was adopted from the Macedonian army, and it included two prestigious cavalry forces: the Hetairoi (companion cavalry), probably composed of Greek settlers, and the Agema, of soldiers of a more eastern origin. Both, around 1000 men strong each, were on constant duty stationed at the military base of Apamea. They wore comparably heavy armor and fought as lancers. 
A large section of the remaining Seleucid cavalry consisted of cleruchs, Greek settlers obliged to military service. They were part of the Seleucid society's upper class and considerably wealthy (so they could afford to buy and maintain horses).

However, the Seleucids also fielded countless horsemen from all over their empire, equipped and fighting according to local customs. And allies, or mercenaries of various cultures and ethnicities, also stood in the Seleucid ranks. The Dahae tribes from the shores of the Caspian Sea, for example, are known for their light-ranged cavalry. Ancient Iranian cataphracts, a type of especially heavy cavalry, were also deployed. But there were a number more, for example, the Elymaians, Mysians, Galatians, and Tarentines.

 

  • Like 1
Link to comment
Share on other sites

What I think makes the Seleucid cavalry so interesting is that they were, unlike other Hellenistic kingdoms, forced by external enemies to develop a strong cavalry force. And this necessity aggravated even more after loosing (and becoming enemies with) some of their own important cavalry suppliers, regions like Parthia and Bactria. This even led to a tendency to neglect infantry which turned out fatal in some battles.

In the above text, I was focusing on the composition of Seleucid cavalry. Its role and importance probably deserve its own text. You worded it pretty well, if you're fine with it, I'm gonna use the passages you wrote, I couldn't write it better.

  • Like 2
Link to comment
Share on other sites

Update on the encyclopedia GUI page:

I was not happy with the code at all, it was written in a very "unconventional" (bad) way and not really integrated into 0ad's codebase.

That's why I decided to basically rewrite everything. 

The various panels are now different classes (and have their own XML and JS files). Values are now (as usual with JavaScript) stored in properties and passed between them. The CivDropdown (as well as the related civData) is created and used from already implemented classes and functions.

And countless more smaller improvements. All in all, I guess the code will be around 30% more efficient than before.

But most importantly: the code is now much much more readable and usable, and no longer embarrassing to show. It might not seem like a big step to some, because essentially all I did was lift it to the expected standard, but it certainly is for me. Because I only had little experience I programmed the project in the wrong direction. Yes, everything worked just fine on the surface, but I eventually had to take my time to "fix" it.

 

And that being done now means I can actually start designing and cleaning up the UI. Plus, because the code is now much better integrated into 0ad, I'm able to "intertwine" it with 0ad and make it feel less like a seperate entity. I, for example, already added a button to the structure tree, civilisation overview and the small unit/building/technology viewer page to open the respective encyclopaedia article.

 

If you want to take a look at the code, I put it on a GitHub repo: https://github.com/indoptogopt/GUI-page-for-0ads-encyclopedia

  • Like 4
Link to comment
Share on other sites

On 20/04/2024 at 4:21 PM, Vantha said:

If you want to take a look at the code, I put it on a GitHub repo: https://github.com/indoptogopt/GUI-page-for-0ads-encyclopedia

Wow, you've been busy. You went from not knowing where to start on GUI development in January to an integrated GUI in April. I'm guessing that you got some help along the way. ;)

It's great to see an encyclopedia being implemented in 0ad. It helps make the game educational instead of merely for entertainment.

Edited by Norse_Harold
  • Like 3
Link to comment
Share on other sites

5 minutes ago, Norse_Harold said:

Wow, you've been busy. You went from not knowing where to start on GUI development in January to an integrated GUI in April. I'm guessing that you got some help along the way. ;)

It's great to see an encyclopedia being implemented in 0ad. It helps make the game educational instead of merely for entertainment.

Yeah, @Vanthais pretty amazing. Even with the ui work he’s still writing articles.

 

For me though the articles are not just educational but also entertainment . Learning is fun.

  • Like 3
Link to comment
Share on other sites

Thanks! I appreciate it. 

I've indeed invested a lot of time, and I actually quite enjoyed the process of learning JS and the way 0ad's graphical interface is made. Just the codebase alone helped a lot with understand core concepts.

0ad is such a great game, I'm glad I found a way for me to contribute. 

And I can't say I'm not excited about the total progress we've made on the encyclopedia (articles as well as GUI).

 

1 hour ago, Norse_Harold said:

I'm guessing that you got some help along the way. ;)

From whom, I wonder... (thanks) And btw, I'm still hoping for eventual hyperlinks :)

Link to comment
Share on other sites

Two Macedonian soldiers

https://github.com/TheShadowOfHassen/0-ad-history-encyclopedia-mod/pull/138

Hypaspists:

Quote

Hypaspists (translating to shield-bearers) were a type of elite infantry under Philip II and his son Alexander. Hellenistic successor states later adopted the concept. They were traditionally 3,000 men (three chiliarchies) strong. As an evolution of Macedonian foot companions, these soldiers were hand-picked or promoted for their merits and bravery. Because of their high skill and loyalty, they acted as the king's bodyguards and carried out special delicate missions such as guarding treasury or ambushing the enemy.        

Most importantly, however, hypaspists played a vital role in Macedonian battle tactics and success. The main body of the Macedonian infantry were phalangites standing in a phalanx. Because of their long sarissa pikes, the front line was nearly impossible for contemporary armies to break through. However, this arrangement left the sides (and the back) extremely vulnerable to incoming attacks.          

And on the battlefield, hypaspists were tasked with guarding exactly this weak point (often at the right). It's still debated whether they were equipped as phalangites too or instead fought in a hoplite manner. Either way, they functioned as an entity seperate from the main formation and were therefore much more flexible.

 

Argyraspides:

Quote

The Argyraspides (translating to “silver shields”) were an elite Macedonian unit that was adopted by later Hellenistic armies. It is believed that they originally were hypaspists who, during Alexander's Indian campaign, upgraded and decorated their gear with silver and gold. They were a prestige special force known as the fiercest and most skilled contingent of the army.        

Soon after Alexander's campaign had come to an end, the Argyraspides unit was dissolved. After all, those men had, at this point, nearly continuously been actively fighting in the army for over 20 years; most were over the age of 50. However, when Alexander died shortly after and war between the proclaimed successors (Diadochi) broke out, they were called back to arms.        

During the first war of Diadochi, the Argyraspides fought for Perdiccas, but eventually, attrioned from a lack of military success, turned against him and revolted. It was their own commander, Antigenes, who ultimately murdered Perdiccas.      

  During the second war of Diadochi, the Argyraspides joined Eumenes, and in spite of their old age—many over 70 at this point—they proved extremely valuable in a series of battles. At the Battle of Gabiene against Antigonus' forces, they pushed the enemy line back very far and even managed to retreat in an organized manner from the lost battlefield despite being encircled. Their families and all loot acquired over several decades, however, were captured in the meantime. This pushed many individual soldiers to want to switch sides. And despite Antigenes, their commander, staying loyal this time, the Argyraspides ultimately caught and handed over their own supreme general, Eumenes—again—and deserted as a whole.         Antigonus, with a passionate dislike against this unit, to render them harmless consequently ordered to disperse the soldiers over the entire empire, alledgedly with the intimation to have them killed in some way.

 

  • Like 2
Link to comment
Share on other sites

PR for the companion cavalry (Hetairoi): https://github.com/TheShadowOfHassen/0-ad-history-encyclopedia-mod/pull/139

Quote

The companion cavalry was a special cavalry unit in the Macedonian army. It was, as the name suggests, composed of companions (“Hetairoi”), the aristocratic elite of Macedonian society, the king's close advisors, but also his bodyguards and comrades-in-arms in battle. In its early days, the regiment numbered 600 cavalrymen, but, over the course of Philip II's and Alexander the Great's campaigns, rose to a size of around 3600.

Unlike other contemporary cavalry forces, on the battlefield, the companion cavalry functioned primarily as shock troopers. They carried a nine-to-twelve-foot (three to four meters)-long lance and also a sword as a secondary weapon. Often opening the battle, they conducted aggressive, full-scale charges at weak points in the enemy formation, usually in a triangular wedge formation.

However, in comparison to later shock cavalry like cataphracts, companion cavalrymen and their horses wore relatively light protection and didn't even carry a shield. And stirrups hadn't been invented yet. 

While this enhanced their speed, it also required riders and horses to be very well-trained for fighting in this manner. 

Because of this very offensive setting, the companion cavalry oftentimes suffered significantly higher losses than other parts of the army. 

However, it paid off: the companion cavalry proved essential for Macedonian military success. In pivotal battles at Charonea (338 BC), Granicus (334 BC), Gaugamela (331 BC), and the Hydaspes (326 BC), they performed deciding maneuvers, turning around the battle for Macedonia.

Companion cavalry was a revolutionary step for cavalry warfare at the time and place. As a result, similar forces were developed all around the Hellenistic world.

 

  • Like 2
Link to comment
Share on other sites

2 hours ago, ShadowOfHassen said:

The military colony is a seleuclid building. I’d be interested to know the historical background/ what it’s meant to represent.

Similar to what the Ptolemies tried to do, the Selecids also invited Greek colonists to settle in their lands in the East. The colonists would then be beholden to the Seleucid for military service in exchange for gifts of land.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...