Postmortem: Total War In A Week
I'm back once again with a postmortem of one of my games. It's been a while since the 4th Historically Accurate Game Jam ended and Mons Badonicus finished in 8th place! I'm really happy with that, since I expected to be in the bottom third of the rankings. This was my first time submitting to the historically accurate jam, so I didn't know what to expect for an audience. I knew my idea was going to end up playing more like a prototype of a niche game, and I knew it wouldn't be something that could be instantly picked up like jam games normally should. But it seems I hit that sweet spot where I reached the minimum number of ratings required to avoid result scaling, and my game appeared to be rated only by people interested in the Total War series or were willing to dig through lots of entries. Here's the raw numbers for those interested:
I generally agree with the ratings of the various categories for my game, though at first I thought the historical accuracy rating was a bit low.
Now that almost a month has passed since its release, I thought I'd post my thoughts on the development and final product of Mons Badonicus. I'll be covering the usual stuff like overview of the games concepts, my thoughts on what worked, what didn't, and my future plans. But since research and a focus on historical/mythical accuracy were huge components of this game, I'll be discussing the background history surrounding the game. The history related stuff ended up doubling the length of this postmortem, so if you're interested in the highlights of my thoughts feel free to skip to about halfway down the page for the beginning of "What Went Wrong". But first lets cover the overall concept of the game.
Concept
The main idea of Mons Badonicus spawned from my long-lasting love of the Total War franchise and my nostalgia for the Age of Mythology games. I have over 2000 hours on Steam across the Total War series, and I spent god knows how many hours of my childhood in the battle editor for Age of Mythology. I just loved being able to command these vast armies in epic battles, with swords clashing, horses charging, and projectiles flying overhead. Total War in particular is great because its far more tactical than most RTS games, you can determine the formation of your soldiers with a pretty fine amount of detail, and outmaneuver the enemy by moving around their flank and attacking them in back, which may cause them to flee the battle. It makes you feel incredibly smart when you manage to pull off a risky strategy that ends up routing an entire army.
I dreamed of being able to replicate that feeling in a game of my own, but of course for years I didn't have the skills necessary to do so. I actually tried to make a game with battles similar to Total War for a previous Historically Accurate jam, with a similar setting of Britain after it was abandoned by the Roman Empire. It was also going to include defending the remnants of Roman society against migrating peoples, but was far more grounded with no hint of Arthurian Myth. Unfortunately at that point in my life I hadn't even submitted to a single game jam, so it never went too far. Since then I never really had a good opportunity to attempt this idea, until "mythology" ended up being one of the most popular choices for this past Historically Accurate game jam. Which gave me the idea do create a game in the style of Total War: Troy, which attempted to de-mythologize Greek Mythology, like making the Minotaur a big angry guy wearing a bull's pelt. I decided to dust off the sub-Roman Britain idea and focused on the mythos of King Arthur, which is supposed to have taken place in the same era.
My initial idea was to make a more gritty interpretation of King Arthur, making him a pragmatic man who wouldn't be out of place in Game of Thrones or The Witcher universe. Or depending on the version you read, how Arthur is portrayed in Arthurian myth! There was going to be lots of intrigue, brutal battles, desperate and zealous Britons, and ruthless pagan invaders. The final product of the game is not nearly as grim, but parts of it snuck into the language used in the lore dump description before battle, the Gildas quote on the loading screen, and some of the unit descriptions.
As for the scale of the game, I knew I was going to have to keep it fairly contained. I knew that replicating even the basics of Total War combat would require a lot of time and effort, so I was going to have to limit the game to only one battle. I also knew it would have to be a field battle, because sieges or areas with lots of obstacles caused a lot of issues for the AI in the Total War series. You can find no shortage of YouTube videos, Reddit posts and forum discussions bemoaning the quality of siege battles. The first battle that came to mind was the Battle of Badon Hill, a famous battle from Arthurian myth. It's been recreated in multiple games, movies and books, and most importantly its actually mentioned by historical sources writing within living memory of the battle. So for my de-mythologized version it was perfect, because even if the Arthur mythology is complete fiction, this battle stood a good chance of being real. To make the name sound a bit cooler I changed it to the Latinized version, Mons Badonicus, I thought it sounded better than "Badon Hill" and its less of a mouthful than "Battle Of Badon Hill". I probably should've included King Arthur in the title, but I couldn't think of a better title in time for the deadline.
Alongside the gameplay mechanics of Total War, I also wanted to replicate the lore dump info that the older Total War titles had in-game. I always loved reading the historical info of each unit, it always seemed to make the world feel bigger by hinting at a more expansive history. And to bring up Age of Mythology again, it had an in-game encyclopedia for all units in the game with a mix of historical info for Greek Hoplites and Toxotes, and mythological tales of Hydra's, Dwarves, and various Gods. I spent countless hours of my youth pouring over the lore entries for each unit and God, some of which was probably not appropriate for a 6 year old but hey I was learning. In fact in a parent-teacher night my 8th grade English teacher commented on how much I knew about Greek mythology (we were studying it at the time) and my dad immediately responded "Oh that's just because he played this game a lot when he was younger!". I wanted my own game to have that level of information not only because I loved it in other games, but I figured there was a small chance someone else would appreciate it as well.
This level of attention to detail would require quite a bit of research, which I did, one could argue I did a bit too much research. So in the next few sections I'll discuss several aspects I researched for the game and how I interweaved history with mythology and certain concessions to gameplay and a bit of pop culture influence (yes, even I committed some cardinal sins of historical adaptations that often annoy me). It can kinda turn into some historical ramblings so if you're understandably uninterested in that sort of thing, feel free to skip to the "What Went Wrong" section.
Historical Research
Historical King Arthur
I find the idea of investigating the possibility of a real King Arthur to be really intriguing. Because there is absolutely some kernel's of truth scattered throughout the mythos, but its been picked apart and distorted by so many different authors over time that its difficult to get a sense of what actually has some basis in reality. As for the identity of Arthur himself, there doesn't seem to me to be any single figure that fits his description in character and role in sub-Roman Britain. There have been several historical figures suggested as inspirations for King Arthur, but I decided to narrow it down to a couple influences for Mons Badonicus.
The most relevant in my opinion is a man by the name of Ambrosius Aurelianus, a Romano-British warlord active in the mid to late 5th century who prevented the Saxon people from conquering southern England. He is mentioned by the writer Gildas, a Romano-British monk known for writing De Excidio et Conquestu Britanniae (On the Ruin and Conquest of Britain), which is a mix of a history of Britain and Gildas talking smack about the kings and clergy of his time. Gildas holds up Ambrosius as an exemplar ruler and commander, a modest man from a noble family (they're described as being "adorned with the purple") who survived the death of his parents and is referred to as one of the last remaining Romans by Gildas. He is compared to his progeny who rule during Gildas' time, who have "shamefully degenerated from the worthiness of their ancestors". Ambrosius' descendants are described as tyrants who engage in adultery, break oaths and vows, and prosecute thieves but dine with robbers. Gildas is so infuriated at their conduct he claims they are "enemies of God, who ought to be utterly destroyed and their names forgotten". A powerful, honorable Romano-British leader who stemmed the tide of Saxon invasion would seem to be a good fit as a basis for a figure like King Arthur, and several scholars have pointed to Ambrosius as the basis for Arthur. In later version of Arthurian myth, Ambrosius is transformed into the uncle of Arthur. His name "Aurelianus" has been suggested as an indication that he could possibly be descended from the Roman emperor Aurelian, who reunited the fractured Roman empire in the third century. I went with this version of the story, since it linked Arthur to the real figure of Ambrosius, but not making him that real figure. It also gave him a connection to Aurelian, so there was a parallel of Aurelian reuniting the Roman empire and Arthur reuniting Britannia. In-game its mentioned that his family claims to be descended from Aurelian, I made sure to leave it slightly ambiguous and allow the possibility the claim could just be propaganda.
There is also the Roman cavalry commander Lucius Artorius Castus, who was stationed in Britain, but in the second century. There is also a few other discrepancies which I think would eliminate him from consideration, but this idea was used in the 2004 King Arthur movie, which is infamous for being accurate to neither history nor myth and for digitally enlarging Keira Knightley's breasts in US promotional material (yes that actually happened). This theory is also where the idea of the knights of the round table being Sarmatian mercenaries (Sarmatians were a confederation of steppe peoples centered around the Black Sea, they were eventually entirely displaced by migrating Goths and invading Huns) comes from, since Sarmatian cavalry units were transferred to Britain in the second century and its likely Artorius would've commanded some of them. So a couple scholars theorized that descendants of these Sarmatian soldiers remained in Britain and mixed their ancestors memories of Artorius with traditional Sarmatian mythology, which included stories similar to those of Arthurian myth. I personally don't buy this theory, but I do like the idea of some Sarmatian cavalry traditions surviving. Plus late antiquity cataphracts would be a nice analogue to medieval knights, and it would give the player some fun cavalry units to use, since they could survive charges into ranks of infantry. Thus in the game the cataphracts are described as using the same fighting style as some Sarmatian ancestors, and the presence of Sarmatian mercenaries in Britain is used as a flimsy justification for how there can be horse armor remaining in sub-Roman Britain.
There are still some interesting theories that Arthur was a standalone historical figure. Though there is no direct reference to him from two of the sources closest to the period in which he would have lied, the first being Gildas, who mentions Badon but not Arthur. The other being Saint Bede, a Benedictine monk later canonized by the Catholic church, who also makes no mention of Arthur in his Ecclesiastical History of the English People. There is some interesting twists that would allow Arthur to exist without being mentioned by these two sources however.
The most interesting is the story that Gildas had a brother by the name of Hueil mab Caw, a Pictish warrior who led numerous raids into Arthur's domain. In the Life of Gildas, written several centuries after Gildas' death, Gildas is said to have adored Arthur and served as a loyal subject. But upon hearing that Arthur had beheaded Hueil for raiding his territory, Gildas burned all of his works mentioning Arthur out of grief and anger. Again I don't think this story is in anyway true, but it is prominent in Arthurian myth. It's also interesting to note that while Gildas mentions Ambrosius and the battle of Badon Hill, he never says who led the British forces in battle. Indeed he leaves most of the credit to "the goodness of our Lord", an ambiguous note which leaves room for some artistic license. At one point I had an idea for a closing cutscene where Gildas is depicted throwing his writings into the fire after hearing of his brothers death, thus depicting the erasure of a "historical" King Arthur.
As for Bede I have my own head-canon for why he wouldn't mention Arthur, mainly that he seems to be blatantly biased against the native British and has a pro-Saxon agenda. He is after all Anglo-Saxon and was writing at a time when Anglo-Saxon kingdoms dominated England. He describes the British clergy as having committed "unspeakable crimes" and castigates them for failing to convert the Saxons. Bede even describes the massacre of 1200 British monks by the pagan Saxon king Æthelfrith as being deserved divine punishment, since he claims they did not aid Augustine of Canterbury in his attempt to Christianize the Saxons. It was possibly in Bede's interest to denigrate the native Britons and show how they had turned to sin and so were punished by God in the form of the invading Saxons. This would not only justify the conquest of Britain by the Saxons, but also hold them up as being righteous through carrying out Gods will despite being pagan. Interestingly Bede appears to use Gildas as a major source, and Gildas - a Briton - as previously mentioned claimed the British nobility and clergy had indulged in sin and that the Saxon invasions were the wrath of God. Gildas was likely saying this at the time as a warning to rulers saying "Hey you should stop that, or the Saxons could come back and finish us off!", whereas Bede was using Gildas' writings to say "See? The Britons deserved to be conquered, our ancestors were just carrying out God's justice". Or at least that's how I interpreted it for Mons Badonicus. To get back to my original point, Bede probably wouldn't have mentioned Arthur since he wouldn't want to discuss a leader who successfully slaughtered his ancestors in what is supposed to be a romanticized history of his people.
Once again, I don't actually believe that there was some sort of multi-century conspiracy to cover up King Arthur, but since I was trying to make a somewhat grounded interpretation of the myth I wanted to provide some possible background for how he could vanish from the records.
Battle of Mons Badonicus
As mentioned previously, there was a battle at a place known variously as "Badon Hill", "Mons Badonicus", "Bath-Hill", or even just "Badon". Gildas mentions it as the "latest, if not greatest" slaughter of the Romano-British peoples great enemy, the invading Saxons. The battle is said by Gildas to have taken place around the same time as his birth, or about 44 years prior to Gildas writing his polemic. Modern estimates place this date around 500 AD, though one theory I liked placed the date at 493 AD, claiming that the events Gildas describes in his own time, such as a thick black mist hanging over Britain, could be part of the extreme weather seen between 535-536 AD. However Gildas does not mention the famine which occurred in the following year of 537 AD, so its likely Gildas was writing between 535 and 537, which by this estimate means the battle of Badon likely took place between 490 and 493 AD. I also chose the date of 493 because I felt that it would give enough time to include the downfall of Vortigern in the 450's (more about that later), the rise of Ambrosius Aurelianus, the reign of Uther Pendragon (Arthur's father), and the succession of Arthur and his previous 11 battles against the Saxons as mentioned by the Welsh monk Nennius (who may or may not be a real person) in his Historia Brittonum (The History of the Britons).
The battle at Badon itself is actually described as a siege by Gildas. Since the battle is described as taking place on a hill or mount, its likely that the battle was centered around a Saxon siege of a British controlled hillfort. There have been numerous locations suggested as the site of the battle. One possible site is Solsbury Hill near modern day Bath, most famously suggested by Geoffrey of Monmouth (arguably the most famous Arthurian author) in his 12th century chronicle Historia Regum Britanniae (The History of the Kings of Britain). Bath is supposed to have been known as "Baþon" to the Saxons, so the etymology seems to support it. The Badbury Rings Hillfort is another possible location, being the site of an Iron Age hillfort that archaeological evidence indicates saw activity in the 5th century.
As mentioned previously, adding structures and obstacles to the battle map would screw with the AI pathfinding, so I didn't want to make the battle a siege. Instead I opted to set the battle area to the bottom of the hill below the fort, so the fort can still be seen in the background but can't be interacted with. The layout of the terrain isn't really based on any specific location, since I knew I wouldn't have the time and resources to properly map it out. Though if you look far off into the background behind the player starting position, you can see a road-like texture in the terrain. This was a reference to the Roman roads that were supposed to pass by the Badbury Rings fort, and provide a visual representation of the path Arthur and his troops took to quickly travel south to the fort.
In Arthurian myth, or at least the version popularized by Geoffrey of Monmouth, the battle is said to have taken place after the Saxons signed a treaty with Arthur. Having achieved peace in the south, Arthur then marches north to deal with invading Picts and Scots. The Saxons then seize the opportunity to strike while Arthur is away on campaign, breaking the treaty. Geoffrey portrays this as a major affront to Arthur's honor, who resolves to avenge this act of betrayal. Interestingly, Badon is also the first mention of Arthur's sword Caliburnus (also known popularly as Excalibur, or Caliburn depending on which scholar you listen to), which Geoffrey states was forged on the Isle of Avalon. Excalibur has various sources of where it came from, like being given to Arthur by the Lady of the Lake or being pulled from a stone. With my de-mythologized attempt, I made Excalibur a fancy sword which Arthur shows up with one day, and since he is so successful in battle his followers start to believe it gives him powers. Arthur possibly started these rumors, along with its various origin stories for propaganda purposes. Geoffrey also describes Arthur as wearing golden armor in the battle, which is how Arthur is depicted in-game. Now it's not likely that anyone in this region during this time period would've had enough gold to make a whole suit for themselves and their horse (even if they did, gold is heavy and soft so it wouldn't have been practical to use), but I wanted to make Arthur stand out visually from his knights.
Gildas and Bede don't go into much detail about the battle itself, so many of the details are fleshed out (i.e. fabricated) by later authors. The Saxons are said to have setup a defensive position on top of the hill in a shield wall formation. The fighting is said to be quite brutal, one source even claimed the battle raged for "three days and three nights". Several authors, including Geoffrey of Monmouth, claim the battle turned decisively in the Britons' favour after Arthur led a final charge into the Saxon lines, where he is said to have single-handedly slain between 470 and 960 men.
In both the mythical and historical renditions, Badon ended up being an apparently decisive victory for the British. Gildas described it as a great slaughter of the Saxons, and says at the time of his writing, some 40 or more years later, hostilities with the Saxons had not renewed since the battle. The Anglo-Saxon Chronicle curiously makes no mention of the battle, and Bede describes it as the "siege of Mount Badon, when they made no small slaughter of those invaders". Bede doesn't say much aside from that though, and even writes he will cover further details about the battle later in the text, but never does.
In many pop cultural representations of King Arthur, Badon features as the climax. The big, epic final battle against the Saxon hordes which ends in a great victory for the gallant British. Since I could only really afford to depict one battle, it made sense to go for not only the most important one but also the one with the greatest amount of information available.
The Saxons
In my attempts to make a more grounded interpretation of Arthurian myth I decided to do more research into Arthur's enemies. In particular the Saxons, since not only do they feature prominently in the mythology, but they feature quite heavily in the history of Britain. They're half the reason why English people are also sometimes referred to as "Anglo-Saxon".
The Saxons were an originally Germanic people who migrated to the British Isles sometime between the late 4th century and mid 5th century. From my research there seemed to be some disagreement as to when exactly they arrived. But continuing with using Gildas as a source (though admittedly he can be bad with historical info for events occurring long before his birth such as placing the construction of Hadrian's Wall two centuries after it actually happened), he says the Saxons were originally invited by a council of Britons including Vortigern, whom Gildas describes as a "proud tyrant", to protect them from invading Picts in the north. The exact quote is actually used in the loading screen of Mons Badonicus, because I thought it perfectly described some contemporary British views of the Saxons and provided some context to their relationship. Vortigern is usually portrayed as a villain in Arthurian myth, variously as either a direct nemesis of Arthur, his father Uther or even Ambrosius Aurelianus. I imagine this comes from Gildas' rather unflattering description, and since he is the only person named of the "council" to whom Gildas refers, he gets the lions share of hate. Vortigern doesn't feature largely in Mons Badonicus, but since he is described as the driver of the Saxon involvement in Britannia he gets a couple mentions. In the opening cutscene I originally had planned, there was going to be a quick scene of him and some British leaders speaking to the Saxon brothers Hengist and Horsa, and then the Saxons betraying Vortigern and slaughtering the British in The Treachery of The Long Knives.
The Saxons managed to take over large parts of Britain, but there is a noticeable pause in their expansion in southern England between 490-550 AD. This correlates with the rough date of Gildas' birth and time of writing De Excidio. It also aligns closely to a gap between the reigns of the first and second Bretwalda (Saxon kings who were overlords of neighboring kindoms) as recorded by Bede. King Ælle of Sussex is said to have been the first Bretwalda, and is thought to have reigned between 477 and 514 AD. This latter date does not appear to be based on any concrete evidence, and his death is never recorded, leading some to speculate he perished in the battle of Mons Badonicus. I decided to go with this interpretation since it seemed only fitting that the most powerful Saxon leader would lead the army in the most notable battle of the period. Ælle's involvement in the battle is pure conjecture, but it provided me with something to sink my teeth into. Geoffrey of Monmouth and various other medieval iterations of the story name different leaders including Cheldric and Colgrim, but I decided to stick with the more historical character of Ælle. In-game Ælle is seen as the mounted soldier wearing a poorly modelled recreation of the Sutton Hoo helmet. The Sutton Hoo specimen specifically is supposed to be from the early 7th century, quite a long time after Badon. But its structure shares numerous similarities to Roman cavalry helmets, so its possible its design existed much earlier. Either way, I included it because its so iconic of Anglo-Saxon armor it could seem weird if there wasn't a Saxon character wearing one. The face on the front combined with a shadow cast on the eyes can make for a very intimidating look, but since its design appeared to be incredibly ornate it seemed like something only someone rich and important would wear. Therefore, I decided to leave it so only Ælle wears such a helmet in-game.
For ideas on how to portray them in battle, I decided to look into their military organization and what sort of equipment they would have used. I was familiar with the fyrd system in use during the Norman conquest of England, but was uncertain what existed before. Turns out even in the earlier periods the shield wall tactic had already begun to form, where men would stand in close order and interlock their shields to form a defensive front. Being such a key part of Saxon and even late Roman battle tactics, I originally wanted to include this fighting style but sadly there wasn't time to really polish the AI to make it hold actual formations.
On an organizational level, the Saxon armies of the Migration Period and into the 7th century seemed to be made up of three tiers of soldiers:
The "Gedriht" were the top of the chain, the loyal personal followers of Saxon chiefs and nobles. They were generally well armed and would have worn a helmet and chainmail armor. They are also the only soldiers likely to have used horses in Saxon armies. This is reflected in-game, the Gedriht bodyguard of the Saxon are armored and are the only mounted units on the Saxon roster. They are also mounted but wield a sword instead of a lance, and their horses are not armored, making them faster but weaker than their British counterparts. The Gedriht also have the second highest stats in the Saxon roster, with only Ælle's being higher. In history Gedriht would have been spread out across a shield wall, but due to technical limitations in having multiple unit types in a single regiment they are confined to only Ælle's bodyguard.
The second highest ranking troops were the "Duguth", they were made up of more senior warriors who were able to provide more stability to a shield wall. They're described as being lightly armed and probably lacking in armor and helmets. Descriptions of the bodies found from the aftermath of the Battle of Chester in the early 7th century mention several head wounds even among veteran soldiers, indicating they were not wearing helmets. I figured if they didn't have helmets by 600 AD they likely would not have them before 500 AD. I initially wanted them to be armed with axes to add a bit of variety to the Saxon roster weaponry and give them a more barbaric feel. But after more research it seemed that almost no Saxons fought with axes in this period aside from some throwing weapons, so I gave them spears. This did result in the unfortunate detail where they all use the slashing attack animation as a holdover from when they wielded axes, so it looks strange when watching them fight. I left them without helmets as described, but I did give them leather armor for their upper body. This was mostly to differentiate them and make them one step above the next tier in Saxon armies.
The "Geoguth" were the lowest ranking soldiers of Saxon armies. They are young warriors who carry spears, seaxes (short knives used variously as a tool and for combat) and a shield. Like the Duguth they don't have helmets, and they wear even less armor. They made up the bulk of Saxon forces, and so make up the bulk of the Saxon army in Mons Badonicus. In addition to their role as mainline infantry, they also served as skirmishers, defending the flanks and rear of Saxon shield walls. This is also reflected in-game as the Geoguth javelin and bow skirmishers are on the sides of the enemy army. They are further differentiated from the Duguth in that they don't have facial hair, and their hair isn't grey. Admittedly the real Duguth would likely have been guys in their 30's and 40's, not 50's or 60's. But again that was another artistic decision to visually separate units.
That's also the reason why the Saxon units have an orange colour scheme across all their units. Visually it unifies them as being part of the same group, and also its the colour of the Saxon armies in the Barbarian Invasion expansion of Rome: Total War, which is a massive influence on Mons Badonicus.
The Romano-British
The protagonists of Mons Badonicus, variously referred to as Romano-British, British, Britons and according to the Saxons: Welsh! Unique amongst most Roman influenced cultures following the exodus of imperial troops, the Romano-British avoided total conquest for some time. As mentioned previously there was a near 50 year period of peace during the time Gildas was writing, but the Romano-British people were told to fend for themselves by Emperor Honorius in 410 AD. And even before that, the British had to hold off invaders when various Roman commanders in Britannia attempted to become Emperor, taking the local legions with them.
The implementation of the British forces in Mons Badonicus has a mix of influences, the most prominent would be the Romano-British faction from the Barbarian Invasion expansion of Rome: Total War. The faction was a mix of British versions of Roman units and reimagining's of the Knights of the Round table, and the faction seemed to have a more blatant Christian influence compared to the Western Roman faction. Which makes sense because Christianity features pretty heavily in the Arthurian mythos, even if its intertwined with characters and creatures that seem decidedly pagan such as the Lady of the Lake. This version of the Romano-British is what influenced me to keep the British units looking decidedly Roman and why I gave the British a blue colour scheme. The blue also makes it a bit easier to differentiate between Saxon and British troops in battle.
A more concrete reasoning of why the British troops look Roman is that they likely would have had access to old Roman equipment. Either through inheritance from ancestors who served in the Roman army, abandoned equipment in major cities and garrisons, or looted from dead enemies who took the armor from Roman soldiers. Since the Western Roman empire only collapsed in 476 AD and Mons Badonicus takes place in 493 AD I don't think its a stretch to assume imperial equipment would have survived in some fashion. The chainmail and round shields especially would have been possible to acquire, since both were used by various Germanic peoples invading the Roman empire. Either crafting or purchasing new shields or sets of chainmail armor wouldn't be outside the realm of possibility. I did envision the "legionaries" looking less uniform originally, I imagined more variety in appearance and quality of armor. Some men would have a complete set of chainmail armor, while others would have mostly leather. As for the shields, I intended for there to be multiple patterns available. There would be the option of no pattern on the shield, as seen in the unit card icon for legionaries, there would be a depiction of the Chi Rho (a symbol of Christ's initials, widely used before the symbol of the cross became popular) and more interestingly in keeping with the theme of repurposed Roman equipment, I planned to include some patterns based off of Roman legions who were stationed in Britain. The Notitia Dignitatum (a list of offices in the late Roman empire, possibly dating to the early 5th century AD) depicts the shield patterns of various Roman military commands. The shield pattern of the "Secunda Britannica" is depicted with a distinct wheel pattern, and I think it would've been fitting and a neat callback to see a few shields bearing this pattern in the British ranks.
Image from: http://lukeuedasarson.com/NDsecundaBritannica.html
Once I started working on the unit models though, I quickly realized I wouldn't have time to design unique combinations of armor pieces and then randomly assign them in code. So to ensure I submitted on time, I just left each unit as having one model.
Concerning the weaponry of the British units, it is less likely that most of the British infantry would have wielded spathas, the long slashing sword carried by late Roman soldiers. Even before the exit of Roman troops from Britain, Roman infantry had begun using spears, in tandem with larger shields to fight in a shield wall similar to the Saxons and other Germanic invaders. The reason they are left as having swords is because they evoke more of the Roman legacy, and since I had a slash attack animation already created for foot units I wanted to use it. The legionaries are unique in Mons Badonicus in that they're the only melee focused infantry unit that throws projectiles. They don't use pilum, but instead throw more standard javelins. I thought about having them use pila but my research seemed to indicate those fell out of use quickly after the collapse of the Western Roman Empire. And since pila bend at the tip, they likely would not have aged as gracefully as other weapons. For a time I did plan on having the legionaries throw plumbata, heavy darts used by Roman infantry in the 4th and 5th centuries. But after thinking about it, the likelihood of those being produced or being left over from old Roman equipment seemed unlikely as well. So the equipment of the Romano-British infantry is not intended to be as good as imperial Roman equipment, but some of the elements remain. Which is partially why I decided to leave in the ability for legionaries to throw two javelins as a callback to Roman legionaries throwing two pila before a charge. The other reasons being I thought it would make the unit a bit more interesting, and having access to more damaging projectiles could make the battle easier for players unfamiliar with the Total War games.
As for the archers they were generally modelled after artistic depiction of late Roman archers and the depiction of Roman archers in Barbarian Invasion. Archers don't seem to pop up much in historical or mythical accounts of the era in Britain, but I believed including them would not be unrealistic, and at the height of Romano-British power it would make sense they would maintain archers if only for hunting or skirmishing. Plus they added more tactical possibilities with their (theoretical) ability to harass the enemy at a distance.
The cavalry as mentioned previously were based off Sarmatian cataphracts of the late Roman empire. They have the best armor and equipment, due to their wealth and close loyalty to Arthur. They are effectively the knights of the round table but with less character and less chivalry. The helmets worn by the knights in-game are loosely based off the "Burgh Castle" helmet, and the legionaries wear basically the same helmet but with the nasal guard removed.
Credit: Robbie McSweeney - ArtStation
Also here's a fun fact: Roman cavalry did not use stirrups, in fact they were not introduced to Europe until the Middle Ages. This is why there are no stirrups on any of the cavalry units in Mons Badonicus. This fact saved me a fair amount of time in modelling, rigging and animating mounted units. Because I didn't have to worry about the feet lining up right and making sure the stirrups moved somewhat believably when in motion. A good example of history throwing my poor artistic skills a bone.
What Went Wrong
Historical Research Misplaced
Something that's kind of sad to think about, especially in the wake of my fucking essay above, is how a lot of my research ended up either unused, easily missed, or buried under lackluster visuals.
Stuff like the actual Roman legion shield patterns, Vortigern and the Saxons origins, and the possible real location of Badon Hill went almost completely unused. The research related to a number of topics does not appear either visually or in text in-game, and while it slightly influenced some stuff that is implemented, it wasn't enough to justify it for a one week jam game. I place the blame at my ability to be sucked into reading interesting historical facts, I've spent hours going on Wikipedia crawls even when its inconvenient, like the night before a paper is due. So while reading up on so many things was interesting, it wasn't necessary and took time away from development.
Another issue with a lot of the historical and mythological info is that a lot of the more blatant stuff is all in text form, which is the stuff most players are generally least likely to pay attention to. Of course that's a generalization, the reason the lore is included in unit descriptions is because I would spend many hours reading the history/lore of units in Total War and Age of Mythology. I didn't think it was reasonable to expect most players to read all of the unit descriptions in the first place, I just wanted it in so I could show off the research I did and provide more flavour for those who are interested in that sort of thing. And it gave me a chance to work on a small part of an in-game encyclopedia system, which I've wanted to have in several game ideas.
The issue I think is that not only is it entirely possible for players to not see the unit info panel where these info dumps are stored, but the UI for the descriptions is not ideal for reading large amounts of text. The ScrollView component containing the description text is less than half the height of the unit info panel, and the lengthy descriptions make for a lot of scrolling. I made the info panel squished into the corner of the screen so that the player could look at unit info and still get full view of the battle. But really the unit info panels don't provide much info the player could really need to constantly refer back to, the info panel is static in its content so it doesn't provide unit status information. And really there's few enough units that you could easily glance through them all and understand their strengths and weaknesses fairly quickly. The only time the player would be spending any significant amount of time looking at the info panel is if they want to read the descriptions. If they're reading the descriptions they would likely pause the game so they don't have to worry about losing the battle while distracted. If the game is paused and the player is focused on the unit description then there's no reason the battlefield needs to be visible. To make a long point short: the unit info panel should've been much larger and function more like an encyclopedia, or only real-time values should've been displayed and provide the option to view the unit lore in a larger encyclopedia view with the press of a button.
My meagre modelling skills prevented what visual evidence there was of historical and mythological research from really shining through. The decidedly blobby clothing models don't really convey much detail, so its hard to tell they're actually based on anything, and the use of some free assets didn't help. If someone wasn't familiar with late Roman or Saxon armies and what free assets are available online (actually perhaps even if they were), it would be hard to tell what resembled history and what was just a generic asset. The shield textures with the dragons head I personally think are pretty egregious since its a modern looking UI texture on what's supposed to be a 5th century shield. Literally the only reason the dragon head is on the shields is so there's a bit of variety and I really didn't have time to make/find something better.
I mentioned earlier that I was surprised Mons Badonicus didn't make it into the top 10 in the historical accuracy category. I thought "Huh, how do people end up liking the janky gameplay more than the attention to detail for the history and myth?" And of course after pondering on user feedback a bit more and taking a step back to look at the game, I saw the previously mentioned issues. I think they combined with the fact that mine was a more historical attempt at King Arthur myth dropped the thematic relevancy and accuracy score down a bit. I made a King Arthur game with no mention of Merlin, the Knights of the Round Table, Lancelot, dragons, and only a subtle reference to Excalibur and the Lady of the Lake. Those familiar with the mythos probably wondered through the game where the actual mythos was going to come into play. Looking at the historically accurate score specifically its actually not that bad, in fact its the highest raw number score for the game. With hindsight, the score isn't as surprising as it initially was.
Bland Combat
The combat in Mons Badonicus seems to continue the tradition of having functional combat rather than fun combat. While it is frankly amazing that it's functional in the first place, it left a lot to be desired. The big problem I found was that melee fights were just a messy scramble for units to try and reach their current target, which made formations become all jumbled up to the point you couldn't easily see what was going on. This had the effect of not only making it hard to judge how well your troops are doing in combat, but it obstructed the players view of most of the combat animations.
Mind you most of the animations were nothing to write home about, they were my attempt at making more "realistic" animations. And I do think they look more believable than character animations for intentionally bad games, they ended up pretty bland. The attack animations are a bit too static, the lower body barely moves so it looks awkward. This was partially because I wanted to make the combat more shield wall based than it ended up being, and a shield wall doesn't work if you constantly have guys whipping out of the formation with their fancy attacks. But for how melee fights turned out, it looks very stilted. Units do have reaction animations for blocking and being hit, which is more than I can say for my last jam game. But there can be a delay in the animation, and if the unit blocks an attack from behind it looks really weird that they react by their forearm being pushed back. The lack of diversity of animation was simply due to time constraints, I was happy that I had time to get different animations for slash and stab attacks.
The part I was particularly disappointed by however was how the combat simply seemed to lack impact. Due to the way melee attacks work, the attacker grinds to a halt once within range, and then swipes at their opponent. This has the effect of making regiments charging into each other look weightless, especially disappointing is watching a regiment of cataphracts charge into the back of an enemy and they simply just stop or run in circles. I never came close to the amazingly cheesy cavalry charges of Rome 1, much to my dismay.
I think the combat needs more expressive animations on units for attacking and blocking to seem more reactive visually, but it also requires either a reboot or a big expansion of the base AI combat logic.
AI Issues
Yet another common theme of my games is the less than stellar AI, a tradition which Mons Badonicus continues on a shockingly larger scale. The AI has definitely seen improvements over my last several projects, and the AI here is definitely less broken than some other games I've made but its still pretty hacky and messy. And this time there's issues on multiple levels.
At the higher level, the AI doesn't have any real strategy or tactics, so it can't really flank the player or try to aim for King Arthur to cause a morale debuff. Currently each regiment is effectively its own little autonomous group that look out for themselves first and foremost. Though I had plans for one, there is no real overarching AI commander that controls all of the Saxon regiments. All regiments in the game are tied to an Army class, but that basically just determines who is an enemy or ally, if their general is alive/dead, and their morale value based on how many total losses their side has taken. Ideally I wanted an opponent that could perform some basic maneuvers and try to protect their general, but I think I would have needed either an extra week or two of development time or scaled back the scope of the game in areas that are already pretty bare.
The AI was intentionally made somewhat conservative in its parameters for when it should attack, since I had numerous issues with smoothing out melee combat in a previous project, Ja Wizardman, I definitely didn't wanna get too crazy in an already insanely ambitious project. So when a unit is attacking in melee, its locked in place and it can attack as long as a certain amount of time has passed and it isn't currently in a blocking or hit reaction animation. And while this did work a lot better than Ja Wizardmans combat logic, it also caused the issue of melee combat becoming a messy whirlwind.
This is because units that are within range of their targets have their navmesh agent disabled, and a navmesh obstacle component enabled. The reason why this happens is because previously units would constantly shove each other to get at a common target, and no one would end up getting a hit in. But once a unit changes from a navmesh agent to an obstacle, they can't be pushed out of the way, and they won't run past their target. The downside of this implementation is that it then makes all the other units try to walk around the unit locked in melee. And if several units have the same target and the target can't be reached because its blocked by several other units locked in combat, then all the units pursuing the target have to run all the way around.
The AI is setup to either have a target and actively pursue that target, or have no target and patiently wait around until its told to do something. This setup made it impossible to have the sort of line battle formations seen in the Total War games. If I were to recreate the AI I would make the targeting logic based around the regiment level as opposed to the individual unit level. Though to repeat my mantra with this project: if I were to try and experiment with that, I would not have been able to submit on time.
Lack of Character
Something that definitely sticks out to me is the game lacks a distinct charm or tone. The default Unity UI across the entire game I think was a necessary sacrifice in order to have time to get the rest of the game in working order, but it was a big sacrifice. I think either having bigger stone block buttons, or simply having just text as the menu options (similar to the title, or how the earlier Total War titles did it) would've been much more fitting. As for the background image of the main menu it could really be a lot better. I had very little time to do the "art" for the menu and loading screens, so I basically had to use what I had at hand. My original idea was to have Arthur on his horse reared up in an action pose, in fact I even have an animation made where horses rear up and settle back down, but due to time constraints I couldn't justify working on a unique animation for Arthurs character that wouldn't serve any use in battle.
I also had big plans for an opening cutscene, but that was once again scrapped due to lack of time. All of my other jam games (this excludes Sub Mortis since that existed as a prototype separate from any jam) have an opening cutscene, which most people either liked or at least agreed it setup the context of the story somewhat nicely. My hope for this game was to have a one minute opening cutscene that had a narrator talking about how Britannia is in chaos and the Romano-British are under assault from various invading peoples. It mentioned barbarians streaming over Hadrian's Wall in the north, and pagans storming in from the seas. All of this narration would be played over shots of Saxon soldiers slaughtering people and pillaging villages. I even had one shot planned where a Saxon leader was standing in the middle of a burning town and it looked like his eyes were glowing red under his helmet, just to hammer home how the British people (or at least the British writers of the time and Arthurian authors in later years) viewed the Saxons. And it would end with a hero shot of Arthur and his knights riding off to battle, and a shot of Arthur's horse rearing up would freeze and transition into the menu background image. I even spoke with Tofu Sheets Visual to get help trying to find a voice actor to do the narration (since I wanted it to actually sound good, not like my voice acting), but it never panned out sadly.
I do stand by my decision to make the UI minimalistic in the battle map though. On the development side of things it made things much easier since the UI was being extensively tweaked and moved around, which would have been far more difficult with more artistic UI elements. On the UX side, I didn't want to risk the player being more confused than they already would if they were a stranger to the Total War series. This is actually an issue in the Total War series itself, the pottery art style of Rome 2 was controversial at the time, and I never fully adjusted to it. I found it made units look too similar, and when you had larger battles where unit cards are squished together it became even more confusing. And more recently the last few DLC for Warhammer 2 and the unit cards seen so far for Warhammer 3 have been criticized as being bland and confusing at a glance.
Total War: Rome 2 - Roman unit cards
I also knew for a fact that I had neither the skills or time to make cards that looked like the Warhammer unit cards. The more fantasy epic displays look great, and they clearly evolved how to display information in a small amount of space. I would've needed an artist working with me to even come close to that standard, and the more polished icon displays would've required a fair bit more work on the backend which I didn't have time for.
Total War: Wahammer - Vampire Count unit cards (source)
So I went with my usual preference, which was to revert back to the simple screenshot style of Rome 1, Medieval 2 and Attila. And it seemed to certainly be clear enough, but not very exciting by any definition.
Rome: Total War - Roman Brutii Family unit cards
Indeed the UI was regarded by most commenters as being functional at best. One comment suggested using free UI assets to make it look better, which I did consider but personally I found a lot of free UI packs look like they're mostly made for mobile games, or just seem too specific somehow. Technically they can be a bit annoying to work with, because sometimes the elements don't scale properly, resolution is poor, or they require so much tweaking that I may as well have made my own and I didn't have time for all of that. I did actually try using some free UI assets this past weekend, and some parts look better but overall it doesn't quite fit the feel I was going for.
After putting it all together I think I noticed what I didn't really like about it, and frankly its probably something specific to only me or maybe people my age who remember a younger internet. But looking at this triggers flashbacks of web ads for games like Evony, for those of you who don't know what that is let me show you a recreation I made with Mons Badonicus:
I admit this is pretty damn subjective, and there is probably better art I could've found online somewhere. But this is my brains reasoning for avoiding free UI asset packs for anything other than standalone icons. If I revisit this project in the future I definitely would love to give the UI a nice upgrade, by that point I would hopefully have completed a couple projects that have a less bland interface.
Confusing UI
A bigger failure than the UI not looking good, is that for some players it ended up being pretty confusing and on reflection I can see why.
The most obvious issue is the slider to change game speed doesn't look like it controls the speed of the game. Someone pointed out to me how it looks it controls the zoom on the mini-map, which I agree with in hindsight. When I was working on the UI for it I decided to add the "1x" text next to the slider to indicate that the slider changes some value, and I figured it would draw players to see what it does. But the "1x" also makes perfect sense for magnification, and the slider is right underneath the mini-map so it would make sense that the slider was related. I did not even think of this during development, because I knew the mini-map was broken. But from the players perspective, if you think the map is broken and you move the slider and nothing appears to change (which can happen because there's no obvious indication aside from movement speed or the "Paused" text showing up if speed is set to zero) then it would be easy to think the slider is a zoom control that's just broken.
The slider should have had some time-related icon next to it like a clock or maybe have pause/play/fast forward icons above different sections of the slider. I think this would have indicated it served some purpose related to time, at the very least I should have added a tooltip describing the slide as controlling game speed.
The reason the game speed is controlled by a slider rather than have separate pause, slow motion, normal speed, 2x/3x speed is twofold. The first is that I've had issues in that past dealing with logic tied to many UI elements. When I work on games, elements of the UI get moved around or removed quite a lot, and this can result in certain elements not working because the component they were connected to is missing because it was moved in the hierarchy or the component was moved to another object. Having multiple buttons to control game speed would've made issues like this more likely to pop up, which could've ended up in the released game. And having certain speed controls not working could possibly leave the player at a game speed that isn't comfortable or fun to play at. If you want an example of how easy it can be for issues like this to creep in, the "concede defeat" button in the pause menu, which is supposed to bring the player back to the main menu, does absolutely nothing.
The other reason is that the first two Total War games used a slider to control game speed, and I actually found that control to be pretty quick. The only issue I found with it is that it wasn't easy to tell the exact value of said slider. Aside from that I found it to be quite straight forward and fast to change game speed. The point about speed-of-use is worth noting because one of my favourite games of the series, Medieval 2, had speed controlled by +/- buttons, which required multiple clicks to change to the desired speed. I wanted to make sure the UI wasn't too cumbersome, and I'm not sure the slider was the right idea but I think it was at least better than that implementation.
Oh and to circle back around, its also a pretty bad issue that the minimap is non-functional. I was initially going to have it display regiment icons similar to the ones shown in the battle map view, but once again ran out of time. But I guess I just liked the look of the map because I didn't remove it from the screen, which I probably should have done because render textures are expensive and having a broken minimap on the screen looks weird.
Last Minute Big Fix Attempt
One of the dumbest mistakes I made with development was to attempt to add a fairly big change to the AI on the last day. The issue was that units would not attack enemy units that bump into them. In testing, I tried to get an enemy infantry unit to chase after one of my archers and then intercept them with my own infantry. What always ended up happening is that the enemy infantry would ignore my own infantry and continue chasing the archers. And since the player controlled infantry is set to not automatically attack(this was so the players regiments wouldn't suddenly decide to disregard orders), they wouldn't attack enemy soldiers pushing right past them unless they're being attacked themselves. This was not an ideal situation since it meant the enemy could theoretically push right past the players soldiers, rendering the idea of having a "front line" completely meaningless.
I attempted to remedy this by settings units colliders to a trigger to test if an OnTriggerEnter check for another unit could prevent this issue from occurring. As you might guess, having hundreds of trigger calculations killed the framerate, so I removed the offending methods. Unfortunately I neglected to set the unit colliders back to non-trigger mode. And since all missile projectiles only applied damage and de-spawned after a collision, all missile attacks ended up passing through their targets. Thus in one foul swoop, I made missile units completely ineffective.
Now I guess it wasn't that bad an issue for most players, no one directly complained about projectiles being ineffective. But I also mentioned that projectiles dealt no damage in the jam Discord server so its possible several commenters knew that was an issue and ignored it. Though there was one comment that specifically mentioned moving archers into position, and I felt bad knowing the cool tactical maneuver they likely had in mind would have no effect.
From my own perspective it was frustrating because it rendered a lot of work I did during the jam to be pointless. All the effort that went into balancing the various missile damages, having a separate missile damage calculation, figuring out how to make projectiles fire in an arc properly, adding randomness to the accuracy, and even the logic for the "under fire" icon on the unit cards effectively went down the drain. Yes, there is actually an icon for units being under missile fire, but it only shows when a unit is actually hit by a projectile.
What Went Right
Solid Base For Unit Formation Logic
The logic for unit formation and placement was actually initially created by Jonas Mun as part of an open source tutorial for recreating the Total War style unit selection. I found a reddit post almost a year ago where the tutorial project was shown off, and my mind was blown because it actually looked like the unit formations from Total War! For some reason it didn't get much attention, but I made sure to save it because I knew I wanted to sink my teeth into the code and tutorial Jonas released. So once this jam rolled around I decided to take a look at the project and see how easy it was to recreate from the available code. Turns out following Jonas' tutorial it took almost no time to get a new project setup, and I started looking through the code. Even though I wasn't allowed to start actually working on it yet, I started to think in my mind "How would I take this and make it usable for an actual game?". And within a week, I was able to do it. The code was fairly clean to read, and anything I didn't understand I was able to figure out through reading the massive amount of documentation available online. By the end of the first weekend I was able to select multiple units with different sizes and spacing, and move them all at once with the units properly spread out. It wasn't perfect for my needs, as I still had to modify it to allow for selection of multiple regiments rather than a single list of gameobjects, and to set unit destinations with navmesh rather than just teleporting transforms to positions. But I was definitely standing on the shoulders of giants in my use of Jonas' code.
Some day I may write up a more technical devlog on how I changed the code to allow for multi-unit selection and movement, but that may be a ways away. In any case I whole-heartedly recommend anyone interested to check out the project itself.
Minor Quality of Life Features
This is an admittedly minor note, but I'm quite happy with a number of little touches in the game. The most notable for me is the tooltip is now responsive, and not only does it not go off the edge of the screen, it doesn't flicker horribly when the cursor goes over the tooltip UI. In my previous projects both these issues happened a fair bit, and thankfully it wasn't too hard to fix them. I did have to look at a few tutorials for responsive tooltips until I finally settled on some random StackOverflow post, but the result works fine. Ideally I would eventually like to have the tooltip UI flip sides when the cursor moves to close to either side of the screen so the cursor doesn't block any text. I also finally added separate header and content text boxes, so the header can be a different font size from the description. I think the next feature I'd like to have for tooltip description is to have varied text colors, so it could be used to indicate effects of items, abilities or even whether an NPC likes or dislikes you.
The ability to highlight all units and display unit destinations is another feature I'm happy made it into the game. I found it made it much clearer to tell apart player and AI units in messy melee combat. The display of a units destination also seemed helpful for judging their current distance from said destination. I do wish I could have figured out a way to draw the path a unit is currently taking with a line renderer or something, similar to how modern Total War games display a line between a units current position and its destination. I believe that would make it easier to separate what unit is moving where. Overall though I am pleased with how much was implemented in this area.
The separate options for game effects and music volume is something I wanted to have in previous projects but simply didn't have the time to do. I wanted the options in Mons Badonicus specifically because it is the sort of game where I would likely play a podcast or my own music in the background. Generally when I play games I turn the music off after a first playthrough, or when I've heard the in-game music enough. For games like Total War, you can play it for hundreds of hours, and only maybe 30-60 minutes of original music. So I usually end up listening to YouTube videos, podcasts or other music while I play, and I wanted to give players that same option. Also, I wanted to be able to playtest the game without having to listen to Kevin Macleod music for several hours straight, but still able to hear the game effects. So it was helpful for me during development as well.
To give you some insight to my development process, I usually listen to certain types of music to get me in the mood for different projects. When I worked on the Western shooter Stalewater, which I made for the So Bad Its Good game jam, I listened to country/country influenced songs alongside edgy 2000's rock music to get into the stupid mindset. When working on my horror project Sub Mortis, I listen to dark electronic or metal music along with a healthy dose of grunge. While working on Mons Badonicus, I listened to a lot of power metal since it captured that epic, energetic, fantasy feel like you're watching a big battle scene. I also listened to some darker tinged rock and black metal music because I felt it captured a dark, grim atmosphere which added to the more de-mythologized tone I was going for. I obviously couldn't use this music in the game because I'd rather not get sued, so being able to turn down the in-game music was a good benefit for me.
Something else I think players appreciated on the front end is dynamic cursor which changed to a sword icon when you could order a melee attack on enemy units, and a bow icon when you could order a missile attack. The cursor change combined with the clanging metal sound when an attack is ordered I think gave solid feedback that selected units are going to actually attack the assigned target. What I like about the dynamic cursor change is that on the backend it changes only when the cursor enters an enemy units collider or regiment banner. When I implemented a dynamic cursor in a previous project, it changed based on a raycast call in Update() which meant it was being called every frame. And it had to be checked quite often because in this project the player was interacting with lots of things in the environment. But the issue was that the cursor was being set to the default cursor every time it didn't detect something to interact with, so this caused some performance issues. That issue is absent in Mons Badonicus, so in future projects I plan to follow this refined logic for changing the players cursor.
LOD for Unit Models
Probably the biggest performance gain in the game comes form the fact that once the player zooms out enough, the 3D meshes of units are replaced with 2D sprites that face the camera. The sprites are just the unit icon that can be seen in the info panel or on unit cards. The sprites put far less stress on Unity since it didn't have to calculate lighting, or render animations. I almost wish I had started using LOD in previous projects, since some of them badly needed a performance boost, but at least now I'm more comfortable with how it works. The only downside of using sprites is that they were still images, if a unit was dead and the player zoomed out it looked like the dead units had sprung back to life because there were no sprites depicting dead units. Outside of that, I was happy with the LOD.
Refined Loading Screen Logic
Ok this one isn't really a plus to anyone except me. In previous projects I either had no loading screens, or changing to a loading screen was hard-coded in, and the loading screen only redirected to one level. With Mons Badonicus, I created a class which allows me to specify the level I want the game to load, and the game will pass that info to the loading screen, transition to the loading screen scene, and the loading screen will asynchronously load the level that was previously specified. This process may admittedly still not be perfect, but its much easier to make the game feel a bit more professional now.
Also I even created a system where the loading screens can randomly choose quotes to display. A quote is stored as a key, value pair with the quotes source and content serving the respective roles. The only pitfall with this system is that I didn't have time to actually fill in more quotes, so the only one in-game is the Gildas quote regarding Vortigern's invitation of the Saxons. For Mons Badonicus specifically it may have been better to just make the quote a static text, but for future projects this system could be extended for random hints and pieces of lore. I always like to think of multiple uses for a feature, and I think this is one that could see re-use in my future games.
Modular Units
The units in Mons Badonicus are another good progression in my goal of making NPC types easy to create. Every troop type uses the same base skeleton, and used the same base mesh provided by UMA. This allowed me to use the same animator for every unit, but with variables defining what animations they can access. I still had to manually place some things, like adding the proper unit highlights, projectile spawners, and weapon and helmet models. All of the AI and animation logic was handled automatically though, so it made adding more units reasonably easy.
To define a units characteristics, I created a generic unit class which tracked all values a unit would need such as its name, stats, attack styles and sound effects used. The values were stored in scriptable objects, which allowed me to define the individual troop types in the project and allow them to be saved. Here is what one such scriptable object looks like:
Individual regiments are assigned a "connectedUnit" value, which is used to instantiate unit instances with the attributes of the assigned unit. This setup allowed me to create new units with relative ease. Aside from making the character model, all I needed to do was create a new Unit object and set a few values in the inspector. A lot of the process is based off lessons I learned from making a grid inventory system for a previous project, but with the added benefit of most game logic modifying instances of an object and not the object itself. With the inventory system, weapon modifications and ammo count was tracked to the reference item and not an instance, which was a big screwup on my part that I still need to fix. When I get around to it, I'll likely be referring back to what I learned setting up the unit logic for Mons Badonicus.
I Made A F@%king Total War Clone In A Week
For the majority of this postmortem so far I've spoken about the ups and downs of certain features, visuals, historical and mythical facts, and other assorted issues. But for me all of that goes to the wayside when I stop and realize I managed to not only make a playable RTS battle but I managed to replicate a decent chunk of the mechanics of one of my favourite game series, which has been a goal of mine since I started playing RTS games. I can remember talking to friends when I was 8 or 9 years old about how cool it would be if we could make our own version of Age Of Mythology but with deeper tactical options, and one of them said "you know that game was made by like 100 people right?". I was a little dejected but I still held on to a small piece of that dream, which was revitalized when I discovered Total War in the early 2010's. For years I debated making my own mods for the game but from grades 7 through 11 school seemed to suck the motivation out of me so I never did. But once I took a programming course at the end of grade 12 I decided to start trying my hand at making at the very least a UI for a strategy game. And eerily enough, those earlier designs were also centered around Britain.
This core feeling is the main drive of why I was willing to sacrifice so much in order to get the base combat and controls working over polishing the visuals and UI. I wanted to have a base for a Total War style game, and I wanted it to be done during a jam because I find I work well when I have a set deadline and a short enough amount of time that I can't get too crazy with my ideas. In my mind if I finished ranked higher than dead last in the jam then I was successful. Having started numerous jam projects that didn't pan out for being too ambitious, I was worried this could be another case of something that had promise but fizzled out due to a lack of skill and proper scoping. A good example is my game Ja Wizardman, a game I started for the So Bad Its Good jam in 2020, which had an incredibly ambitious feature list. Even though I wasn't concerned with polish, considering the jam theme, it still ended up being over a month late and when it finally did release it was a broken mess.
The fact that I not only finished Mons Badonicus in a week, but that it isn't a complete wreck (although its still quite janky) is kind of shocking. On top of that, it ranked in the top ten out of 80 entries, a number of which are not only complete experiences but also much nicer looking and more enjoyable to play (there are a number of games that I don't think got the attention they deserved, even the winning entry had its rating scaled due to a lack of votes). My expectation was it would place somewhere in the bottom third, because although its quite ambitious and "advanced" for a jam game, its very niche. Strategy games in general are comparatively niche, especially in game jams, but even less people are likely to have played a Total War game. I'm honestly surprised more than 1 or 2 comments mentioned they are fans of the series. Also regarding more ambitious jam entries, I've submitted games that had ambition and advanced mechanics akin to Mons Badonicus, but they ended up falling into the bottom of the rankings. An interesting tech demo does not automatically equate to a fun jam game.
I'm proud of the fact that I was able to get so much work done in a short period of time on something so ambitious and have it not come out a complete dumpster fire. In hindsight Mons Badonicus could almost be considered possibly the dumbest idea I've had in game dev. In my Ja Wizardman postmortem I mentioned at length how trying an incredibly ambitious idea, with stuff I've never tried, and lots of AI interaction went really, REALLY badly. And then a month later I go and make a stupidly ambitious game that's almost exclusively based around AI interaction (even the players units are just controlled AI). Ja Wizardman's melee combat AI didn't go great with about 8 NPC's in its climactic "Battle of Stone Pass" and I decided to make a game with hundreds of NPC's engaged in melee combat. So I'm honestly shocked Mons Badonicus doesn't light peoples computers on fire as soon as it launches. What was really nice to see was players mentioning in the comments that they were fans of Total War and they liked Mons Badonicus, even mentioning how astounding it was that I managed to replicate so many things in only a week.
Future Work
In the near future I plan to release a post-jam patch which fixes the most obvious bugs and issues in the game. I also hope to alter the UI in some places to make it less confusing, along with an actual minimap and possibly an updated tutorial. I would also like to iron out a couple AI issues but that might be pushing it.
Beyond that, I don't really have any plans for major expansion on Mons Badonicus or the battle system for at least a year. My main focus for the rest of the year is currently on pushing out some final bugfixes for Stalewater and working on its sequel. Beyond that, I plan to take all the lessons I've learned and all the updated features and overhaul my major side project Sub Mortis. But it would be nice to occasionally revisit this battle system and implement a new feature or something like that. In the distant future I would love to make the system have the ability to include monsters and abilities like a mix of Total War: Warhammer and Age of Mythology. If I had the time or was already familiar with the grid formation code I probably would have tried to make a more mythological and less grounded version of King Arthur myths. One account of the battle has Arthur slaying 960 men by himself, it could have been fun to maybe have Arthur as a single man with super powered stats. Or I could have taken a bit more liberty with the myth and have Merlin as a spellcaster with the ability to throw fireballs.
It would also be fun to try and implement gun combat with the system, and figure out how to make regiments fire by rank. Ideally I think it would be fun to combine regiment formations and gun combat with more mythical creatures. As much as I love Total Warhammer, I do miss being able to put units into phalanx or shield wall formations.
This is kinda a last-minute side note, but it seems I wasn't the only one who thought trying to go for a de-mythologized interpretation of popular myths didn't work amazingly. Total War: Troy, which as mentioned previously was a "truth behind the myth" version of the Trojan War and Greek mythology, recently announced a new "Mythos" mode where you can actually use Griffons, Hydras, Centaurs and Cerberus.
I don't know if I can get a bigger sign than that for encouraging me to try more overtly mythical stuff.
As for my thoughts on Historically Accurate Game Jam, I would like to participate in it again, but it will depend on the theme and my availability at the time. If I were to do the jam again I am kinda split on what type of game I would do. Due to the rules of the jam I couldn't make another Mons Badonicus type game unless I effectively recreated the entire system, and I don't intend to do that. I would like to try a sort of Risk campaign style game where you can conquer different regions, maybe combined in with a thin implementation of the character system of Total War or Paradox games. This would be with the loooong term goal of combining it with the tactical battles of Mons Badonicus. Or I could make a first-person game, and work on some mechanics I would like to have in Sub Mortis or a future FPS project. The former idea would probably work better for experimenting with WebGL, which I think would be a big boost for getting people to try my games.
Something I was disappointed by with this jam is that despite the large numbers of people who joined, there were depressingly few ratings and comments left on most entries. For the over 1200 people who joined, there were 80 entries and only 964 ratings. The last So Bad Its Good jam on the other hand, had under 200 people join with 43 entries, but ended with 912 ratings. I definitely wasn't expecting everyone to try to play every game, the size of the jam I think made that a herculean task, but there was far less participation than I was expecting. There were several entries where developers wouldn't even seem to react or reply to comments on their game, which struck me as slightly odd, especially when they were team submissions. That being said, I'm a huge history fan, and I enjoyed playing many of the entries I tried and learning about myths I'd never heard of. So even if I don't participate in the next HAGJ I'll likely take a look at the submissions. I'd like to thank Holmgang, LeCaberu and Gogani for hosting the Historically Accurate jam, and my fellow jam devs who submitted fun games and took time to rate and provide feedback for Mons Badonicus.
Back to future development, I definitely intend to take the lessons learned from Mons Badonicus into my other planned projects. In fact I've already implemented the loading screen logic into Stalewater. From minor things like the improved tooltip logic, to major features like multi-level AI I think this game is comparable to Ja Wizardman in terms of it being a learning experience. It was a leap into a genre I've never developed for before, in a jam I've never submitted to previously, with a massively ambitious game. I don't plan on trying anything nearly this big for a game jam anytime soon, as fun as it can be it does soak up a lot of free time. From the start of the So Bad Its Good jam in May until after the Historically Accurate jam in July most of my free time was dedicated to working on games and game postmortems, and playing other entries in those game jams.
Also as a final note: I hope to not write a postmortem as long as this one for a long time.
Get Mons Badonicus
Mons Badonicus
A real-time tactical recreation of Arthurian myth
Status | Released |
Author | Enygmatic |
Genre | Strategy |
Tags | 3D, Alternate History, Celtic, Fantasy, Fast-Paced, Historical, Medieval, mythology |
More posts
- 2021 In ReviewDec 31, 2021
- Improve My Game Jam 17 UpdateSep 30, 2021
- (Yet Another) New Game!Jun 27, 2021
Leave a comment
Log in with itch.io to leave a comment.